Categories
tech note

Pytorch #02: 60분만에 끝장내기

Pytorch로 딥러닝하기: 60분만에 끝장내기

https://tutorials.pytorch.kr/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py

Categories
[20-2] computer vision

[20-2] Computer Vision: lecture 01

History of computer vision

Categories
asside quote

뛰어난 프로그래머의 유형

뛰어난 프로그래머에 대한 생각. 크게 분류하면 두가지 종류의 사람들이 있는데…

첫째 부류는 <디자인 패턴>파. 이 부류는 코드의 퀄리티, 문서화, long term maintenance를 중요하게 생각. 문제에 딱 맞는 디자인 패턴을 가져와 “아름다운” 코드를 만든다. Unit 테스트도 충실해서 디플로이 했을때 버그가 나오는 경우가 거의 없다. 워라벨이 중요해 심하게 일하지 않는다.

<디자인 패턴> 파의 문제는 “속도”. 문제는 제대로 해결하지만 진행 속도가 느리다. 당장 서버가 불타고 매니저 속이 타들어가도 제대로 문제를 해결하길 원한다. 제대로 해결하면 그런문제는 더 안발생할거라 얘기하지만, 현실은 꼭 그렇지 않다. 모든 문제가 예측가능하진 않기 때문에.

둘째 부류는 <해커>파. 불타는 문제에 뛰어들어 핵심을 파악하고 코드 몇줄로 해결하는 열정파. 필요하면 리눅스 커널까지 다 파고 들어간다. 서버와 매니저 마음이 불탈때 빠른 시간안에 식혀준다. 컴퓨터 자체를 좋아하고 워낙 많이 아는 사람들이다.

<해커>파 문제는 팀에 가는 long term 영향. 패턴보단 찌르는 핵심을 원하기 때문에 코드 퀄리티를 낮출수 있다. 프로세스를 무시하고 문제를 해결하기 때문에 QA, TPM등 그룹이 싫어한다. 문서화를 안 좋아해 팀에 지식이 잘 전달되지 않는다. 밤 늦게까지 일하기 때문에 팀의 워라벨에 영향.

내가 생각하는 가장 뛰어난 사람들은 <패턴>과 <해커> 경계를 넘나드는 <적응형> 사람들. 상황에 따라 본인의 성향을 적응(adapt) 시키며 한 성향에 머물지 않는다. 예를들어 <해커> 역할로 미친듯이 문제를 해결한후 그 과정을 문서화해 지식전달에도 최선을 다한다.

때로 long-term으로 해결할 “좋은 문제”들은 <해커>의 기질로 깊이있게 들어갈때 “발견”한다. 그때 발견한 문제들을 팀에 전달하고, <패턴> 파의 사람들이 제대로 문제를 해결할수 있도록 가이드한다. 팀에 공헌이 가장 큰 사람들은 좋은 문제를 발견하는 <적응형>이다.

https://twitter.com/sm_park/status/1288901023189184512
Categories
tech note

Pytorch #01

Install on Windows 10

Windows 10 Pro 64bit에 CUDA toolkit 10.2 기반의 Pytorch를 설치하기로 한다. 전체적인 과정은 여기를 참조해서 진행한다.

먼저 Anaconda를 이용해서 설치하기로 결정하고, Anaconda Windows 64bit graphic installer를 다운로드 받아서 설치를 진행했다. Anaconda 설치 이후에는 Anaconda prompt를 관리자 권한으로 실행하고 아래의 코드를 실행해 Pytorch를 설치하였다.

conda install pytorch torchvision cudatoolkit=10.2 -c pytorch

Install on macOS Catalina

마찬가지로 macOS Catalina에 Pytorch를 설치하기 위해 같은 링크를 참조해서 진행한다. 사용하는 MacBook Pro가 nVidia 칩셋을 사용하지 않으므로 CUDA는 지원 불가능하다.

먼저 Anaconda를 역시 동일하게 macOS 64bit graphic installer를 다운로드 받아서 설치했다. 그리고 Anaconda를 설치하고 별도의 Anaconda가 제공하는 prompt가 아니라 macOS의 terminal에서 아래의 코드를 실행해 Pytorch를 설치했다.

conda install pytorch torchvision -c pytorch

Anaconda Environment

https://gracefulprograming.tistory.com/124
Anaconda는 Windows에서 두 가지 환경을 제공하는 것 같다. 하나는 앞서 사용해본 prompt, 다른 하나는 navigator.

Navigator는 여러가지 IDE를 제공하고 여기에 역시 jupyter notebook이 있어서 이걸 붙잡고 하기로 마음먹었다.

Jupyter Notebook

Anaconda prompt에서 아래를 실행하면 jupyter_notebook_config.py를 생성하고 그 경로를 알려주는데, 이 파일을 열어 c.NotebookApp.notebook_dir를 찾아서 여기에 기본 경로를 설정할 수 있다. 물론 주석 처리도 해제해야 한다.

jupyter notebook --generate-config

Reference