現在很多深度學習的入門者在網上通過百度谷歌都找不到合适的深度學習環境配置資料,要麼内容很雜亂,要麼就是教程已經過時,實際安裝操作過程中各種問題。
為此,我特地嘗試了一下在windows10下去安裝爬坑深度學習環境。目前最火爆的深度學習架構當屬Pytorch,tensorflow也還不錯,但是由于其上手易度不如Pytorch,還是稍微遜色一些,尤其是這兩年cvpr的很多論文一大部分都是基于Pytorch。是以我特地嘗試安裝Pytorch。現在Pytorch大部分安裝的都是GPU顯示卡版,雖然不是很明白整個環境是怎麼連接配接起來的,但是我們隻需要把環境搭建好,會使用Pytorch進行GPU并行計算就可以了。
一、概覽先打開
Pytorch官網,上面把安裝說的非常明白,其實最推薦大家去參考官網的教程,這個是最與時俱進,同時也說的比較仔細,比起百度谷歌CSDN之類更加靠譜一些,唯一的缺點就是英語。
這個表格給出了Pytorch目前最新的穩定版本(1.7.0),各種作業系統版式,Linux,Mac和Windows都有,安裝的方式,使用的程式設計語言,CUDA版本,不得不承認Pytorch官網更新的很快,上周安裝的還是1.6.0版本,這周打開直接是1.7.0了,同時還支援CUDA11.0了,上周隻能支援到CUDA10.2。一般建議安裝最新的穩定版;作業系統咱們這塊選擇Windows;安裝方式目前用的多的還是Conda和Pip,這篇文章我主要說怎麼拿Conda安裝,這個非常友善;CUDA版本建議下載下傳Pytorch目前支援最新的版本,比如11.0,下太老的版本,Nvidia顯示卡驅動會提示CUDA版本太老了。首先是把深度學習架構以外的CUDA和CuDnn安裝好,這個是獨立于深度學習架構的。
二、準備工作在安裝CUDA之前,根據CUDA官方安裝文檔提示,首先需要安裝好對應版本的Visual Studio:
VS下載下傳個社群版Community的就可以了,我裝的是最新的
VS2019-16.7.7,一定要記得安裝對應版本的VS,不然其他的都安裝好了以後,編譯程式的時候會提示這個錯誤:
UserWarning: Error checking compiler version for cl: [WinError 2] The system cannot find the file specified
這個報錯裡面的cl.exe就必須通過安裝vs來解決。下載下傳下來的直接是Visual Studio Installer,以後都可以通過這個來管理VS裡面需要下載下傳或者安裝的子產品:
把使用C++的桌面開發勾選上,就能把cl.exe安裝好。整個安裝好了以後,把包含cl.exe的檔案目錄添加到PATH環境變量裡,環境變量怎麼添加這個就自行百度,具體的我添加的cl.exe的路徑是:
C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.27.29110binHostx64x64
三、安裝顯示卡驅動 在安裝CUDA之前首先更新一下
Nvidia驅動,選擇對應的顯示卡就可以了:
筆記本選擇帶Notebooks的系列,選擇最新的顯示卡驅動,不熟悉的童鞋,全部都勾選安裝好就行了:
四、安裝CUDA安裝CUDA之前,可以通過
英偉達官網給出的支援CUDA的GPU清單檢查自檢查自己的顯示卡是否支援CUDA,在
CUDA下載下傳頁面選擇合适的CUDA版本,這裡我們選擇當下Pytorch支援的最新的CUDA11.0,我選擇CUDA Toolkit 11.0 Update1,單機進入,選擇作業系統Windows,版本是10,安裝類型選exe[local],點選右下角的Download(2.8GB),最後下載下傳下來,也就是cuda_11.0.3_451.82_win10.exe,:
有耐心的童鞋最好安裝的時候好好看看
CUDA Windows官方安裝文檔,裡面講的很詳細:
下載下傳好了後,直接一路單機預設安裝就行了,細心的童鞋可以隻選擇CUDA元件,但是對于新手來說,還是建議預設都安裝。
安裝好了CUDA以後,CMD指令行視窗輸入以下指令可以檢查安裝的CUDA版本:
nvcc -V
除此之外,我們還需要通過運作CUDA官方提供的deviceQuery示例程式來檢查CUDA是否安裝完好,我的CUDA是預設路徑安裝的,deviceQuery的.sln檔案在以下路徑:
C:ProgramDataNVIDIA CorporationCUDA Samplesv11.01_UtilitiesdeviceQuery
首先用vs編譯deviceQuery檔案,因為我的vs是2019版本的,是以我打開的是deviceQuery_vs2019.sln檔案:
打開vs以後,編譯deviceQuery的release版本:
編譯成功了以後,去以下檔案夾通過cmd運作deviceQuery.exe:
C:ProgramDataNVIDIA CorporationCUDA Samplesv11.0binwin64Release
最後顯示Result = PASS,這個測試就算通過了。
第二個需要測試的是bandwidthTest程式,在以下路徑中:
C:ProgramDataNVIDIA CorporationCUDA Samplesv11.01_UtilitiesbandwidthTest
同樣按照deviceQuery的步驟編譯好.exe檔案,在Release檔案夾中通過CMD運作bandwidthTest.exe:
同樣最後顯示Result = PASS,這個測試就算通過了。基本上以上步驟都通過了,CUDA就算安裝好了。感興趣的童鞋還可以嘗試其他圖形可視化的程式,去release檔案夾通過cmd運作試試,還是有點意思的。
五、安裝CUDNN在
cudnn下載下傳頁面下載下傳不同版本的cudnn,這裡需要你注冊加入NVIDIA才能下載下傳cudnn。注冊好了以後,選擇和CUDA11.0比對的版本cuDNN v8.0.4:
下載下傳完成後,得到一個壓縮封包件,将該檔案解壓到一個地方,這裡我之前是裝的CUDA10.1版本:
按照
cuDNN官方安裝教程,解壓了cuDNN壓縮檔案,得到bin,include,lib三個檔案夾裡的内容,這時候需要把這三個檔案夾中的檔案複制到安裝cuda時所對應的bin,include,lib檔案裡,記住是複制檔案過去,不是複制檔案夾過去(installpath就是解壓cuDNN壓縮包的檔案路徑):
1、複制 <installpath>cudabincudnn*.dll 到 C:Program FilesNVIDIA GPU Computing ToolkitCUDAv11.0bin.
2、複制 <installpath>cudaincludecudnn*.h 到 C:Program FilesNVIDIA GPU Computing ToolkitCUDAv11.0include.
3、複制 <installpath>cudalibx64cudnn*.lib 到 C:Program FilesNVIDIA GPU Computing ToolkitCUDAv11.0libx64.
全部複制過去了以後,再去環境變量裡檢查以下變量是否存在:
變量名: CUDA_PATH
變量值: C:Program FilesNVIDIA GPU Computing ToolkitCUDAv11.0
建議一定要參考官方的英文教程,網上百度,csdn的有時候經常漏了哪個步驟,或者畫蛇添足一些步驟。
以上就完成了整個CUDA和cuDNN的安裝了。
六、Pytorch安裝pytorch的主流安裝方式是conda和pip。
conda: 依托強大的Anaconda內建開發環境(IDE),很容易上手使用。
pip: 輕量級,純淨,适合喜歡簡約風格的人,不過調試不友善。(這裡指的是純python環境下的pip)
這裡我使用Anaconda安裝,當然你如果喜歡用其他的IDE(例如eclips、pycharm等)。
在
Anaconda官網下載下傳好對應作業系統的Anaconda,目前下載下傳的是Python3.8版本。下載下傳好并安裝好了以後,直接打開Anaconda Navigator圖形使用者界面,可以在裡面添加新的環境,并在對應的環境裡面安裝自己需要的Python包,這裡我之前配置的是Pytorch1.6.0的版本,我建立了一個pytorch_160環境:
我們可以通過底欄中間的Create建立新的環境,添加自己需要的環境名,選擇自己需要的Python版本。
或者可以通過選擇Anaconda Prompt指令行建立環境,在對應環境裡面去安裝需要的Python版本:
conda create -n pytorch_160 pip python=3.6
這裡還是建議圖形界面建立環境和安裝Python,友善簡單直覺。如何進入我們建立好的環境中,并安裝相應工具包呢?接下來輸入一下指令:
conda activate pytorch_160
在對應環境安裝包的指令是:
conda install ***
更新包的指令是:
conda update ***
檢視目前環境安裝的所有包及其型号:
conda list
回車後可以發現指令行最前面括号内的環境名發生了變化,緊接着就是安裝我們的pytorch了,去官網找到相應的安裝指令,其實在最初就已經告訴我們了:
conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch
整個過程會自動安裝,同時呢,也會出現确認界面,同上輸入“y”回車即可。
因為安裝包來自網際網路,如果遇到下載下傳速度很慢,建議在指令行中直接更換國内源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# 設定搜尋時顯示通道位址
conda config --set show_channel_urls yes
七、驗證 為了確定PyTorch是否安裝成功,我們需要運作簡單的樣例代碼測試,例如列印出随機生成的張量矩陣,以及gpu是否可以使用。
首先在指令行輸入python,進入python的解釋器,輸入以下指令:
import torch
x = torch.rand(5,3)
print(x)
輸出的内容應該類似于以下:
tensor([[0.7088, 0.3325, 0.9702],
[0.8332, 0.1749, 0.2873],
[0.0983, 0.6658, 0.1809],
[0.4608, 0.6184, 0.9358],
[0.1848, 0.7439, 0.4123]])
如果可以,就說明pytorch安裝基本成功。
再輸入:
torch.cuda.is_available()
如果輸出“True”,則說明GPU驅動和CUDA可以支援pytorch的加速計算!
這樣整個Pytorch Gpu版本就安裝成功了!
同時,這時候可以通過在指令行輸入以下指令檢視顯示卡狀态和顯示卡編号:
nvidia-smi
這裡我的2080TI編号是0,1080編号是1,上面就實時的顯示了顯示卡的顯存使用情況,同時還有nvidia驅動版本,以及cuda版本,不過我這裡cuda版本顯示有問題,實際不是11.1,我之前是裝的10.1,裡面隻有10.1,最開始裝過一次11.1,不過裝了就卸了,實際就一個10.1。這個不影響,你可以去你的cuda安裝目錄看一下有哪幾個版本:
八、把配置好的python環境添加到IDE這裡python的IDE有spyder和pycharm,我選擇使用的是pycharm,可以去
pycharm官網下載下傳與anaconda比對的社群版。
安裝好pycharm以後,把配置的環境加入到pycharm裡面去,這裡我是把我之前建立的pytorch_160環境添加了進去:
然後就可以在pycharm裡面直接跑pytorch代碼了。
結束語最好還是建議童鞋們多看看官網的安裝說明及其各種教程和文檔,靜下心來你就會發現很多細節。
後續如果想學習tensorflow,就不要去網絡上找部落格了,因為個人總結的資訊都存在有過時及定制化的因素,且不負責任,或許我寫的内容也可能下周或者不久就過時,也不負任何責任,正确做法建議參照上面一句話。
參考我若成風:windows10下安裝GPU版pytorch簡明教程zhuanlan.zhihu.com
PyTorchpytorch.org