[Ubuntu] CUDA, Cudnn, Tensorflow, Pytorch 설치
프로젝트를 진행하면서 GPU 서버가 부족하여 해당 사이트에서 GPU 서버를 대여받았다.
ICT COC
미래 ICT 혁신인재와 기업을 양성하는 SW개발 스페이스! 미래 ICT 혁신인재와 기업을 양성하는 SW개발 스페이스! 자세히 보기
www.ictcoc.kr
전달받은 서버를 이용하기 위해서는 설치해야 할 것들이 있다. 오늘은 그것들을 다뤄볼 예정이다.
서버 사용하기
서버를 사용하기 위해서는 GPU와 호환되는 CUDA, Cudnn, Tensorflow, Pytorch 버전이 설치되어야 한다.
CUDA 설치하기
1. nvidia-smi 명령어를 통해 드라이버의 버전을 확인한다.
2. https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versions__table-cuda-toolkit-driver-versions 링크에서 호환되는 CUDA Toolkit을 확인한다.
3. base installer 명령어를 입력하여 설치한다.
- Continue 선택 후 엔터
- accept 입력 후 엔터 (nividia 라이센스에 관련된 내용 입니다)
- Install 선택 후 엔터
4. CUDA PATH 설정
- vi /etc/bash.bashrc
마지막 줄 아래 추가
##### ADD #####
export PATH=/usr/local/cuda-11.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH
################
- source /etc/bash.bashrc
5. nvcc -V 명령어 실행시 다음과 같이 나오면 CUDA가 제대로 설치된 것이다.
cuDNN 설치하기
1. cudnn 설치하기 https://developer.nvidia.com/rdp/cudnn-archive
2. local 에서 서버로 설치파일 보내기
scp <로컬에서 보낼 경로> <계정>@<원격 IP>:<원격에 보낼 경로>
3. cudnn 파일을 압축 해제 후 경로 이동, 설정, 링크 설정을 해준다.
tar xvzf cudnn-11.2-linux-x64-v8.1.1.33.tgz
sudo cp cuda/include/cudnn* /usr/local/cuda-11.2/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.2/lib64
sudo chmod a+r /usr/local/cuda-11.2/include/cudnn.h /usr/local/cuda-11.2/lib64/libcudnn*
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.0.5 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_train.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.0.5 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.0.5 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.0.5 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.0.5 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_ops_train.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.0.5 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8
sudo ln -sf /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn.so.8.0.5 /usr/local/cuda-11.2/targets/x86_64-linux/lib/libcudnn.so.8
4. ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn 명령어 실행 시 재대로 설치되었으면 "#define CUDNN_MAJOR 8"이 출력된다.
anaconda로 가상환경 만들기
1. anaconda 설치하기
- https://www.anaconda.com/distribution/ 가서 설치파일 다운
- 혹은 명령어 실행 $ wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
2. 설치파일 실행하기
- bash Anaconda3-2022.05-Linux-x86_64.sh
3. 가상환경 생성하기
- cd anaconda3/envs/
- conda create -n 만들고자하는이름 python=자신이원하는버전
4. 가상 환결 확인하기
- conda info --envs
5. 가상환경 사용하기
- conda activate 생성한 가상환경 이름
6. 가상환경 종료 명령어
- conda deactivate
Library 설치하기
Tensorflow 설치하기
1. https://www.tensorflow.org/install/source_windows#tested_build_configurations 링크에서 python, cuDNN, CUDA의 버전에 맞는 Tensorflow 버전을 선택한다.
2. 자신이 선택한 버전의 Tensorflow를 설치한다.
pip install tensorflow-gpu==X.X.X
3. 작동 확인 -> True를 반환하면 성공
$python
>> import tensorflow as tf
>> tf.test.is_built_with_cuda()
Pytorch 설치하기
1. https://pytorch.org/get-started/previous-versions/자신의 CUDA 버전에 맞는 pytorch 버전을 선택한다.
2. 자신이 선택한 버전의 pytorch 설치하기
pip install torch==X.X.X+cuXXX torchvision==X.X.X+cuXXX torchaudio===X.X.X -f https://download.pytorch.org/whl/torch_stable.html
3. 작동 확인 -> True를 반환하면 성공
$python
>> import torch
>> torch.cuda.is_available()
나의 설치 버전
[ Ubuntu ] 18.04
[ nvidia driver ] 470.42.01
[ CUDA ] 11.2
[ cuDNN ] 11.2
[ tensorflow ] 2.11.0
[ pytorch ] torch==1.12.1+cu113