목록분류 전체보기 (252)
Joonas' Note
이전 글 - [딥러닝 기록] 시작하기 - 개 vs 고양이 분류 [딥러닝 기록] 시작하기 - 개 vs 고양이 분류 딥러닝을 공부하면서, 헷갈리는 내용이나 앞으로 알아봐야 할 내용들을 블로그에 정리하기로 했다. 까먹는 일이 부지기수고, 오래되면서 머릿 속에 있던 지식들이 섞이면서 점점 헷갈리고 있어 blog.joonas.io 모델 작성 데이터 셋이 어떤 구성으로 되어있는 지 알아보았고, 이제 그 데이터 셋으로 학습을 할 때다. 모델은 CNN 구조로, kaggle에서 돌아다니는 여러 노트북들을 보며 작성했다. 기본적인 개념은 Convolution으로 어떤 window 단위로 특징을 추출하고, 추출한 값에서 최대만 다시 추려내는 Max pooling, 그리고 사이사이에 활성화 함수로 ReLU가 있다. 이렇게를 ..
딥러닝을 공부하면서, 헷갈리는 내용이나 앞으로 알아봐야 할 내용들을 블로그에 정리하기로 했다. 까먹는 일이 부지기수고, 오래되면서 머릿 속에 있던 지식들이 섞이면서 점점 헷갈리고 있어서이다. 특히, 이론으로만 공부하기에는 부족해서 kaggle을 통해 실제 데이터로 모델도 작성해보고, 실행하면서 성능도 측정할 것이다. 몇몇 튜토리얼들을 보았는데, 타이타닉 예시가 보기에 좋았다. 수비니움의 캐글 따라하기 Machine Learning for Everyone!! subinium.github.io 데이터를 중심으로 학습하기 때문에, 전처리에 있어서 어떤 것이 가능하고 어떤 가공을 거치는 지 알 수 있기 때문에 좋았다. 개, 그리고 고양이 아주 오래된 Competition이지만, 개와 고양이 분류는 아주 유명하기..
나는 기계학습 수업을 들을 당시에는, 지금처럼 널리 알려지지 않았고 계속 새로운 논문이 쏟아지고 있었다. 그래서 상당히 고전적인 이론과 기법들을 배웠었는데, 졸업 후에 딥러닝을 공부해보겠다고 Tensorflow로 공부했는데 수학적인 부분이 많아서 너무 어려웠다. PyTorch는 굉장히 파이토닉(pytonic)하다고 들어서 항상 궁금했었다. 그러다 우연한 기회로 이 책의 서평 모집글을 읽었고, 이번에 파이토치에 입문해보고자 서평에 지원하였고 운이 좋게도 참여하게 되었다. 저자의 머리말을 보면, 이 책이 다루는 범위는 아주 포괄적이다. 따라서 기계학습과 딥러닝에 어느 정도 기본적인 개념을 가지고 있는 사람에게 이 책을 추천한다. 대학교나 유튜브에서 이론 수업만 공부했다면 어느 정도 읽을 수 있을 것이다. 저..
vscode의 확장 프로그램(extension)은 javascript 베이스이기 때문에, javascript/ES6/Typescript 로 개발해야한다. (vscode가 electron 프레임워크로 개발한 웹 애플리케이션이기 때문에 그럴 것이라고 추측한다) 간단하게 작성하기에는 package.json 이라던 지 node 세팅이라던 지 귀찮은 환경 세팅들이 많아서 python으로 만들 수 없는 지 찾다가 이런 프로젝트를 찾았다. GitHub - CodeWithSwastik/vscode-ext: Create VSCode Extensions with python Create VSCode Extensions with python. Contribute to CodeWithSwastik/vscode-ext deve..
GitHub GitHub에 재미를 붙였다. 2021년에는 특히 GitHub Actions를 많이 활용해보았다. 그러다보니 봇이 내 계정으로 커밋한 것도 잔디로 찍혀서 나중에 수정을 하긴 했는데, 생각난 김에 contribution 기록을 전부 모아보기로 했다. (잔디만) 1~3개월마다 무언가를 한 모양이다. 2021년에는 특히 다른 repository에 PR을 많이 해보려고 했고, 그렇게 되었다. 가장 쉬운 PR은 주로 문서 번역인 것은 틀림없다. BOJ Extended 2022년 1월 현재, 크롬 웹스토어에만 사용자가 약 700명이 되었다. 처음에는 백준 온라인 저지에서 사라진 기능이 아쉬워서 살려보려고 만든 거였는데, (https://joonas.tistory.com/176 참고) 이것 저것 (다크모..
VSCode에서 터미널로 git bash를 열어 git pull 등의 원격지와의 통신을 할 때, 올바른 username과 password를 입력해도 로그인에 실패하거나 private repo를 못 찾는 경우가 있었다. SSH 설정도 문제가 아니었고, 2-factor auth도 문제가 아니었다. GitHub의 token 문제도 아니었다. VSCode가 아닌 git bash 터미널을 별도로 직접 실행하면 해결되었다.
문득 그런 생각이 들었다. 사람들이 자신의 자동차 번호판을 고를 때, 외우기 쉬운 배열을 많이 고르지 않을까? 그럼, 숫자가 겹치면 외우기 쉬우니까 그런 차량이 많이 있으려나? 위는 근거 없는 추측일뿐이지만, 실제로 도로 위에서 숫자가 겹치는 번호판은 정말 많다. 그럼 정말로 도로 위의 차량 중에서 숫자가 겹치는 번호판을 만날 확률은 얼마나 될까? 먼저 번호판은 0 으로 시작하지 않으므로, 1000 부터 9999 까지 등장할 수 있다. 그럼 뒤 4자리(XX가 YYYY 중에서 YYYY)가 겹칠 확률만 계산해보자. def collide(n): a = {} for i in n: if i in a: return 1 a[i] = 1 return 0 cnt = 0 s = 0 for i in range(1000, 1..
localStorage에 저장해야하는 기능이 필요해서 redux-persist를 사용하고 있었다. 하지만 모든 reducer가 localStorage에 저장되어야 하는 것은 아니었기 때문에, 분리하여 관리하고 싶었다. 즉, 일부는 localStorage를 store로, 일부는 redux에서 생성한 store를 사용하는 것이다. Context API를 쓰기에는 Provider를 추가하고 다른 곳에서 쓸 수 있게 작업하는 것도 필요해서 꼭 이렇게까지 해야할까 생각하고 있었는데, 후배가 문서의 nested-persists를 읽어보니 설정을 reducer마다 구분하여 지정할 수 있다고 하였다. https://www.npmjs.com/package/redux-persist#nested-persists redux-..