Pytorch는 페이스북이 구글의 Tensorflow에 맞서기 위해 개발한 딥러닝 프레임워크이다.
개발 과정에 엔비디아가 참여해서 그런지, 크게 밀어주고 있다고 한다.
Pytorch는 딥러닝 프레임워크의 후발 주자로서 다음과 같은 주요 특징을 가지고 있다.
Python에 종속적: 이름부터 Pytorch인 만큼, 파이썬에 종속적인 프레임워크다. 파이썬 개념을 Pytorch는 그대로 지원하기 때문에 더 빠르고 효율적이다.
Numpy 기반: 요즘의 딥러닝 환경에서 표준이 되는 Numpy를 기반으로 작동한다. 이건 지금에 와서는 당연한 수순.
Autograd: 오류를 반영하기 위한 역전파를 backward 메서드로 한번에 실행한다. 이것도 요즘에 와서는 표준이기 때문에 당연히 지원한다.
동적그래프: Tensorflow와 가장 큰 차이점이 세션이 없어 구조 변경에 유리하다는 점인데, 결국 Tensorflow가 포기하고 2.0으로 바꿔면서 세션을 버렸다(ㅋㅋㅋㅋ)
2. Installation
Pytorch는 Tensorflow와 마찬가지로 GPU acceleration을 지원한다. 하지만 엔비디아의 CUDA만을 지원하기 때문에 다른 회사의 그래픽카드 (e.g. AMD의 라데온)를 사용한다면 Pytorch의 GPU 가속을 사용할 수 없다. 이런 경우는 로컬에서 할 생각 말고 갓-구글에서 지원해주는 구글 콜랩을 이용하자.
자기가 어떤 그래픽카드를 쓰는지도 모르는 사람이 딥러닝을 하려고 하지는 않을 거라 생각한다만, 혹시라도 모르는 사람은 cpu-z로 자신이 어떤 그래픽카드를 사용하는지 확인하자.
2.1 Anaconda & Virtual environment & Pytorch
일단, 아나콘다부터 설치하자. 아나콘다는 머신러닝 관련 패키지를 쉽게 관리하게 해주는 오픈 소스 프로젝트인데, 흔히 사용하는 Jupyter Notebook이 여기에 들어있다. 설치는 어렵지 않으니까 아래 링크에서 설치하도록 하자.