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
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
'<하드웨어> > GPU' 카테고리의 다른 글
멀티GPU -> 단일GPU만 사용 + NVIDIA SMI GPU util 이 낮을때 (0) | 2022.01.26 |
---|---|
GPU TYPE 별 CLOUD 인스턴스 (aws,azure,IBM) (0) | 2022.01.26 |
AWS Ec2 tf.test.is_gpu_available() False 일때 버전확인하기 ,항상 GPU가 제대로 사용중인지 항상항상 체크하기 (0) | 2022.01.16 |
Nvidia-smi N초별로 원하는 항목들만 골라서 csv파일로 저장하기 (0) | 2021.11.28 |
T nvidia-smi -q 비슷한 유형별로 모아보기 (0) | 2021.11.28 |