< NVIDIA 그래픽 드라이버 설치 >
그래픽 카드로 드라이버를 검색하여서 다운로드 받을 수 있다
내 그래픽 카드가 뭐였는지 가물가물 하면
sudo lspci -v | less
이런 걸로 찾아 볼 수 있긴한데
(요 VGA compatible controller 뒤에 있는 [ ] 안에 있는거)
https://www.nvidia.com/Download/index.aspx?lang=kr
Download the latest official NVIDIA drivers
Download the latest official NVIDIA drivers
www.nvidia.com
요 위에 사이트로 가서 제품 누르고 찾으면 된다
귀찮으니깐 다음 명령어
sudo ubuntu-drivers devices
뭔지 모를 땐 추천 받는게 최고 이긴 함 nvidia-driver-530
이랬다가 지금 듀얼 모니터가 갑자기 안됨 ㅜㅜ
** 주의 **
본인도 모르게 드라이버가 설치되었을 수도 있으니 충돌이 나지 않게
아래의 명령어를 실행해서 확인한 다음
nvidia-smi
아래 명령어를 진행하자
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt-get install nvidia-driver-530
자 뭔가 잘못되었답니다 ^^
우분투 재설치 (저는 그냥 밀어 줬습니다)
위에 과정을 반복하고
그리곤 재부팅 해주자
sudo reboot
그러고 나서 잘 설치되었는지 확인
nvidia-smi
이래 나오면 성공
만약 아래와 같은 오류가 나온다면 아래 링크를 참고하자
nvidia-smi has failed because it couldn't communicate with the nvidia driver
nvidia-smi has failed because it couldn't communicate with the nvidia driver 해결, nvidia driver 설치
그래픽 드라이버랑 뭔가 호환이 되지 않을 때 생기는 problem 인 "nvidia- smi has failed because it couldn't communicate with the nvidia driver" 에 대한 solution을 드디어 찾아냄... 이 문제를 해결하는데 이렇게 많은
sdpcs.tistory.com
<아나콘다 설치>
다음은 아나콘다를 설치해줘야 한다.
아래의 사이트에 들어가서
https://www.anaconda.com/download
Free Download | Anaconda
Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.
www.anaconda.com
펭귄(리눅스) 버전 다운로드를 눌러주자
다운로드 받았으면 실행을 시켜주자
cd ~/Downloads
sha256sum Anaconda3-2023.03-1-Linux-x86_64.sh
bash Anaconda3-2023.03-1-Linux-x86_64.sh
enter 누르고 있다가 yes누르고 enter 누르고 반복
고맙다고 하네요
source ~/.bashrc
적용시켜주고
설치를 확인
conda --version
가상환경 실행
위에 우분투가 충돌나서 지웠듯이
그냥 다이렉트로 파일들을 설치하면 별로 좋지 않다
그래서 가상환경을 만들어서 여기에 cuda랑 필요한 라이브러리들을 만드는 것이 좋다
#만들기
conda create -n [가상환경이름] python=[파이썬 버전]
#실행
conda activate [가상환경이름]
#종료시
conda deactivate
torch라는 이름으로 만들어 줬고 가상환경 저장 위치도 알려준다
activate를 했을 때 앞에 (base)가 (torch)로 바뀌면 성공
가상환경 자동실행
가상환경을 자동으로 실행시키고 싶으면
가상환경으로 들어가서 다음 명령어를 실행하면 된다
일단 지금 상황을 보려면 아래의 명령어
# conda 설정 전체 보기
conda config --show
# conda 설정 auto_activate_base 항목만 보기
conda config --show | grep auto_activate_base
base 자동 실행이 켜져있다 이게 마음에 안들면
conda config --set auto_activate_base false
이제 새 터미널을 열어보면
conda activate torch
conda config --set auto_activate_base true
< CUDA 설치 >
음... 뇌 빼고 하다가 위로와서 다시 적는다
상황
Ubuntu : 20.04
GPU : RTX 3080
CUDA : 12.1
이렇게 해서 이제 Pytorch 받으려고 했는데 없네???
12.1 차별 멈춰 ㅠㅠㅠㅠ
그래서 두가지 방법 을 제시하고자 한다
(삽질 구경하고 싶으면 "CUDA 관련 삽질" 목차를 보면 된다)
1. CUDA를 처음 받는 경우
cd /usr/local
를 들어갔을 떄 CUDA관련 폴더가 없는 경우 아직 cuda를 처음 받는 것이다
(받기 전에 이걸 읽은 당신께 박수를)
어쩌피 목표가 Pytorch를 받는 것이라면 밑에 삽질에 적혀있는 것이 아닌
PyTorch
An open source machine learning framework that accelerates the path from research prototyping to production deployment.
pytorch.org
여기에 먼저 들어가서 본인의 스펙을 입력한 후
Compute Platform에 적혀있는 version으로 애초에 다운 받아주자
위의 예시 인 경우 CUDA 11.7를 받고 싶다고 하면
https://developer.nvidia.com/cuda-toolkit-archive
CUDA Toolkit Archive
Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production
developer.nvidia.com
여기에 들어가서 CUDA 11.7을 들어간 다음에 본인 스펙을 적으면 된다
deb 와 runfile의 차이는
저장 디렉토리 위치를 지정할 수 있냐 없냐의 차이인 것 같다(내 생각)
밑에 삽질에서는 deb로 다운 받지만 찾아보니 대부분 runfile로 다운받는 것 같다
(가상환경에 접속하는 것도 의미 없는 짓이다)
이런 식으로 사진에 적혀있는 명령어를 입력해주면 된다
2.. CUDA를 받았던 경우
cd /usr/local
를 들어갔을 떄 CUDA관련 폴더가 있는 경우 cuda를 받았던 경험이 있는 사람이다
근데 내 상황처럼 torch가 없어서 다운그레이드를 하고 싶은 사람은 아래와 같이하면 된다
일단 좋은 소식부터 말씀드리면
CUDA 여러 버전 함께 사용이 가능하다
앗 근데 runfile이 아니라 deb로 받았는데 과연 이것도 될까 라는 질문에는
한번 해보겠다(밑에 삽질 보면 알다시피 지금 deb 로 12.1 받은 상황)
위에 같이 일단 11.7을 추가로 받는 상황이다
뭐 이러나 저러나 일단 파일은 다운 받아야 하니 아래의 명령어 수행
sudo wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
(12.1 도 이걸로 받았으면 어땟을까 라는 찝찝함 ...)
그 다음 이걸 돌리라고 하는데
sudo sh cuda_11.7.0_515.43.04_linux.run
sudo sh cuda_11.7.0_515.43.04_linux.run --toolkit --toolkitpath=/usr/local/cuda-11.7
와 같이 옵션을 주어서
--toolkit : toolkit 만 설치
--toolkitpath : cuda toolkit가 설치될 경로
이렇게 받자
(만약 밑에 같은 상황을 연출하고 싶지 않으면 --silent 옵션을 추가해서 받으면 알아서 해준다)
sudo sh cuda_11.7.0_515.43.04_linux.run --silent --toolkit --toolkitpath=/usr/local/cuda-11.7
자 무서운 창이 뜬다
자 여기서 판단을 해야 한다
이전 CUDA 버전이 높은지 지금 받는 CUDA 버전이 높은지
이전 버전 > 받고 싶은 버전 (다운그레이드)
나의 경우 이전 CUDA 버전이 높다
이러한 판단이 필요한 이유는
11 이상 정도 버전이 되면 높은 수준의 NVIDIA driver가 요구된다
만약 위에서
sudo sh cuda_11.7.0_515.43.04_linux.run
이걸 실행시켰다면 driver를 옵션에 포함시켜서 다운로드 받아진다.
하지만 나는 12.1을 받을 때 driver가 설치된 상태이므로
toolkit 만 받으려고 위에 다음과 같은 옵션을 준 것이다
그러면 위의 상황에서 Abort (중단)을 눌러주고 아래의 코드로 다시 실행시켜주자
sudo sh cuda_11.7.0_515.43.04_linux.run --silent --toolkit --toolkitpath=/usr/local/cuda-11.7
위에 silent 조건 때문에 제대로 설치 되었는지 불안하면
cd /usr/local
여기에 들어갔을 때 다음과 같이 cuda-버전 이 있으면 성공이다
이제 위에서 했던
sudo nano ~/.profile
을 둘다 할 수 있도록 다음과 같이 바꿔주자
export PATH=/usr/local/cuda-12.1/bin:/usr/local/cuda-11.7/bin:$PATH
export CUDADIR=/usr/local/cuda-12.1:/usr/local/cuda-11.7
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH
이러면 어떤 걸을 찾을 때 12.1 을 먼저 찾고 안되면 11.7을 찾게 된다 (필요시에 /usr/local/cuda 도 추가 할 수 있지만 밑에서 삭제할거다)
적용 잊지말고
source ~/.profile
nvidia-smi 는 가장 최신 버전만 출력해 주기 때문에 저렇게 나오는 거다
그래서 확인하고 싶으면 아래의 명령어를 실행하자
ls /usr/local |grep cuda
지금 보면 cuda라는 폴더도 존재 하는데
TensorFlow와 같은 프로그램들이 cuda 관련 파일을 검색할 때 /usr/local/cuda를 먼저 symbolic link하게 된다
이렇게 되면 내가 초반에 설치한 12.1 로만 되고
여러버전을 받은 의미가 없어 진다
그래서 과감하게 이 cuda 파일을 지우자
cd /usr/local
sudo rm cuda
어? 이러면 어떤 걸 심볼릭 링크하게 되냐 하면 밑에 명령어로 지정을 해주면 된다
sudo ln -s cuda-11.7 cuda
잘 적용되었는지 보고 싶으면
env | grep -i cuda
실행해서 cuda의 환경변수를 확인 하자
이전 버전 < 받고 싶은 버전 (업그레이드)
만약에 이전 CUDA 버전이 더 낮은 경우 Nvidia driver를 삭제해주고 다시 다운로드 받아주자 (이때는 옵션을 뺴야겠죠?)
아래의 명령어를 하면되긴 하는데
주의 하도록 하자 (본인은 이 명령어 때문인지는 모르겠지만 뭔가 꼬여서 포멧을 진행햇다 ㅠㅠ )
sudo apt-get purge nvidia*
sudo apt-get autoremove
sudo apt-get autoclean
이렇게 하고
nvidia-smi
했을 때 아무것도 없으면 성공
위에 1번 혹은 2번 진행 (아님 드라이버 부터 설치)
< Pytorch 설치 >
(가상환경이 아닌 local에 받는 중입니다 가상환경을 실행하고 밑에 과정을 진행하면 가상환경에 받아집니다)
이제 pytorch를 받아주자
PyTorch
An open source machine learning framework that accelerates the path from research prototyping to production deployment.
pytorch.org
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
끝 (경로는 상관없다)
확인작업을 해주자
python //파이썬을 실행하고
import torch
print(torch.cuda.is_available()) // torch 제대로 설치되었는지 확인
print(torch.__version__) //torch버전 확인
< 가상환경에서 torch 실행 >
이렇게 진행해도 가상환경에서는 torch 가 안된다
가장 먼저 가상환경을 생성할 때 파이썬 버전을 다음과 같이 지정할 수 있고
conda create -n torch python=3.8
실행을 시켜준 다음
conda activate torch
이 상태에서 torch를 다운 받아 주면 된다
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
당연히 버전은 위에서 받은 버전이랑 상관 없겠죠?? (11.7 이던 11.8 이던 무관)
똑같이 진행된다
완료되었으면 다시한번 확인
가상환경을 만들때 conda create -n torch 로만 하고 파이썬 버전을 지정 안해서 버전이 바뀌는 찝찝한 현상이 있긴하지만
성공이다
수고하셨습니다
(부록) cuda 관련 삽질
그 다음 cuda 설치
아래의 사이트에 들어가서
https://developer.nvidia.com/cuda-toolkit-archive
CUDA Toolkit Archive
Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production
developer.nvidia.com
받아주면 되는데
나는 그냥 CUDA가 깔려있었다
nvidia-smi
Command 'nvidia-smi' not found, but can be installed with:
가 나온다면 깔려 있지 않은 것이다
그리고 아래의 명령어
nvcc -V
를 눌렀을 때 다음과 같이
nvcc -V
Command 'nvcc' not found, but can be installed with:
sudo apt install nvidia-cuda-toolkit
가 나온다면 CUDA의 PATH 정보가 추가가 되지 않은 것이기 때문에
위에서 나온 CUDA버전을 기억해서
sudo nano ~/.profile
를
export PATH=/usr/local/cuda-12.1/bin:$PATH
export CUDADIR=/usr/local/cuda-12.1
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH
들어가서 맨 아래의 다음을 추가해주자 (버전에 맞춰서)
그 다음 ctrl + s , ctrl + x 로 나와서 적용
source ~/.profile
그래도 안되서 해당 경로로 접근해보니
cuda가 없었다
즉, 위에 나온 것은 내가 다운 받아야할 CUDA version인것 같다
리눅스를 누르고 내 컴퓨터 정보를 누르면 명령어가 나오는데 이를 실행 시키자
이렇게 runfile로 하면 좀더 간편하다 (간편한걸 넘어서 그냥 이걸로 다운 받자)
저는 혹시 되나하는 마음에 torch라는 이름의 가상환경을 실행시키고 아래의 명령어를 실행시켰습니다
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2004-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
다시 해보면 정상적으로 작동된다
이래 보니 굳이 가상환경으로 접속해서 다운 받을 필요는 없을 것 같다
이러고 나서 위에 해줬던 작업을 해주자
sudo nano ~/.profile 해줘서
export PATH=$PATH:/usr/local/cuda-12.1/bin
export CUDADIR=/usr/local/cuda-12.1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.1/lib64
이거 잊지 말고 해주기
source ~/.profile
위의 파일 경로를 직접들어가도
없던 cuda관련 파일들이 있는 것을 확인할 수 있다
pytorch 설치
PyTorch
An open source machine learning framework that accelerates the path from research prototyping to production deployment.
pytorch.org
여기 링크에 들어가서 본인의 스펙을 적는다
근데//// 12.1 이 없네??? ㅠㅠㅠ
참고자료
https://jooona.tistory.com/140
[Pytorch] Ubuntu 20.04에서 Pytorch 사용을 위한 환경 세팅
Ubuntu 20.04에서 GPU 모드로 Pytorch를 이용하기 위해 Nvidia driver와 Cuda, Pytorch 등 필요한 프로그램들을 설치하는 방법을 알아보겠습니다. - Nvidia Driver 설치 sudo lspci -v | less sudo ubuntu-drivers devices 위의 명
jooona.tistory.com
https://discuss.pytorch.kr/t/cuda/1277
초보자를 위한 CUDA 설정 다사다난 실패기 공유
안녕하세요 pytorch를 로컬 주피터 노트북에 처음 사용하기 위한 CUDA 설정을 12시간 동안 실패하다가 마침내 드디어 CUDA 설정을 완료한 진정한 pytorch 어린이입니다. (별 것 아닌걸로 기쁘면서 성취
discuss.pytorch.kr
https://m31phy.tistory.com/125
[CUDA] 한 컴퓨터에 여러 버전 cuda 설치하기
저의 경우에는 Diskless cluster 구조에서 몇몇 계산노드들이 서로 다른 그래픽 카드를 가지고 있습니다. 그래서 서로 다른 버전의 cuda를 설치해야하나 싶었지만, 조사를 하다보니 CUDA SDK의 compute capa
m31phy.tistory.com
'환경설정' 카테고리의 다른 글
[Python] 맥북에 Jupyter notebook, anaconda(miniconda)설치 (0) | 2023.06.05 |
---|---|
[Pytorch] 맥북에 Pytorch 설치 (0) | 2023.06.05 |
우분투로 클램쉘 모드 설정 (노트북 닫고 모니터 연결) (0) | 2023.04.28 |
MAC 초기세팅 (0) | 2023.04.05 |
우분투 와이파이 없이 드라이버 설치하기 (0) | 2023.03.22 |