Ubuntu18及22安装NVIDIA驱动、CUDA、CUDNN、Pytorch
前言
安裝pytorch的教程網(wǎng)上有許多,我記錄并分享下自己兩臺(tái)筆記本上安裝NVIDIA驅(qū)動(dòng)、CUDA、CUDNN、Pytorch的過程和心得。
首先說明,安裝pytorch-gpu需要完成nvidia驅(qū)動(dòng)安裝、CUDA安裝、CUDNN安裝、torch庫(kù)安裝,其中CUDA和CUDNN版本要對(duì)應(yīng),不同版本的torch對(duì)CUDA版本有要求,nvidia驅(qū)動(dòng)決定了你可以安裝多高版本的CUDA,因此這些東西的版本不能隨便亂裝,
我的安裝版本是:
聯(lián)想GTX1050筆記本:
Ubuntu18 + 驅(qū)動(dòng)470 + CUDA 10.0 + CUDNN for 10.0 + torch 1.0.0 + python 3.6
Ubuntu18 + 驅(qū)動(dòng)470 + CUDA 10.2 + CUDNN for 10.2 + torch 1.8.0 + python 3.7
機(jī)革GTX4050筆記本:
Ubuntu22 + 驅(qū)動(dòng)525 + CUDA 11.8 + CUDNN for 11.8 + torch 2.0.0 + python 3.8
Ubuntu22 + 驅(qū)動(dòng)525 + CUDA 11.8 + CUDNN for 11.8 + torch 1.12.0 + python 3.8
1.如何選版本
約束一:先從torch版本入手,先確定你要安裝的torch版本 , pytorch每個(gè)版本有自己支持的CUDA版本,此約束不一定強(qiáng)制滿足,高版本CUDA也可以正常安裝,比如我CUDA11.8的也可以使用下面CUDA11.6安裝的命令正常安裝torch1.12.1
約束二:看一下自己的nvidia驅(qū)動(dòng)最高支持安裝CUDA的版本:(需要先安裝NVIDIA驅(qū)動(dòng),后面會(huì)講如何安裝驅(qū)動(dòng))
約束三:CUDA對(duì)GPU的算力也需要匹配,否則torch會(huì)報(bào)以下錯(cuò)誤:
# 這里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和算力之間的匹配關(guān)系(其實(shí)直接百度你的GPU型號(hào)+CUDA,看看別人都安啥版本的CUDA就行了)
最后根據(jù)這三個(gè)約束找到你要的CUDA版本,后面再根據(jù)CUDA版本安裝CUDNN以及torch。補(bǔ)充一下,當(dāng)你發(fā)現(xiàn)三個(gè)約束沖突,則優(yōu)先滿足約束二和三,比如GPU是4050,查詢約束二和三,發(fā)現(xiàn)CUDA版本最低也要11.8,而我想安裝torch1.8,pip安裝里面并沒有CUDA11.8的,那么直接先滿足約束二和三,安裝CUDA11.8即可,然后后面安裝torch1.8時(shí),用CUDA版本和11.8最接近的安裝命令即可。
2.安裝NVIDA驅(qū)動(dòng)
我的1050顯卡安的是nvidia-driver-470,4050顯卡安的是nvidia-driver-525
如果是Ubuntu低于18版本,還要先升級(jí)gcc版本,參考
方法一:簡(jiǎn)單但下載速度特別慢
#1.先把之前的nvidia驅(qū)動(dòng)卸載干凈: sudo apt-get remove --purge nvidia* #2.添加并更新源 sudo add-apt-repository ppa:graphics-drivers sudo apt-get update #3.查看適配的驅(qū)動(dòng)版本 sudo ubuntu-drivers devices #4.下載你想下載的nvidia驅(qū)動(dòng)版本: sudo apt install nvidia-driver-470 #5.重啟電腦(這一步很重要,不重啟沒有效果): reboot #6.重啟后,輸入命令查看nvidia驅(qū)動(dòng)是否安裝好了 nvidia-smi說明一下,上面第四步,也可以通過軟件和更新中的附加驅(qū)動(dòng)安裝,但這樣看不到下載速度
方法一比較簡(jiǎn)單,但下載速度是真的慢,幾十M的東西得下半多小時(shí)
方法二:可能會(huì)遇到較多問題,但順利的話安裝很快
該方法就是直接到NVIDA官網(wǎng)下載驅(qū)動(dòng),然后安裝,不過過程中容易出現(xiàn)各種各樣的問題,我推薦大家可以先嘗試一下,萬一自己電腦是天選之子,一步到位呢
安裝參考
注意,安裝驅(qū)動(dòng)的run文件時(shí),不要加入命令行-no-opengl-files否則會(huì)發(fā)現(xiàn)安裝后的圖形不會(huì)顯示顯卡,安裝并未完全成功,
即安裝run驅(qū)動(dòng)文件時(shí):
# 不要添加-no-opengl-files命令 sudo ./NVIDIA-Linux.run -no-x-check問題:Unable to load the “nvidia-drm” kernel module
解決:我兩個(gè)解決方法都執(zhí)行了才安裝成功
3.安裝CUDA
CUDA各個(gè)版本下載
CUDA 10.0安裝的方法,參考
CUDA 10.2安裝的方法,參考,10.2及以上版本安裝方法類似
CUDA卸載,參考
注意,這里只需要按教程安裝sh腳本文件即可,后面的環(huán)境配置之后再說
4.安裝CUDNN
CUDNN各個(gè)版本下載
注意,CUDNN要對(duì)應(yīng)CUDA的版本:
CUDNN8.0以下版本的安裝方法,參考
CUDNN8.0及以上版本的安裝方法,參考
5.環(huán)境配置
安裝好CUDA和CUDNN后,就可以配置環(huán)境了:
sudo gedit ~/.bashrc # 添加以下內(nèi)容 # 支持多個(gè)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相關(guān)命令
查看cuda版本 : nvcc -V 查看位置 : which nvcc 查看NVIDIA動(dòng)態(tài)使用情況: 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 驅(qū)動(dòng)版本 : cat /proc/driver/nvidia/version6.pytorch安裝
pytorch離線各版本下載
pytorch在線各版本下載
# 發(fā)現(xiàn)下載torch用豆瓣的源比清華源更快 pip install --index-url https://pypi.douban.com/simple 要安裝的包如果pip安裝torch出現(xiàn)找不到的問題,可能是Python版本低,可以創(chuàng)建個(gè)Python版本更高的conda容器安裝;或者是pip源有問題,可以換一個(gè)源。
我在4050筆記本上安裝,因?yàn)槭?0系顯卡CUDA版本必須1.18.0及以上,但是pytorch支持的CUDA1.18.0版本的目前只有pytorch2.0.0版本太新了,好像高版本CUDA也可以安裝低版本CUDA支持的pytorch版本,但是CUDA版本差距太大的話,會(huì)因?yàn)镃UDA算力不支持而在torch中報(bào)錯(cuò),我嘗試安裝了支持CUDA1.16.0的pytorch1.12.0,測(cè)試下來好像沒問題:
機(jī)革GTX4050筆記本:Ubuntu22 + 驅(qū)動(dòng)525 + CUDA 11.8 + CUDNN for 11.8 + torch 1.12.0 + python 3.8
7.查看torch gpu是否可用
import torch # 光靠is_available還不足以確定是否安裝成功 torch.cuda.is_available() a=torch.Tensor([1,2]) a=a.cuda()8.pycharm中torch補(bǔ)全不全
參考
總結(jié)
以上是生活随笔為你收集整理的Ubuntu18及22安装NVIDIA驱动、CUDA、CUDNN、Pytorch的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 活动预告 | 伍鸣博士受邀参加深链财经“
- 下一篇: ubuntu18.04安装pycharm