2019년 1월 19일 토요일

텐서플로우(Tensorflow) GPU설치 (이보다 더 쉬울 수는 없다!)

딥러닝의 가장 주목받는 라이브러리 중 하나인 텐서플로우는 GPU를 이용한 가속이 가능하며 GPU가속을 사용할 경우 CPU연산에 비해 탁월하게 빠른 속도의 구현이 가능해 진다.

 그러나..., 이 작업이 OS와 상관없이 그렇게 녹록하지 않은 작업이었던 것이

 텐서플로우 + CUDA TOOLKIT + CuDNN

이렇게 3개의 라이브러리의 버전 조합이 반드시 맞아야만 제대로 텐서플로우는 작동되고 이중 하나라도 조합이 맞지 않으면 당장 import tensorflow 명령어에서 파이썬 중계기가 뻗어 배째라는 광경을 볼수 있을 것이다.

그러나 오늘 발견한 방법은 드라이버만 설치해 주면 나머지는 버전을 지정하거나 아예 자동으로 맞추어 주는 것이 가능한 방법이니 반드시 테스트 해보길 바란다.

원본 자료 : https://medium.com/datadriveninvestor/install-tensorflow-gpu-to-use-nvidia-gpu-on-ubuntu-18-04-do-ai-71b0ce64ebc5


1) 우선은 리눅스(우분투 18.04 혹은 18.10)를 설치한다.(혹은 설치한 리얼컴퓨터가 필요하다. CUDA를 사용해야 하니 당연히 nvidia 그래픽 카드가 설치된 컴퓨터야 한다)

2-1) 리눅스의 경우 다음과 같이 명령한다.
sudo apt update
sudo ubuntu-drivers autoinstall
sudo reboot
(맨 마지막 줄을 실행하면 재 부팅한다)

재부팅 후
nvidia-smi 라고 실행해 그래픽 카드의 드라이버가 잘 설치되었는지 등등을 확인한다.

2-2) 윈도우의 경우 그냥 nvidia 윈도우 드라이버를 설치한다.


2) 아나콘다 가장 최신판을 다운로드한다.(OS에 맞게)

2-1)리눅스판의 경우 CUI기반으로 설치하는데

sh ./Anaconda+xxxx.sh

와 같은 형태로 실행 시키면 터미널에서 작동한다. 이때 한가지 주의할 점은 sudo 권한이 아니어야한다는 점이어야 한다는 점이다.

2-2) 설치되면 다시 한 번 터미널을 껏다 켜주고서

2-3) 이제 제일 중요한 대망의 텐서플로우 설치

conda create -n tensorflow_gpu(이건 원하는 대로 작명) python=3.6 tensorflow-gpu==1.12 cudatoolkit==9.0 cudnn=7.1.2 h5py ipython (등등등 원하는 대로 설치)

추가사항 : 아래의 링크에서 자기 그래픽카드(정확하게는 드라이버 버전)가 지원 가능한 cudatoolkit의 버전을 확인해 보자. 최근의 텐서플로우나 케라스 버전은 CUDA 10버전을 기준으로 작동하는데 이게 자기 GPU에서 꼭 작동한다는 법은 없다.

GPU의 연산 버전(compute version)
https://developer.nvidia.com/cuda-gpus

아래의 링크에서는 툴킷 버전 확인
https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver

2-4) 환경을 활성화 해준 뒤
conda activate tensorflow_gpu

ipython 이든 뭐든 원하는대로 사용하면 설치 끝.

3-1) 윈도우 환경의 경우 ANACONDA NAVIGATOR로 똑같이 해주면 된다.

정리하면 OS와 드라이버만 OS차원에서 설치해 주고 나머지는 아나콘다에서 설치해 주면 된다는 뜻이다.

댓글 없음:

댓글 쓰기