두괄식으로 하겠습니다.
제목은 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 이상만이 돌아간다는 점이었습니다.
그 이외에 많은 도움을 다음 포스팅에서 받았습니다.
어쩐지.. 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입니다.
하지만 새로운 에러가 생겼습니다..
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
'Deep Learning' 카테고리의 다른 글
Pytorch에서 Batch Size 1로 했을 때 accuracy가 떨어지는 문제 해결 (model.eval()) (0) | 2022.09.23 |
---|---|
오디오 딥러닝을 해봅시다! (Sound Classification) - 2. 모델을 이용해서 학습하기 (0) | 2022.09.08 |
오디오 딥러닝을 해봅시다! (Sound Classification) - 1. 데이터 전처리 (0) | 2022.09.06 |
torchviz로 모델 시각화 하기 (0) | 2022.07.27 |
Coursera Deep Learning Specialization 후기 (0) | 2022.02.08 |