Study-Machine Learning에 해당하는 글 11

혼자 해보는 Pytorch 튜토리얼 -1- Anaconda 설치하기

0. 왜 Pytorch 인가?

머신러닝 특히 딥러닝을 위해서 많은 솔루션이 제공되고 있다. 구글의 TensorFlow1가 그것이고, Caffe2 그리고 Keras3 또한 그것이다. 이외에도 많은 솔루션(라이브러리)들이 제공되고 있다. 하지만 나는 Pytorch로 시작하고자 한다. 우선 Caffe는 빠른 속도등 장점이 많지만, 이미지 처리에 제한되기 쉽다는 단점이 있다. 또한, 새로운 GPU Layer에 대해 CUDA코드를 거진 직접 작성해야 한다는 장벽이 있다. Keras는 간편한 인터페이스와 사용법 등의 장점이 있지만, 조금 더 테크니컬 하게 공부해 보고자 하는 나의 목적엔 다소 알맞지 않았다. 4
내게 남은 선택지는 TensorFlow와 Pytorch였다. 개인적으로는 조금 더 Low-level driven architecture인 TensorFlow를 공부해 보고자 했지만, Tensor는 공부 이후에 사용해 보고자 할때에도 Low-level로 진행하여야 하고, 계산이 TensorFlow layer 내부에서 이뤄지기 때문에 디버깅의 어려움 그리고, Static한 모델 구조(모델 작성 이후 변경이 까다로움)등 문제점이 있었으며, 무엇보다 Pythonistic 하지 않았다.
Pytorch의 경우 기존 Lua로 작성된 Torch를 Python에 알맞게 포팅(?)한 것으로 역시 C로 작성된 Under-layer가 존재하므로 다른 솔루션들 만큼 빠른 속도를 보여준다. 그러면서도 Python의 철학에 맞는 구조가 매력적이다. 물론 이제 공부를 시작하는 만큼, 정확하지 않은 정보도 많을 것 이고, 심지어 틀린 내용이 있을지도 모른다. 이 글을 읽다가 발견하시는 분은 기탄없는 의견을 댓글로 달아주시기 바란다.

1. Python 설치하기

Pytorch를 사용하기에 앞서, Pytorch를 GPU에서 사용할지, CPU에서 사용할지 정할 필요가 있다. 나는 우선 GPU를 사용하는 Pytorch를 Windows 환경에서 설치 및 사용해 보기로 했다.5
내 컴퓨터에 꽂혀있는 GPU는 1050ti로 사실 딥러닝을 하기에는 부족한 환경이지만, Nvidia님이 얼마나 발전 하셨는가를 보자. 와… 무려 Titan과 같은 성능이라고 하신다…(찬양 경배)
Rough performance comparisons between GPUs. This comparison is only valid for large workloads.
Rough performance comparisons between GPUs. This comparison is only valid for large workloads.6

그럼 성능에 대한 걱정 없이(정말?) 설치 및 실행해 보기로 하자. 설치는 Anaconda7의 도움을 받기로 한다.

1.1 Anaconda

아나콘다는 Windows, MacOS, Linux 등 다양한 환경을 위해 만들어진 Python설치 매니저 이다. 아나콘다 에서는 좀 더 편리한 라이브러리 설치 등 환경 구축과, Python을 사용하다 보면 자주 겪는, 버전 이슈8관리를 쉽게 하도록 도와준다. 다음 링크에 들어가서 아나콘다를 다운 받도록 한다. 나는 개인적으로 Python 2.7 Version을 좋아하지만, 3버전이 나왔는데 쓰지 않을 이유도 없다.(2버전을 쓰겠다는 나의 결심에 대해, 다른 Python 사용자의 한마디가 나를 할 말이 없게 했다. Why not?)
Imgur
본인 OS에 알맞은 bit의 아나콘다를 다운받고 설치 하자. 대부분의 Windows10 유저라면, 64-Bit일 것이다. (혼자 했으면 금방 끝났을 일 인데, 적어가면서 하니 한세월이다…)

설치 과정은 당연히도 다음, 다음, 다음, 네 만 누르면 되는데, 몇가지 주의해야 할 부분이 있다.
Imgur
우선 All Users 로 설치 하는것이 미래를 위해 좋다. 여기서 Just Me 로 설치할 경우 향후, 각종 라이브러리 등 설치 시, 구글 검색에 나온대로만 하면, 문제가 발생하기도 한다. 여러분들이 CS 전문가 라면 물론 해결 가능한 문제지만.

Imgur
마치, 하면 안된다는 듯, 붉게 보이지만, 하는 편이 좋다. 경고문구에서 나와있듯, 재설치 및 삭제 등에 문제를 일으키기도 한다. 하지만 저걸 체크하지 않으면, 역시 구글 검색에 나온대로만 하면 문제가 발생하기도 한다.

자, 이제 설치가 끝났을것이다.
아니면 진행중이거나. 커피 한 잔 마시고 돌아오겠다.


  1. 구글이 만들고 제공하는 머신러닝 라이브러리로 현재 가장 넓은 사용자층과 구글이 작성한 Document등 환경지원이 훌륭하다. ↩︎

  2. C또는 Matlab 으로 작성된 머신러닝 라이브러리로 Python API가 제공된다. ↩︎

  3. 다른 딥러닝 프레임워크를 사용하는 일종의 레이어로, TensorFlow 또는 Theano 등을 사용하여 Keras API를 통해 사용할 수 있게 해준다. ↩︎

  4. 물론 현재 나오는 논문의 80~90%는 Keras로 가능하다고 한다. ↩︎

  5. 개발에는 주로 Linux를 사용하기는 하지만, GPU가 꽂혀있는 PC는 Windows 환경이다. 왜냐고? 게임 해야지. ↩︎

  6. 출처 : # Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning ↩︎

  7. 링크 참조 ↩︎

  8. 설치한 라이브러리들이 같은 라이브러리의 서로 다른 버전에 종속성을 가지는 이슈가 발생한다… 이를 해결하기 위해 각 프로젝트별로 다른 Python 종속성을 가지게 하는 VirtualEnv등 방법을 사용한다. ↩︎

댓글()