머리말
인터넷에 pytorch를 설치하는 튜토리얼이 많이 있는데, NVIDIA 드라이버와 CUDA, CUDNN, Pytorch를 두 대의 노트북에 설치하는 과정과 경험을 녹화해서 공유했습니다.
우선 pytorch-gpu를 설치하려면 nvidia 드라이버 설치, CUDA 설치, CUDNN 설치, 토치 라이브러리 설치를 완료해야 합니다. 드라이버는 CUDA 버전을 설치할 수 있는 정도를 결정하므로 이러한 것의 버전은 임의로 설치할 수 없습니다.
내 설치된 버전은 다음과 같습니다.
Lenovo GTX1050 노트북:
Ubuntu18 + 드라이버 470 + CUDA 10.0 + 10.0용 CUDNN + 토치 1.0.0 + 파이썬 3.6
Ubuntu18 + 드라이버 470 + CUDA 10.2 + 10.2용 CUDNN + 토치 1.8.0 + 파이썬 3.7
기계 가죽 GTX4050 노트북:
Ubuntu22 + 드라이버 525 + CUDA 11.8 + 11.8용 CUDNN + 토치 2.0.0 + 파이썬 3.8
Ubuntu22 + 드라이버 525 + CUDA 11.8 + 11.8용 CUDNN + 토치 1.12.0 + 파이썬 3.8
1. 버전 선택 방법
제약 조건 1: 먼저 토치 버전으로 시작하고 먼저 설치하려는 토치 버전을 결정 합니다.pytorch의 각 버전에는 지원되는 CUDA 버전이 있습니다.이 제약 조건은 반드시 필수는 아닙니다.더 높은 버전의 CUDA도 정상적으로 설치할 수 있습니다. 내 CUDA11.8로 다음 CUDA11.6 설치 명령을 사용하여 torch1.12.1을 정상적으로 설치할 수도 있습니다.
제약 조건 2: 가장 높은 CUDA 설치를 지원하는 nvidia 드라이버 버전 확인: (NVIDIA 드라이버를 먼저 설치해야 하며 나중에 드라이버 설치 방법에 대해 설명합니다.)
제약 조건 3: GPU에 대한 CUDA의 컴퓨팅 성능도 일치해야 합니다. 그렇지 않으면 Torch에서 다음 오류를 보고합니다.
# 这里sm_89的意思就是4050的算力是89,该CUDA版本不支持此算力
NVIDIA GeForce RTX 4050 Laptop GPU with CUDA capability sm_89 is not compatible with the current PyTorch installation
먼저 컴퓨터 GPU의 컴퓨팅 성능을 확인하십시오.
그런 다음 CUDA와 컴퓨팅 성능 간의 일치 관계를 확인합니다 (사실 Baidu GPU 모델 + CUDA만 다른 사람들이 설치한 CUDA 버전 확인).
마지막으로 이 세 가지 제약 조건에 따라 원하는 CUDA 버전을 찾은 다음 CUDA 버전에 따라 CUDNN과 Torch를 설치합니다. 추가로 3가지 제약조건이 상충하는 경우에는 2번과 3번 제약조건을 만족시키는 것을 우선적으로 해야 하는데, 예를 들어 GPU는 4050이고, 쿼리 제약조건은 2번과 3번이고, 최소 CUDA 버전은 11.8이고, 내가 원하는 것은 torch1.8을 설치하려면 pip 설치를 하고 CUDA11.8이 없으시면 제약조건 2번과 3번을 직접 만족하셔서 CUDA11.8을 설치하시면 됩니다. 11.8.
2. NVIDIA 드라이버 설치
내 1050 그래픽 카드는 nvidia-driver-470과 함께 설치되고 4050 그래픽 카드는 nvidia-driver-525와 함께 설치됩니다.
Ubuntu 버전이 18 미만인 경우 먼저 gcc 버전을 업그레이드해야 합니다 .
방법 1: 간단하지만 매우 느린 다운로드 속도
#1.先把之前的nvidia驱动卸载干净:
sudo apt-get remove --purge nvidia*
#2.添加并更新源
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update
#3.查看适配的驱动版本
sudo ubuntu-drivers devices
#4.下载你想下载的nvidia驱动版本:
sudo apt install nvidia-driver-470
#5.重启电脑(这一步很重要,不重启没有效果):
reboot
#6.重启后,输入命令查看nvidia驱动是否安装好了
nvidia-smi
설명하자면 위의 4단계도 软件和更新
중간에 설치를 통해서도 설치가 가능 附加驱动
하지만 다운로드 속도는 이런식으로 볼 수 없습니다 첫번째
방법은 비교적 간단하지만 다운로드 속도가 정말 느려서 반이상 걸립니다 수십 M의 물건에 대한 시간
방법 2: 더 많은 문제가 발생할 수 있지만 잘 진행되면 설치가 매우 빠릅니다.
방법은 NVIDA 공식 홈페이지에서 드라이버를 직접 다운받아 설치하는 것이지만, 그 과정에서 여러 가지 문제가 발생하기 쉬우니 먼저 해보시는 것을 추천드립니다. 한 단계로 할 수 있습니다
설치 참조
드라이버의 실행 파일을 설치할 때 명령줄을 추가하지 마십시오. -no-opengl-files
그렇지 않으면 설치 후 그래픽에 그래픽 카드가 표시되지 않고 설치가 완전히 성공하지 못하는 것을 알 수 있습니다.
즉, 실행 드라이버 파일을 설치할 때:
# 不要添加-no-opengl-files命令
sudo ./NVIDIA-Linux.run -no-x-check
问题:"nvidia-drm" 커널 모듈을 로드할 수 없습니다.
3. 쿠다 설치
CUDA 버전 다운로드
CUDA 10.0 설치 방법, 참조
CUDA 10.2 설치 방법, 참고 , 10.2 이상 설치 방법은 비슷합니다.
CUDA 제거, 참조
여기에서는 튜토리얼에 따라 sh 스크립트 파일만 설치하면 되며 나중에 환경 구성에 대해 이야기하겠습니다.
4. CUDNN 설치
다양한 버전의 CUDNN 다운로드
CUDNN은 CUDA 버전과 일치해야 합니다.
CUDNN8.0 이하 버전의 설치 방법은 다음을 참조하십시오 .
CUDNN8.0 이상의 설치 방법은 다음을 참조하십시오 .
5. 환경 구성
CUDA 및 CUDNN을 설치한 후 환경을 구성할 수 있습니다.
sudo gedit ~/.bashrc
# 添加以下内容
# 支持多个CUDA版本切换,要改版本就修改/usr/local/cuda的软连接就行了
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
관련 명령
查看cuda版本 : nvcc -V
查看位置 : which nvcc
查看NVIDIA动态使用情况: watch -n 1 nvidia-smi
cuda 版本 : cat /usr/local/cuda/version.txt
cudnn 版本 : cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
NVIDIA 驱动版本 : cat /proc/driver/nvidia/version
6.pytorch 설치
pytorch 오프라인 버전 다운로드
pytorch 온라인 버전 다운로드
# 发现下载torch用豆瓣的源比清华源更快
pip install --index-url https://pypi.douban.com/simple 要安装的包
pip 설치 토치를 찾을 수 없는 문제가 있는 경우 Python 버전이 낮거나 더 높은 Python 버전으로 conda 컨테이너 설치를 만들 수 있거나 pip 소스에 문제가 있는 경우 변경할 수 있습니다. 출처.
4050 노트북에 설치했는데, 40시리즈 그래픽카드의 CUDA 버전이 1.18.0 이상이어야 하는데 pytorch에서 지원하는 CUDA1.18.0 버전은 현재 pytorch2.0.0 버전만 너무 새롭기 때문에 높은 것 같습니다. 버전 CUDA도 낮은 버전의 CUDA를 설치할 수 있지만 지원되는 pytorch 버전이지만 CUDA 버전이 너무 다르면 CUDA 컴퓨팅 파워가 지원되지 않기 때문에 토치에서 오류가 보고됩니다. 테스트 후 괜찮은 것 같습니다.
机革GTX4050笔记本:Ubuntu22 + 驱动525 + CUDA 11.8 + CUDNN for 11.8 + torch 1.12.0 + python 3.8
7. 토치 GPU 사용 가능 여부 확인
import torch
# 光靠is_available还不足以确定是否安装成功
torch.cuda.is_available()
a=torch.Tensor([1,2])
a=a.cuda()