Ubuntu 18.04 + CUDA10.1 + tensorflow2.3.0 + cuDNN 설치

<하드웨어>/GPU|2022. 1. 26. 22:52
반응형

1. 호환성 확인하기

아래 링크에서 호환성 꼭 확인하고 맞는 버전으로 설치하자. 호환성 안맞으면 에러가 눈물나게 많이난다. 

https://www.tensorflow.org/install/source#tested_build_configurations

 

2. CUDA 설치 

https://developer.nvidia.com/cuda-toolkit-archive   (여기서 맞는 cuda 버전확인하고 선택)

sudo apt-get install python3-pip  # pip3 안깔려있길래 설치

wget https://developer.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda-repo-ubuntu1804-10-1-local-10.1.168-418.67_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.168-418.67_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-1-local-10.1.168-418.67/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda

 ㄴ>  https://developer.nvidia.com/cuda-10.1-download-archive-update1?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=deblocal

 

2. 잘 설치됬는지 확인해보면 nvidia-smi 는 되고 nvcc -V 는 안될것 

아래처럼 CUDA 환경설정 세팅해주면 nvcc -V 잘 인식된다.

(참조 https://askubuntu.com/questions/885610/nvcc-version-command-says-nvcc-is-not-installed )

export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64
export PATH=$PATH:$CUDA_HOME/bin


# tensorflow 실행도중 에러나길래 추가해줌
# rm -r 로 파일을 지웠을때 이 세팅을 꼭 다시 실행해줘야 tensorboard 실행할떄 문제가 없었다
export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64

** nvidia-smi 의 쿠다버전과 nvcc -V 쿠다 버전이 다르다 => nvcc -V 는 현재 사용중인 쿠다버전, nvidia-smi 는 사용하고 있는 드라이버의 추천 쿠다버전임

 

3. 여기까지만 설치하면, tensorflow 에서 gpu 인식을 못해서 CPU 만 사용하게됨. GPU도 인식시키고 사용하기위해선 cuDNN 설치해야함

https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/

ㄴ 위 링크에서 1) libcudnn  2) libcudnn7-dev  이렇게 생긴파일을 찾아서 순서대로 다운로드해주고 설치해준다 

(**순서대로, 순서반대로하면 에러남)

wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7_7.6.4.38-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7_7.6.4.38-1+cuda10.1_amd64.deb
wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7-dev_7.6.4.38-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.4.38-1+cuda10.1_amd64.deb

 

다 깔았으면 텐서플로우도 깔아준다. 

pip3 install tensorflow==2.3.0

 

 

텐서플로우에서 GPU 잘 사용가능한지 확인해본다

python3
import tensorflow
tensorflow.test.is_gpu_available()

결과가 TRUE 가 나오면 GPU 정상적으로 잘 사용가능하다 이말이고, False 나오면 GPU 인식 못하겠다 이말

 

만약 에러가 났다면 에러난곳을 대충 뜯어보면 다음과같은 에러가 날것.

ERROR : 2022-01-25 04:50:47.215892: E tensorflow/stream_executor/cuda/cuda_dnn.cc:318] Loaded runtime CuDNN library: 7.5.0 but source was compiled with: 7.6.4. CuDNN library major and minor version needs to match or have higher minor version in case of CuDNN 7.0 or later version. If using a binary install, upgrade your CuDNN library. If building from sources, make sure the library loaded at runtime is compatible with the version specified during compile configuration.

=> 7.5.0을 깔았는데 7.6.4버전 깔라고 하는소리다. (위에서는 7.6.4를 깔아서 문제없을것) 

그러면 아래코드에서 권장하는 버전으로 바꿔서 다시 깔아주면 잘 작동할거다 끝~

wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7_7.6.4.38-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7_7.6.4.38-1+cuda10.1_amd64.deb
wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7-dev_7.6.4.38-1+cuda10.1_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.4.38-1+cuda10.1_amd64.deb
반응형

댓글()