Deep Learning

rtx 3070을 이용한 환경 설정 yolov5 (ft. 3080, 3090 및 30 시리즈..)

jinmc 2021. 5. 5. 14:30
반응형

두괄식으로 하겠습니다.

제목은 3070으로 했지만 3080, 3090 다 될 것으로 생각됩니다.

 

cuda version 11.1을 먼저 깝니다.

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run 
sudo sh cuda_11.1.1_455.32.00_linux.run

nvidia driver version은 460으로 잡혀있는데, rtx 30xx 버전에서는 460 이상만이 호환된다고 합니다.

460이 깔려있어서 nvidia driver를 체크 해제하고, 나머지를 깔았습니다.

 

그 후, 

vim ~/.bashrc 
export PATH=/usr/local/cuda-11.1/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH

로 환경설정을 잡아줍니다.

nvcc --version 으로 확인을 해주시고, cudnn 8.0.5를 깔아줍니다.

 

https://developer.nvidia.com/rdp/cudnn-archive 사이트에서

찾아서 깔았습니다. (runtime, developer, sample 다 깔아야되는군요)

 

sudo dpkg -i cudnn-local-repo-${OS}-8.x.x.x_1.0-1_arm64.deb

sudo apt-get update

sudo apt-get install libcudnn8=8.x.x.x-1+cudaX.Y # runtime library install

sudo apt-get install libcudnn8-dev=8.x.x.x-1+cudaX.Y #developer library

sudo apt-get install libcudnn8-samples=8.x.x.x-1+cudaX.Y

 

/usr/src/cudnn_samples_v8/mnistCUDNN 으로 cd 해서 들어간 후,

sudo make clean

sudo make 

를 통해서 test passed를 보면 됩니다.

 

Anaconda를 통해서 pytorch를 이요한 가상환경 만드는 건 덤!!

https://walkaroundthedevelop.tistory.com/69  

 

conda create --name <env> <package-to-install> #python=3.7

 

으로 conda 환경을 만들어주고 pip로 설치 해줍니다.

pip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

 

 

============================================================================================

 

다음은 어떻게 하다 여기까지 왔는지의 내용입니다.

 

 

그전 환경 rtx 1660 super를 이용할 때는 잘 돌아가던 cuda가 새로운 컴퓨터 3070을 이용한 컴퓨터에서는 돌아가지 않는 것을 발견하였습니다. 삽질을 좀 하다가.. 알아낸 점은, rtx 30 시리즈에서는 cuda 버전 11 이상만이 돌아간다는 점이었습니다.

그 이외에 많은 도움을 다음 포스팅에서 받았습니다.

uhou.tistory.com/207

 

 

어쩐지.. cuda 10.1을 깔아도 안되고, 9.1을 깔아도 안되더군요

 

11.0 까는 script (ubuntu 18.04)

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda-repo-ubuntu1804-11-0-local_11.0.2-450.51.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-0-local_11.0.2-450.51.05-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu1804-11-0-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

 

nvcc --version과

nvidia-smi 로 제대로 작동하는지를 보고,

 

제대로 작동하는것을 보고, 

yolov5를 실행해보니깐, 새로운 에러가 나왔습니다.

 

NVIDIA GeForce RTX 3070 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70.
If you want to use the NVIDIA GeForce RTX 3070 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

 

그래서 검색해보니, 11.1 부터 된다는 말이 있고,  

또 그래서 11.1을 깔았습니다...

 

또, lambda stack 이라는 걸 까는 방법도 있다고 하는데,

Ubuntu 20.04에서 통용되는 방법이기에 확실치는 않습니다.

 

관련 url : lambdalabs.com/blog/install-tensorflow-and-pytorch-on-rtx-30-series/

 

cuda 11.1 을 깐 이후에는, CuDNN 8.0.5를 깔아야 합니다.

 

다음 url은 cuDNN을 깔 때 참고 하였습니다. CuDNN 뿐만 아니라 cuda나 pytorch를 실행하는 데에도 정보가 많은 url입니다.

goodtogreate.tistory.com/entry/2004-%EC%9A%B0%EB%B6%84%ED%88%AC%EA%B8%B0%EB%B0%98-NVIDIA-GeForce-RTX-3090%EC%97%90-CUDA-cuDNN-Pytorch-%EC%84%A4%EC%B9%98

 

하지만 새로운 에러가 생겼습니다.. 

RuntimeError: Detected that PyTorch and torchvision were compiled with different CUDA versions. 
PyTorch has CUDA Version=10.2 and torchvision has CUDA Version=11.0. 
Please reinstall the torchvision that matches your PyTorch install.

아무래도.. pytorch를 처음부터 다시 컴파일 해야될것 같네요

관련 url : 

github.com/pytorch/pytorch#from-source

 

아니면, pytorch를 11.0버전에 맞는 버전으로 다운받으면 될 것 같습니다.

pytorch.org/get-started/previous-versions/

 

# CUDA 11.0
pip install torch==1.7.0+cu110 torchvision==0.8.0+cu110 torchaudio==0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

깔다보니 또 에러가 생겨서 찾아보니, 

이런 식을 이용해야 한다고 합니다.

관련 url : github.com/pytorch/vision/issues/2912

 

pip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
반응형