搭建時間:2021年2月7日環境套餐:win10 + vs2017 Community + Pytorch-GPU1.7.1(CUDA11.1 + CuDNN8.0.4) + TensorFlow-GPU1.14.0(CUDA10.0.130 + CuDNN7.6.5)
一、基礎知識儲備顯卡:(GPU),主流是NVIDIA的GPU,因為深度學習本身需要大量計算。GPU的並行計算能力,在過去幾年裡恰當地滿足了深度學習的需求。AMD的GPU基本沒有什麼支持,可以不用考慮。驅動:沒有顯卡驅動,就不能識別GPU硬體,不能調用其計算資源。CUDA:是顯卡廠商NVIDIA推出的只能用於自家GPU的並行計算框架。只有安裝這個框架才能夠進行複雜的並行計算。主流的深度學習框架也都是基於CUDA進行GPU並行加速的,幾乎無一例外。【CUDA的本質是一個工具包(ToolKit)】關於CUDA與CuDNN關係形象闡述:CUDA看作是一個工作檯,上面配有很多工具,如錘子、螺絲刀等。cuDNN是基於CUDA的深度學習GPU加速庫,有了它才能在GPU上完成深度學習的計算。它就相當於工作的工具,比如它就是個扳手。但是CUDA這個工作檯買來的時候,並沒有送扳手。想要在CUDA上運行深度神經網絡,就要安裝cuDNN,就像你想要擰個螺帽就要把扳手買回來。這樣才能使GPU進行深度神經網絡的工作,工作速度相較CPU快很多。
二、Nvidia顯卡驅動 + CUDA + CuDNN 安裝指南2.1、如何查看自己電腦是否可以使用GPU加速?如果這一步不滿足,也就說明自己的電腦無法配置GPU版本的深度學習環境。
想要使用GPU加速,則需要安裝 CUDA,所以首先需要自己的電腦顯卡是否支持 CUDA 的安裝,也就是查看自己的電腦裡面有沒有NVIDA的獨立顯卡,這裡再說明一下,AMD的顯卡不支持安裝 CUDA 來進行加速,具體查看步驟如下:
第一步:開始菜單輸入框輸入設備管理器,打開設備管理器,找到顯示適配器後點擊打開下單,查看電腦顯卡型號:
在這裡插入圖片描述上面顯卡有兩個,第一個是核顯,第二個才是獨顯
第二步:在NVIDA官網列表中,地址:https://developer.nvidia.com/cuda-gpus,查看自己的顯卡型號是否在NVIDA列表中,若存在則可以下載 CUDA 實現GPU加速,這裡可以看到我的臺式機顯卡 GeForce GTX 960 ,算力為 5.2(筆記本 GTX 960M 算力是5.0),當然如果你的顯卡運算能力在3.0以下,那沒有適合你的 CUDA 版本。
小知識:GeForce GTX 960 用在臺式機;GeForce GTX 960M 用在筆記本。
2.2、CUDA安裝2.2.1、CUDA 安裝前的絮叨安裝CUDA之前,我們需要做一些準備工作,一起先來看下NVIDIA的官方的CUDA下載安裝文檔,CUDA11.2 安裝文檔地址:https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html。
其他CUDA版本的安裝文檔地址見:https://developer.nvidia.com/cuda-toolkit-archive
可以看到,如果我們想要下載安裝CUDA需要有:NVIDA的顯卡、Windows系統和Visual Studio。即:
第二步:查看自己是否有支持的版本的微軟Windows系統,具體大家可看上圖表1。第三步:查看自己是否有支持版本的Visual Studio,因為我們在安裝CUDA時需要用到其中的組件,具體請看上圖表2。安裝工作總結:
查看自己是否有NVIDA顯卡驅動程序,沒有請下載安裝官網下載安裝 Microsoft Visual Studio(申請一個微軟帳號)這裡以安裝 CUDA11.2 和 VS2017 免費社區版為例。
2.2.2、查看顯卡是否支持CUDA查看自己是否有支持安裝CUDA的NVIDIA顯卡,見上文 2.1小節。
2.2.3、安裝 Nvidia 顯卡驅動查看是否有NVIDA顯卡驅動程序,如果有,就不用安裝了(一般剛裝完系統都會安裝這些驅動),建議自動更新驅動程序一下;沒有,請下載安裝,地址:https://www.geforce.cn/drivers,有兩種安裝方式。自動和手動,選擇適合自己電腦的顯卡驅動下載,安裝很簡單,直接下一步,默認系統安裝路徑就可以。
這裡我選擇了官網的自動安裝,它給我下載了兩個軟體:
打開Geforce Experience軟體,點擊右上角的檢查更新文件,如果有更新提示,點擊更新即可。
安裝完後,在桌面右鍵選擇 NVIDA 控制面板,查看GPU顯卡所支持的CUDA版本。接著依次點擊:NVIDIA控制面板 -> 幫助 -> 系統信息 -> 組件,可以看到 NVCUDA64.DLL 後面的 CUDA 參數。該參數表示顯卡支持的 CUDA 最高版本,我的顯示11.2.135,所以我下載安裝 CUDA11.2 及以下的版本即可。
CUDA版本要求的系統驅動版本一定要確定好,一般系統驅動版本越高支持的CUDA版本越多!下圖是 CUDA11.2 匹配的 windows 驅動版本截圖。
更多版本匹配信息可參考這裡。
因為CUDA在安裝時,需要 VS 裡面的工具包來編譯。VS這裡我安裝的是社區免費版VS2017,無需秘鑰key就可以使用,也可以使用其它版本,但是需要key。需要注意的是,在CUDA的安裝過程中,會自動檢測本機是否已經安裝了配套的VS版本其中之一,如果VS版本和Cuda版本不匹配的話,安裝無法進行。所以一定要根據自己的CUDA安裝版本確定配套的Visual Studio版本,在 CUDA 11.2 的安裝文檔中,我們可以看到,VS2017 和 CUDA11.2 是匹配的。
第一步:到微軟Visual Studio官方網站進行VS2017安裝包下載,這裡需要註冊一個微軟帳號並訂閱一個服務(不訂閱頁面會一直打不開...),如果沒有的話按步驟進行註冊、登錄即可,VS2017 社區版下載地址:https://my.visualstudio.com/Downloads?q=Visual%20Studio%202017
第二步:下載完安裝包後雙擊,在工作負載處,勾選「C++的桌面開發」(其他的可不勾選,若需要的話,後面可再次安裝)
第三步:選擇軟體安裝位置選擇軟體要安裝到的地方,建議安裝到專門放軟體的盤,不要安裝到系統盤C,然後點擊開始進行安裝
第四步:正式安裝,這個過程需要等待一會兒時間
第五步:安裝完後,按照網上說電腦會提示重啟,但是我並沒有重啟提示,為了以防萬一,我這裡手動重啟下。
安裝成功後的界面如下:
CUDA Toolkit本地安裝包時內含特定版本Nvidia顯卡驅動的,所以只選擇下載CUDA Toolkit就足夠了,如果想安裝其他版本的顯卡驅動就下載相應版本即可。所以,NVIDIA顯卡驅動和CUDA工具包本身是不具有捆綁關係的,也不是一一對應的關係,只不過是離線安裝的CUDA工具包會默認攜帶與之匹配的最新的驅動程序。故,在使用多個CUDA的時候就不要選擇離線安裝的CUDA了,否則每次都會安裝不同的顯卡驅動,這不太好,我們直接安裝一個最新版的顯卡驅動,然後在線安裝不同版本的CUDA即可。
第一步:到官網下載CUDA安裝包,前面我們已經查看到了電腦GPU顯卡所支持的CUDA版本為11.2,下載地址:https://developer.nvidia.com/cuda-toolkit-archive
明明顯示11.2,不知道為啥下載出來的文件名是11.1....
第二步:下載完後,雙擊打開安裝程序,為CUDA選擇臨時解壓文件夾。
第三步:同意並繼續後,選擇自定義安裝
第四步:安裝組件,全部勾選,點擊下一步
第五步:選擇安裝位置,這裡建議默認安裝,也可手動安裝,但是要記得自己安裝的位置,因為後面需要配置系統環境變量。(這裡我就不改了)
第六步:開始準備安裝,等待安裝完成,這需要等待一段時間
安裝完成界面如下,點擊下一步,就安裝完成了
第七步:安裝完成後,就需要我們配置 CUDA 的環境變量了,我們在計算機上點右鍵,打開屬性->高級系統設置->環境變量,可以看到系統中多了幾個環境變量,如CUDA_PATH和CUDA_PATH_V11_1。
CUDA 安裝好後,自動默認幫我們設置好了幾個環境變量。為了方便日後配置VS使用CUDA,這裡我們再手動添加以下5個環境變量。
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64%CUDA_PATH%...前面的%,作用其實就是加上CUDA_PATH的路徑,也就是上圖的C:\Program Files\.
配置成功之後的圖:
第八步:查看CUDA是否安裝成功
配置完系統環境變量之後,我們就可以查看CUDA是否安裝成功以及環境變量配置情況。
①、查看CUDA安裝版本:Win + R 打開cmd ,輸入命令:nvcc --version。
在這裡插入圖片描述
②、查看設置環境變量情況:輸入命令:set cuda
在這裡插入圖片描述
③、在命令窗口運行測試文件,驗證deviceQuery和bandwidthTest。首先定位到 cuda 安裝目錄下的:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\extras\demo_suite 目錄,接著分別輸入deviceQuery.exe,bandwidthTest.exe 並運行。如果兩個命令的Result=PASS則說明通過,反之,Rsult=Fail 則需要重新安裝,如下圖所示。
在這裡插入圖片描述
在這裡插入圖片描述
nvidia-smi看的GPU相關信息更多,參數解讀參考這裡,注意這裡的CUDA Version指的不是你在使用的CUDA版本,想看在使用的CUDA版本輸入ncvv -V命令!
如果以上都沒問題,則說明CUDA安裝成功。
至於 CUDA 安裝成功之後的使用,我們可以在Visual Studio中寫C++代碼使用,也可以在 Anaconda 和 Pycharm 中寫 Python 代碼使用。
2.3、安裝CuDNNCuDNN(常見的神經網絡層加速庫文件),能夠很大程度把加載到顯卡上的網絡層數據進行優化計算,CUDNN可以在CUDA基礎上加速2倍以上。
2.3.1、再捋一下:NVIDIA的顯卡驅動器、CUDA和cuDNN的關係NVIDIA的顯卡驅動器與CUDA
NVIDIA的顯卡驅動程序和CUDA完全是兩個不同的概念,CUDA是NVIDIA推出的用於自家GPU的並行計算框架,也就是說CUDA只能在NVIDIA的GPU上運行,而且只有當要解決的計算問題是可以大量並行計算的時候才能發揮CUDA的作用。
NVIDIA顯卡驅動和CUDA工具包本身是不具有捆綁關係的,也不是一一對應的關係,CUDA本質上只是一個工具包而已,所以我可以在同一個設備上安裝很多個不同版本的CUDA工具包,一般情況下,我只需要安裝最新版本的顯卡驅動,然後根據自己的選擇選擇不同CUDA工具包就可以了。
CUDA和cuDNN關係
CUDA看作是一個工作檯,上面配有很多工具,如錘子、螺絲刀等。cuDNN是基於CUDA的深度學習GPU加速庫,有了它才能在GPU上完成深度學習的計算。它就相當於工作的工具,比如它就是個扳手。但是CUDA這個工作檯買來的時候,並沒有送扳手。想要在CUDA上運行深度神經網絡,就要安裝cuDNN,就像你想要擰個螺帽就要把扳手買回來。這樣才能使GPU進行深度神經網絡的工作,工作速度相較CPU快很多。
注意:CuDNN是一個SDK,是一個專門用於神經網絡的加速包,它跟我們的CUDA沒有一一對應的關係,即每一個版本的CUDA可能有好幾個版本的CuDNN與之對應,但一般有一個最新版本的CuDNN版本與CUDA對應更好。
CuDNN支持的算法
激活函數的前向後向過程,如(Relu、Sigmoid、Tanh )等2.3.2、CuDNN的下載與安裝第一步:官網下載CuDNN的安裝包,地址:https://developer.nvidia.com/cudnn,這裡需要你註冊一個帳號,按照要求註冊完就可以下載安裝包了,這裡我的CUDA安裝的是11.2版本的,我就安裝與我CUDA對應的CuDNN了。
在這裡插入圖片描述
windows下好像只有x86版本的....
第二步:下載好安裝包後,利用解壓軟體解壓出來
在這裡插入圖片描述
第三步:複製粘貼 bin、include、lib三個文件夾裡的文件到CUDA安裝目錄的對應文件夾內進行覆蓋替換。
CUDA安裝目錄:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1
注意:CuDNN下的 lib 文件夾是複製 x64 文件夾下的文件到 CUDA 安裝目錄下的 lib\x64 中。
注意是複製文件到bin、include、lib目錄,不是複製目錄。
CuDNN到此安裝成功!
2.4、安裝 Pytorch-GPU 1.7.1Pytorch-GPU 有以下三種方式常見的安裝方式:
Conda安裝(官網命令下載速度慢,設置鏡像源後可加速)正式安裝 Pytorch-GPU 之前,我們先來為它創建1個虛擬環境。打開 Anaconda Prompt 輸入以下命令,新建一個虛擬環境,Python版本為3.7,並切換到該環境下。命名如下:
conda create -n pytorch_gpu python=3.7
conda activate pytorch_gpu在這裡插入圖片描述2.4.1、使用 conda 安裝(三種方式選一種即可)
第一步:首先我們來到 Pytorch-GPU 的官網,選擇CUDA的安裝平臺以及版本、Conda或者Pip安裝,在下方粘貼複製安裝命令即可。
在這裡插入圖片描述
但是這裡下載速度極慢,很容易出現CondaHTTPError,因為默認的鏡像是官方的,由於官網的鏡像在境外,訪問太慢或者不能訪問,為了能夠加快訪問的速度,我們更改Conda下載安裝包的鏡像源。在 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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes第二步:添加完後,在用戶目錄下,如:C:\Users\wangxubo ,找到 .condarc 文件,使用notepad++打開,刪除裡面的 defaults,這樣速度能快點。
注意:用conda安裝包的標準語法格式為:conda install -c <channel><packagename>,而pytorch官網中conda給的命令行是上圖那樣的,有-c選項,就說明已經指定了官方下載源,所以自己配置的鏡像源不管用,所以應該把-c pytorch去掉,就可以從鏡像源下載文件了。
conda install pytorch torchvision torchaudio cudatoolkit=11.0輸入y,即可正式下載和安裝
友情提示:如果你想再次換源安裝,需要先使用以下命令conda config --remove-key channels恢復默認源的命令,再更換想要的鏡像源,否則會報錯。
小問題:我安裝的cuda版本是11.1,但是pytorch官網的命令是不提供11.1版本的,我直接用了11.0的命令,但是也是可以用的!這是為什麼呢?如果11.0就能代表11.x,那上面為什麼還要寫10.1、10.2作區分呢?
2.4.2、使用 pip 安裝(三種方式選一種即可)過程與上述conda類似,不過選擇了pip安裝方式而已,安裝之前最好先換一下源,在命令行依次輸入以下命令:
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple然後到Pytorch官網複製pip安裝命令即可,如下:
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
2.4.3、使用 輪子 安裝(三種方式選一種即可)比較麻煩,不建議這樣,具體方法可自行網上搜索。
2.4.4、驗證 Pytorch-GPU 是否安裝成功最後我們檢測Pytorch-GPU是否安裝完成,先使用命令pip list查看已安裝的包列表,再輸入命令 python,然後一次輸入以下代碼,若輸出True,即安裝成功。
import torch
torch.cuda.is_available()2.5、安裝TensorFlow-GPU 1.14.02.5.1、使用conda安裝
TensorFlow版本與Python、CUDA、CuDNN版本之間的對應關係見官網。
首先還是先創建一個虛擬環境,並切換到該虛擬環境下,命令如下:
conda create -n tensorflow_gpu python=3.7
conda activate tensorflow_gpu接著使用如下命令安裝GPU版本的TensorFlow,這種方式可以自動安裝與之匹配的CUDA和CuDNN。
conda install tensorflow_gpu=1.14.0在這裡插入圖片描述
小問題:上面我安裝的CUDA版本是11.1,但是TensorFlow1.14.0按照官網的說法應該用CUDA10,顯然不匹配。但是我使用conda install tensorflow_gpu=1.14.0這條命令安裝的TensorFlow它自帶CUDA10.0.130和CuDNN7.6.5。那它是怎麼選擇對應的CUDA版本呢?
2.5.2、驗證TensorFlow-GPU是否安裝成功首先輸入python,進入到python編程環境,然後依次輸入以下代碼,如果最後輸出GPU True,則說明TensorFlow-GPU安裝成功。
import tensorflow as tf
print('GPU',tf.test.is_gpu_available())
在這裡插入圖片描述參考Python學習—Anaconda詳細 下載、安裝與使用,以及如何創建虛擬環境,不僅僅只有安裝步驟哦想要使用GPU進行加速?那你必須事先了解CUDA和cuDNN保姆級的CUDA的下載安裝使用,詳細的環境變量配置,不僅僅讓你能夠安裝,還會教你弄懂為什麼要這樣安裝官網安裝Python包太慢?教你三種Pytorch的下載安裝方式,保證你再也不用出現Errorpytorch gpu版本的小白安裝教程,含環境配置、CUDA(百度雲下載)安裝程序失敗解決方案windows10下安裝GPU版pytorch簡明教程tensorflow各個版本的CUDA以及Cudnn版本對應關係