解決PyTorch與CUDA版本不匹配的問題
1.CUDA驅動和CUDA Toolkit對應版本
表一:CUDA驅動及CUDA Toolkit最高對應版本

最新可查閱官方文檔
注:驅動是向下兼容的,其決定了可安裝的CUDA Toolkit的最高版本。
2.CUDA Toolkit版本及其可用PyTorch對應版本(參考官網(wǎng))
表二:CUDA Toolkit版本及可用PyTorch對應關系
| CUDAToolkit版本 | 可用PyTorch版本 |
|---|---|
| 7.5 | 0.4.1 ,0.3.0, 0.2.0,0.1.12-0.1.6 |
| 8.0 | 1.1.0,1.0.0 ,0.4.1 |
| 9.0 | 1.1.0,1.0.1, 1.0.0,0.4.1 |
| 9.2 | 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0,1.4.0,1.2.0,0.4.1 |
| 10.0 | 1.2.0,1.1.0,1.0.1 ,1.0.0 |
| 10.1 | 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0, 1.4.0,1.3.0 |
| 10.2 | 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0 |
| 11.0 | 1.7.1,1.7.0 |
| 11.1 | 1.8.0 |
注:雖有的卡驅動更新至較新版本,且CUDA Toolkit及PyTorch也可對應更新至新版本。但有的對應安裝包無法使用,有可能是由于卡太舊的原因。
3.安裝指導
在安裝時會同時安裝CUDA Toolkit以及PyTorch,這是我們要知道的。
步驟一:
使用nvidia-smi查詢驅動版本:

如圖中Driver Version所示,該卡目前的驅動版本為384.81。
步驟二:
此處提供三種方法可供選擇。
(1)指定CUDA Toolkit版本
根據(jù)表一查詢到可安裝的CUDA Toolkit版本,384.81對應最高的CUDA Toolkit版本為9.0。
運行conda install pytorch cudatoolkit=9.0 -c pytorch即可。
此方法指定CUDA Toolkit版本后,conda會自動匹配到合適版本的PyTorch。
(2)指定PyTorch版本
根據(jù)表一查詢到可安裝的CUDA Toolkit版本,再根據(jù)表二查詢到合適版本的PyTorch。384.81對應最高的CUDA Toolkit版本為9.0,9.0可安裝PyTorch1.1.0版本。
運行conda install pytorch=1.1.0 -c pytorch即可。
此方法指定PyTorch版本后,conda會自動匹配到合適版本的CUDA Toolkit。
(3)同時指定CUDA Toolkit版本和PyTorch(推薦)
根據(jù)表一查詢到可安裝的CUDA Toolkit版本,根據(jù)表二查詢到合適版本的PyTorch。
運行conda install pytorch=1.1.0 cudatoolkit=9.0 -c pytorch即可。
注:PyTorch1.8.0和1.0.0以前版本使用conda安裝時命令有些許不同,具體可查看官網(wǎng)。
4.驗證安裝是否成功
#使用python運行 import torch print(torch.__version__) print(torch.cuda.is_available())
卸載當前版本PyTorch:
conda uninstall pytorch
補充:查看PyTorch的版本及CUDA和cuDNN版本
檢查PyTorch版本
torch.version # PyTorch version torch.version.cuda # Corresponding CUDA version torch.backends.cudnn.version() # Corresponding cuDNN version torch.cuda.get_device_name(0) # GPU type
更新PyTorch
conda update pytorch torchvision -c pytorch
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
Python函數(shù)之iterrows(),iteritems(),itertuples()的區(qū)別說明
這篇文章主要介紹了Python函數(shù)之iterrows(),iteritems(),itertuples()的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
Python中使用__new__實現(xiàn)單例模式并解析
單例模式是一個經(jīng)典設計模式,簡要的說,一個類的單例模式就是它只能被實例化一次,實例變量在第一次實例化時就已經(jīng)固定。 這篇文章主要介紹了Python中使用__new__實現(xiàn)單例模式并解析 ,需要的朋友可以參考下2019-06-06
django ManyToManyField多對多關系的實例詳解
今天小編就為大家分享一篇django ManyToManyField多對多關系的實例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Python pyautogui模塊實現(xiàn)鼠標鍵盤自動化方法詳解
這篇文章主要介紹了Python pyautogui 模塊實現(xiàn)鼠標鍵盤自動化方法詳解,需要的朋友可以參考下2020-02-02

