본문 바로가기

Linux/Ubuntu

[Ubuntu] 18.04로 tensorflow gpu + pycharm 설정

Setting

- Ubuntu 18.04
- tensorflow-gpu 1.8.0
- cuda 9.0
- cudnn 7.1.4
- pycharm pro



1. CUDA 설치

1- 1 Graphic드라이버가 잘 설치 되었는지 확인하자

sudo ubuntu-drivers autoinstall

install이 끝나고, reboot 한 번해주면 된다.


참고 사이트: https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-18-04-bionic-beaver-linux


다양한 설치법이 있다... 나는 autoinstall 하고 reboot하니깐 잘 설치되었다.


1- 2 CUDA 설치하기


현재 최신 CUDA버전은 9.2이다. 나도 처음에 9.2버전을 설치했는데 tensorflow-gpu가 오류가나서 그냥 다시 9.0 버전을 설치했다..

tensorflow 공식 홈페이지에서도 9.0을 권장하고 있었다.


tensorflow 공식 홈페이지의 tf 설치법: https://www.tensorflow.org/install/install_linux#NVIDIARequirements


https://developer.nvidia.com/cuda-90-download-archive 에서 cuda 9.0을 설치하자.



난 ubuntu 18.04 이지만 17.04해도 잘된다.


다운로드가 다 됬으면,


파일이 있는곳에가서


./cuda_9.0.176_384.81_linux.run --override

으로 설치해주자..!


그리고 혹시나 환경변수가 자동으로 안들어 갔으면 환경변수를 넣어주자!


cd
sudo nano ~/.bashrc

맨 아랫줄에


export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH


를 추가해 주었다.


source ~/.bashrc

까지 해주면 끝이다.



1-3 cudnn 설치


https://developer.nvidia.com/cudnn


위의 링크에서 내 CUDA 버전에 맞는 cuddn을 설치하자 (나는 7.1.4를 다운받았다.)


그리고, tar로 압축을 풀고, (tar xvzf cuddn*)


파일을 복사&권한 변경을 해줘야한다.


sudo cp cuda/include/cudnn.h /usr/local/cuda/include

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*



1-4 conda 가상환경에 tensorflow-gpu 설치


conda env create --name [name] python=3.6

우선 conda를 이용하여 pycharm에서 사용할 virtualenv를 만들어 주자


conda설치 url: https://conda.io/docs/user-guide/install/linux.html


source activate [name]

으로 내 가상환경에 들어가자



그럼 터미널 옆에 ([name]) 요로코롬 들어간 것을 확인할 수 있다.


그 다음


pip install --upgrade pip

pip install tensorflow-gpu

로 텐서플로우 gpu 버전을 인스톨한다. (conda 가상환경에서 pip 업그레이드를 한번 해줘야한다.)


그다음 터미널에서 잘되는지 확인하자.


python

>>>> import tensorflow as tf

>>>> tf.Session()

Session만 실행해서 메모리에 올라가는지 확인하면 가상환경에 설치가 끝난거다.


pycharm을 안쓴다면 여기까지가 끝이다.



1.5 pycharm에서 설정


pychram에 들어가서 [ctrl] + [alt] + [s] or [File] -> [Settings] -> search interpreter, -> [project interpreter]




여기서 보라색 톱니바퀴를 눌러준다.




여기서 오르쪽 [+]를 선택해준다.



좌측 [Conda Environment] 탭을 선택하고, Existing environment를 선택해서 ~/Anaconda/envs/[name]/bin/python 을 선택해준다.


웬만하면 알아서 conda위치를 찾아준다. 근데 여러개의 envs가 있으면 내가 원하는 envs의 bin속의 python을 선택해주자.


마지막으로.. tensorflow 확인을 하면 pycharm에서는 실행이 안된다.. terminal이랑 같은 방법을 썻는데도 안되는 불상사가 일어나게 된다.


오랜 사투끝에.... 구글링을 통해 알아냈다.


파이참 유저는 ~/.bashrc에 뭔가 추가 시켜줘야 한다고 했다..


cd

sudo nano ~/.bashrc

맨 아랫줄에


export CUDA_HOME=${CUDA_HOME}:/usr/local/cuda:/usr/local/cuda-9.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64


이 환경변수를 추가해주었더니 거짓말처럼 작동 되었다!


pycharm terminal에서 hello world를 출력해보자


$source activate [name]

$python

>>>> import tensorflow as tf

>>>> hello = tf.constant('hello, world!)

>>>> sess = tf.Session()

>>>> print(sess.run(hello))