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