從零開始深度學(xué)習(xí)Pytorch筆記(1)——安裝Pytorch

聊到深度學(xué)習(xí), 大家第一感覺就是很高大上。就像我們曾經(jīng)說到機(jī)器學(xué)習(xí),很多人也是感覺很高大上,但是慢慢接觸之后,發(fā)現(xiàn)其無非是數(shù)學(xué)+編程實現(xiàn),所以從線性回歸開始,不斷學(xué)習(xí),把各種機(jī)器學(xué)習(xí)方法都學(xué)習(xí)了一遍,并能夠通過Python的sklearn庫編程實現(xiàn)。有很多朋友和我聊到學(xué)習(xí)深度學(xué)習(xí)這個事情,我會推薦他們?nèi)タ匆恍┫嚓P(guān)理論算法,從CNN、RNN到LSTM,從各種傳統(tǒng)的深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)到比較新的網(wǎng)絡(luò)結(jié)構(gòu)。在這個過程中發(fā)現(xiàn)了一點(diǎn),就是他們看完了網(wǎng)絡(luò)結(jié)構(gòu)和算法原理后,往往難以下手去操作,因為Python使用sklearn庫實現(xiàn)機(jī)器學(xué)習(xí)的流程非常方便,而且學(xué)習(xí)了Python的numpy、pandas基礎(chǔ)即可快速上手,而深度學(xué)習(xí)的編程則需要更上一層,對Python新手不太友好,基礎(chǔ)部分的張量各種操作和計算圖編程都會讓新手頭大,而深度學(xué)習(xí)還面臨著選擇深度學(xué)習(xí)框架的問題,可供我們選擇的框架實在太多,例如較為流行的Tensorflow、Pytorch、Keras、Mxnet、PaddlePaddle等等。各種相關(guān)的書也是如雨后春筍般出版出來,我翻看過一些書,還看過一些目錄,發(fā)現(xiàn)了一個現(xiàn)象,就是各種深度學(xué)習(xí)框架書在對應(yīng)的深度學(xué)習(xí)框架基礎(chǔ)部分講解往往不夠詳細(xì),讓人看完覺得跳躍感很大,而過于強(qiáng)調(diào)各種網(wǎng)絡(luò)結(jié)構(gòu)的實現(xiàn),這十分不利于新手進(jìn)行學(xué)習(xí)。而且初學(xué)者會了解到深度學(xué)習(xí)需要使用GPU訓(xùn)練模型,對于沒有GPU配置的初學(xué)者,往往覺得學(xué)習(xí)之路出現(xiàn)了第一道坎,而對于有GPU的初學(xué)者,往往因為GPU環(huán)境搭建太復(fù)雜而從入門到放棄。其實沒有GPU環(huán)境,也是可以進(jìn)行深度學(xué)習(xí)編程學(xué)習(xí)的。我個人的感受是,GPU環(huán)境的搭建變得越來越容易,這是我們放開去學(xué)習(xí)深度學(xué)習(xí)的一個好時機(jī),關(guān)于在《從零開始深度學(xué)習(xí)Pytorch筆記》連載中,我會一步步從安裝Pytorch環(huán)境開始寫,慢慢夯實Pytorch的基礎(chǔ),再帶大家熟練使用Pytorch編程網(wǎng)絡(luò)結(jié)構(gòu),實現(xiàn)深度學(xué)習(xí)算法。
聊聊為什么使用Pytorch,個人覺得Pytorch比Tensorflow對新手更為友善,大家如果對Tensorflow也感興趣,完全可以學(xué)習(xí)了Pytorch之后繼續(xù)學(xué)習(xí)Tensorflow。接下來進(jìn)入正題吧:如果你沒有g(shù)pu環(huán)境,想使用Pytorch,打開Pytorch的官網(wǎng):https://pytorch.org/在首頁我們可以看到有各種配置可選,我們這里選擇CPU的版本(CUDA部分選擇None):
根據(jù)你的操作系統(tǒng),還有Python的版本可以選擇不同選項(當(dāng)然Python版本問題其實問題不大,因為我們可以通過創(chuàng)建虛擬環(huán)境搞定,詳情見:你不知道的Python環(huán)境管理技巧,超級好用! )選完選項之后,我們看到底部出現(xiàn)了一個命令,我們將命令復(fù)制到cmd中運(yùn)行,即可安裝cpu版本的Pytorch(本配置生成的命令為:
pip3 install torch==1.3.1+cpu torchvision==0.4.2+cpu -f https://download.pytorch.org/whl/torch_stable.html
如果下載過慢,可以切換鏡像下載,戳這里:Python快速安裝庫的靠譜辦法當(dāng)然,如果你有GPU環(huán)境,或者愿意為學(xué)習(xí)深度學(xué)習(xí)去配置GPU,我們可以搭建GPU的Pytorch環(huán)境。GPU環(huán)境具體搭建流程如下:
(1)安裝Python編程環(huán)境首先是你得有個Python編程環(huán)境,如果沒有,推薦安裝Anaconda,這個是Python的集成環(huán)境,這個Anaconda的安裝方法在網(wǎng)絡(luò)上教程很多(推薦的是對應(yīng)Python3.6或3.7)。(2)安裝CUDA
我們可以看到,Pytorch對應(yīng)的CUDA版本為9.2或者10.1:
我們選擇CUDA9.2進(jìn)行下載進(jìn)入CUDA9.2的下載界面https://developer.nvidia.com/cuda-92-download-archive選擇相應(yīng)的參數(shù)后我們點(diǎn)擊下載文件:
運(yùn)行下載好的CUDA安裝包:
使用默認(rèn)路徑點(diǎn)擊OK安裝,一路按照默認(rèn)安裝即可。
安裝完成后,測試CUDA是否安裝成功,復(fù)制安裝路徑:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin打開cmd,切換到安裝路徑下,執(zhí)行: nvcc-V
可以看到CUDA成功安裝了。(3)安裝cuDNNcuDNN需要注冊登錄才能下載,cuDNN下載頁面如下:https://developer.nvidia.com/cudnn登陸后,點(diǎn)擊Download即可:
然后點(diǎn)擊I Agree,點(diǎn)擊CUDA9.2,點(diǎn)擊win10下載:
之后我們將下載的cuDNN的壓縮包解壓
將解壓出的cuda文件夾下的三個文件夾復(fù)制到cuda安裝目錄下,去覆蓋掉cuda目錄下的三個同名文件夾
cuDNN安裝完成。然后進(jìn)入demo_suite文件夾,查看cuDNN是否安裝成功:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\extras\demo_suite切換到該路徑下執(zhí)行bandwidthTest.exe
結(jié)果如下圖:顯示PASS,則cudnn安裝成功。
我們輸入deviceQuery.exe 可以查詢設(shè)備信息:
最后那段顯示的信息:deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.2, CUDA Runtime Version = 9.2, NumDevs = 1, Device0 = GeForce GTX 1060 6GB
Result = PASS說明CUDA和cuDNN都安裝成功,還顯示了我的顯卡是GTX 1060 6GB。(4)安裝Pytorch
回到Pytorch網(wǎng)站:
https://pytorch.org/我們的選擇如下:
可以看到安裝命令中有個網(wǎng)站:
https://download.pytorch.org/whl/torch_stable.html我們Ctrl+F搜索:CU92/torch-1.2.0
可以找到我們要的:cu92/torch-1.2.0%2Bcu92-cp37-cp37m-win_amd64.whl然后點(diǎn)擊下載即可。然后搜索:torchvision-0.4.0
找到我們要的:cu92/torchvision-0.4.0%2Bcu92-cp37-cp37m-win_amd64.whl點(diǎn)擊下載即可。(5)創(chuàng)建項目環(huán)境我們打開Python的IDE,例如我喜歡的VS Code,你也可以使用其他軟件。
打開后創(chuàng)建一個py文件名為hello pytorch.py(名字任意)。然后在TERMINAL中創(chuàng)建虛擬環(huán)境:輸入:conda create -n pytorch-gpu python=3.7,并且回車運(yùn)行
關(guān)于為什么要創(chuàng)建虛擬環(huán)境可以看這里:你不知道的Python環(huán)境管理技巧,超級好用!等創(chuàng)建完成后,激活虛擬環(huán)境:conda activate pytorch_gpu
然后進(jìn)入到剛才兩個文件的下載目錄,我們要在該虛擬環(huán)境中安裝pytorch我的電腦上目錄是:C:\Users\Administrator\Downloads
然后進(jìn)到目錄下pip install 回車進(jìn)行安裝兩個文件:
我們在py文件中輸入:
import torch
print("hello pytorch{}".format(torch.__version__))
print(torch.cuda.is_available())
然后運(yùn)行代碼:
結(jié)果顯示Pytorch安裝成功,Pytorch版本為:pytorch1.2.0+cu92CUDA可用!至此,我們的Pytorch GPU版安裝成功,如果需要安裝過程中的各種資源,可以在公眾號回復(fù) “ pytorch安裝 ” 獲取。
評論
圖片
表情
