새소식

반응형
컴퓨터공학 (Computer Science)/┗ 인공신경망 | Neural Network

딥러닝 환경 구축하기 - Pytorch (파이토치) 설치

  • -
반응형

1. Introduction

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이 여기에 들어있다. 설치는 어렵지 않으니까 아래 링크에서 설치하도록 하자.

https://www.anaconda.com/products/individual

설치가 끝나면 아나콘다 프롬프트를 실행하도록 한다. (웬만하면, 그냥 시작누르고 anaconda 치면 뜰거다.)

머신러닝 환경은 설치할게 진짜 ㄱ같이 많기 때문에 다른 설치 환경을 건드릴 확률이 높다. 따라서 가상환경에서 작업하는 것이 좋은 편인데 이를 위해 다음과 같이 아나콘다 프롬프트에 입력한다.

conda create -n pytorch python=3.7

3.7은 파이썬 버전이다. 자신에게 맞는 파이썬 버전을 선택하도록 한다. 입력하면 뭔가 설치해야한다고 요구 (pip 최신버전 등등)할 수도 있다. 설치하도록 하자.

저 명령어의 뜻은 pytorch라는 이름을 가진 python 3.7 기반의 가상환경을 만들겠다는 것이다. 

그 후, 다음과 같은 명령어를 입력하면?

activate pytorch

pytorch 가상환경에 접속하게 된다. 명령어 앞에 (base)가 (pytorch)로 바뀌었다면 성공한거다.

이제 여기에 온갖 pytorch관련 패키지들을 설치할거다.

바로 conda install pytorch를 치면...

설치 안됨ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

https://pytorch.org/

 

PyTorch

An open source deep learning platform that provides a seamless path from research prototyping to production deployment.

pytorch.org

Pytorch는 환경별로 설치에 애로사항이 쥰내 많기 때문에 홈페이지에서 설치 명령어를 따로 준다.

stable - (자기 OS) - conda - python - (자기 CUDA version)을 선택하고 밑에 뜨는 커맨드를 복사해서 프롬프트에 입력하자. 아마 Pytorch 본체 말고도 설치할거 쥰내 많을 거다. 오래 걸릴테니 다음으로 넘어가자.

2.2 CUDA & cuDNN

다음은 CUDA 차례다.

https://developer.nvidia.com/cuda-toolkit-archive

 

CUDA Toolkit Archive

Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production

developer.nvidia.com

링크에서 CUDA 10.1 또는 10.2 버전을 받도록 하자. 최신버전인 11버전은 2020.07.07 기준으로 Pytorch에서 지원하지 않는다.

설치하는데 오래걸리니까 설치 눌러놓고 계속 다음꺼 ㄱㄱ

https://developer.nvidia.com/rdp/cudnn-download

해당 링크에서 cuDNN을 받을 수 있는데 Nvidia 회원가입을 해야한다. 구글 계정으로 만들 수 있으니 이번기회에 해놓자. 반드시 앞에서 받은 CUDA와 같은 버전을 받아야한다.

cuDNN은 딥러닝에서 주로 수행되는 텐서 계산을 효율적으로 하게 도와준다.

아마, cuDNN이 2~300메가 쯤 되기 때문에 먼저 받아질거라고 생각한다. 압축을 풀어보자.

cuda 폴더 안에 bin, include, lib폴더 있을 건데, 얘들을 CUDA 설치가 끝난 뒤에 CUDA 설치 폴더 (본인은 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA 였음.)에 복붙하자.

2.3 Check

프롬프트에서 Pytorch까지 설치가 끝났으면, 프롬프트에 python 입력하고 다음과 같이 코딩해보자.

import torch
torch.cuda.get_device_name(0)
// 자기 GPU
torch.cuda.is_available()
// True나오면 GPU 가속 사용가능
torch.version.cuda
// CUDA 버전 확인

2.4 VS code

본인은 Jupyter Notebook 외에도 VS code를 사용하기도 하는데, 여기서 위의 가상환경을 사용하려면 아래 이미지의 화살표를 선택해서 인터프리터를 아까 가상환경의 이름 "pytorch"로 바꿔주어야 한다.

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.