win10中pyTorch的GPU模式安裝記錄

zfoox發表於2020-12-20

pyTorch \qquad\text{pyTorch} pyTorch CPU \text{CPU} CPU 模式安裝比較簡單,可以忽略第1,2節,直接採用第3節的方式。

pyTorch \qquad\text{pyTorch} pyTorch GPU \text{GPU} GPU 模式需要先安裝 CUDA \text{CUDA} CUDA cuDNN \text{cuDNN} cuDNN,然後才安裝 pyTorch \text{pyTorch} pyTorch
\qquad

1. 安裝CUDA

\quad 進入到 CUDA Toolkit Archive 選擇想要下載的 CUDA Toolkit \text{CUDA Toolkit} CUDA Toolkit版本:
\qquad 在這裡插入圖片描述
\quad 由於目前 pyTorch \text{pyTorch} pyTorch whl \text{whl} whl 檔案只支援到11.0版本(見第 3 節),因此選擇cuda_11.0.2_451.48_win10
\qquad 在這裡插入圖片描述

\qquad

2. 安裝cuDNN

\quad 進入到 cuDNN Download 選擇想要對應的 cuDNN \text{cuDNN} cuDNN 版本(需要註冊nvidia會員登陸才能下載):
\qquad 在這裡插入圖片描述
\quad 由於 CUDA Toolkit \text{CUDA Toolkit} CUDA Toolkit 選擇了11.02版,因此 cuDNN \text{cuDNN} cuDNN 選擇對應的8.0.5版cudnn-11.0-windows-x64-v8.0.4.30
\qquad 在這裡插入圖片描述
\quad 將cudnn-11.0-windows-x64-v8.0.4.30解壓後的cuda資料夾下的3個目錄(bin,include,lib)拷貝到中C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0中:
\qquad 在這裡插入圖片描述

\quad 然後,就可以使用nvcc -V檢視 CUDA \text{CUDA} CUDA是否安裝成功:
\qquad 在這裡插入圖片描述
\qquad

3. 安裝pyTorch

\quad 進入pyTorch官網
\qquad 在這裡插入圖片描述
( 1 ) (1) (1) 採用 pip \text{pip} pip 安裝方式

\qquad pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

\quad
( 2 ) (2) (2) 安裝過程中需要下載torch-1.7.1+cu110-cp37-cp37m-win_amd64.whl檔案,由於該檔案很大(1.9 G),可以直接到https://download.pytorch.org/whl/torch_stable.html下載:
\qquad 在這裡插入圖片描述
\quad 採用 pip \text{pip} pip 安裝方式:

\qquad pip install torch-1.7.1+cu110-cp37-cp37m-win_amd64.whl
\qquad pip install torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

經過這3個步驟之後,還是經常會出現CUDA安裝不成功,torch.cuda.is_available() 測試結果為 False
主要問題在於顯示卡驅動的版本問題。

\quad

4. 顯示卡驅動設定

\quad 如果是雙顯示卡,必須到“NVIDIA控制皮膚”中選擇“高效能NVIDIA處理器”。
\qquad 在這裡插入圖片描述
\quad 在“NVIDIA控制皮膚”的“幫助”—“系統資訊”中可以看到“驅動版本”和該版本所支援的CUDA版本號:
\qquad 在這裡插入圖片描述
\qquad 在這裡插入圖片描述

安裝最新版的驅動程式(顯示卡GTX850M,460.89-notebook-win10-64bit-international-dch-whql),顯示卡驅動支援CUDA Toolkit12.0,因此特意找了一個稍微老一點的驅動(451.67-notebook-win10-64bit-international-dch-whql)才能支援CUDA Toolkit11.02,否則無法下載到可以匹配的CUDA Toolkit版本。
 
顯示卡驅動下載地址:https://www.nvidia.cn/Download/index.aspx?lang=cn

\quad
\quad NVIDIA CUDA Toolkit Release Notes中,可以查到CUDA Toolkit和顯示卡驅動的匹配關係:
\qquad 在這裡插入圖片描述

測試CUDA是否安裝成功

\quad 安裝完畢之後,在 python \text{python} python 中可以檢視已安裝 pyTorch \text{pyTorch} pyTorch CUDA \text{CUDA} CUDA 的版本:
\qquad 在這裡插入圖片描述

\quad python \text{python} python 檢視 CUDA \text{CUDA} CUDA 是否安裝成功:
\qquad 在這裡插入圖片描述

後記

\quad 本文只是記錄了一個大概可行的流程,在Win10中的三次安裝記錄如下:

第一次安裝:首先更新顯示卡驅動到最新的460.89,然後安裝pyTorch+cu10.2,最後安裝CUDA和cuDNN10.2的版本
      但是CUDA安裝沒成功: torch.cuda.is_available() 結果為 False

第二次安裝:把顯示卡驅動降到了451.67以匹配CUDA 11.02。然後重新安裝了pyTorch+cu11.02,雖然之前安裝的CUDA Toolkits和cuDNN是10.2的版本
      但是CUDA安裝卻測試成功: torch.cuda.is_available() 結果為 True

第三次測試:刪掉了CUDA和cuDNN10.2的版本,安裝了CUDA和cuDNN11.02的版本,CUDA安裝測試成功: torch.cuda.is_available() 結果為 True

\quad 由於測試較少,準確的安裝過程不是特別肯定,似乎是:
  ( 1 ) (1) (1) 應該先安裝CUDA和cuDNN,然後再安裝pyTorch;
  ( 2 ) (2) (2) CUDA Toolkit和顯示卡驅動版本的匹配很重要(不明白為何最新的顯示卡驅動所支援的CUDA Toolkits版本那麼高,只能通過降低顯示卡驅動版本,來匹配NVIDIA官網的CUDA Toolkit下載)。

相關文章