Windows10 安裝 CUDA + cuDNN + pyTorch
2020/5/29
在 windows10 上面安裝 CUDA 和 cuDNN
0、簡單瞭解一下 CUDA 和 cuDNN
1)什麼是 CUDA
CUDA(ComputeUnified Device Architecture),是顯示卡廠商NVIDIA推出的運算平臺。 CUDA是一種由NVIDIA推出的通用平行計算架構,該架構使GPU能夠解決複雜的計算問題。
2)什麼是cuDNN
NVIDIA cuDNN是用於深度神經網路的GPU加速庫。它強調效能、易用性和低記憶體開銷。NVIDIA cuDNN可以整合到更高級別的機器學習框架中,如谷歌的Tensorflow、加州大學伯克利分校的流行caffe軟體。簡單的插入式設計可以讓開發人員專注於設計和實現神經網路模型,而不是簡單調整效能,同時還可以在GPU上實現高效能現代平行計算。
1、檢視本機的CUDA 驅動適配版本
桌面右鍵開啟英偉達控制面板,點選幫助->系統資訊->元件
可以看到本機支援的是CUDA 10.1 版本,表示是不支援更高版本的。如果你升級驅動,可能會支援更高版本,也可能不會提升。所以就必須安裝 10.1 及以下的版本。
2、CUDA 各個歷史版本下載連結
https://developer.nvidia.com/cuda-toolkit-archive
那根據第一步裡面我自己的機器支援,我就下載10.1(Feb 2019)這個版本。
可以看到版本號是10.1.105,低於第一步裡面的10.1.120,應該是沒問題的。我的下載速度還是很快的:
3、下載 cuDNN
地址:https://developer.nvidia.com/rdp/cudnn-download
下載cuDNN是需要登入英偉達開發者賬戶的,註冊一個並填寫問卷就行了,很簡單。
注意:必須選擇和你安裝的CUDA匹配的版本。
這個賬號密碼要求有大寫字母,有字元:G**_*
上面選擇 10.1版本,然後選擇 windows10 ,接著開始下載。
兩百多兆的壓縮包,不過這次下載速度很慢。
4、安裝 CUDA 和 cuDNN
1)安裝 CUDA
找到你下載的CUDA,無腦安裝就行了。當然如果你想自定義的話要記住你選擇的安裝路徑。
CUDA安裝完成後,開啟命令列輸入 nvcc -V ,成功的話會返回 cuda 版本號:
2)cuDNN
解壓cuDNN壓縮包,可以看到bin、include、lib目錄:
將 bin 目錄裡面的內容複製,然後貼上到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA 對應的 bin 目錄裡面:
同樣的,include 和 lib 目錄裡面的檔案也複製到相應的資料夾裡面。
5、新增環境變數
在系統環境變數的Path項下新增幾個路徑
點選 編輯 -- > 新建,需要新增下面兩個路徑(安裝目錄):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64
6、檢視安裝結果
7、安裝 pyTorch
進入官網 https://pytorch.org/get-started/locally/
在 Anaconda Prompt 裡面執行下面自動生成的命令。
正常情況下到這裡就可以慢慢下載成功安裝了。
注:這裡補充一下新增清華源的方法,命令如下,依次執行:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
然後執行安裝命令:
conda install pytorch torchvision cudatoolkit=10.1 ( 去掉後面的 -c pytorch )
(注: 刪除源的命令是 conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ )
安裝中:
記錄我在這裡遇到了一些坑:
如果使用官方的源,會很慢很慢,如果使用清華源,會顯示有些需要安裝的包沒有。
使用 conda install pytorch torchvision cudatoolkit=10.1 -c pytorch 命令,就會有些用官方源,有些用清華源。