起源
做畢業(yè)設計需要用到pytorch-gpu治宣,那么開始動手配置環(huán)境。需要的有pytorch和cuda,以及最后在jupyter notebook里寫代碼。conda是一個優(yōu)秀的包管理器对雪,而且可以配置多種不同的語言環(huán)境以適應不同的需求,所以選用miniconda(anaconda也一樣)來進行環(huán)境配置米绕。
下面是方法步驟
查看電腦上英偉達顯卡驅動對應的cuda版本
打開NVIDIA控制面板瑟捣,點擊幫助 - 系統(tǒng)信息 - 組件,查看顯卡驅動對應的cuda版本栅干。NVCUDA.DLL那一項迈套,我的顯示是CUDA8.0.0。
決定需要使用的python版本
如果在pytorch官網(wǎng)能找到你的cuda版本對應的命令行碱鳞,那么記住這個命令桑李,等裝好了conda再來使用
如果上面官網(wǎng)找不到你對應的cuda版本,像我。那么求助這個網(wǎng)站贵白,找到自己cuda版本的安裝命令以及對應的python版本率拒。同樣記住這個命令。以我為例戒洼,我使用的版本是python3.7+cuda8
下載安裝miniconda(或anaconda)
miniconda比較小圈浇,anaconda比較大。但是minconda就能夠滿足我的要求靴寂,所以我選用minconda磷蜀。最開始的時候我以為需要下載對應python3.7版本的miniconda(其實在使用conda創(chuàng)建環(huán)境的時候可以選擇python版本,如果不是conda的默認python版本百炬,會自行下載安裝)褐隆,于是在miniconda下載地址找到python3.7版本的miniconda下載安裝
安裝過程中有幾點需要注意,此處選擇使用用戶剖踊,如果電腦上只有自己一個用戶庶弃,那么選擇just me就好了,否則后續(xù)手動安裝包的時候會出現(xiàn)權限問題德澈。
記住conda的安裝路徑
安裝完成后歇攻,有的安裝程序可能會讓你安裝個vs,跳過他梆造。安裝程序運行結束之后缴守,在開始菜單中找到Anaconda Prompt,點擊運行镇辉。出現(xiàn)命令行且左邊有一個(base)屡穗,說明安裝成功。
創(chuàng)建一個新的python運行環(huán)境
conda的一個很強大的功能就是可以創(chuàng)建多個不同的環(huán)境忽肛,比如python2+tensorflow村砂,python3+tensorflow,python3+pytorch等屹逛,并且兩兩之間互不影響础废。那么我們接下來創(chuàng)建一個用于運行pytorch的python環(huán)境,運行下面的命令煎源,其中色迂,conda指我們使用conda命令執(zhí)行;create即創(chuàng)建一個新環(huán)境的意思手销;-n即name歇僧,指你要創(chuàng)建的環(huán)境的名字,自己可以任意命名;python=3.7指使用的python版本诈悍,因為我在決定需要使用的python版本時選擇了python3.7+cuda8祸轮,所以使用python3.7,而你可以指定自己的cuda對應的版本(>及之前的字符表示當前目錄和環(huán)境侥钳,為了能更好地分辨在哪個地方輸入命令适袜,不用敲在命令行里):
(base) C:\Users\yi>conda create -n pytorch python=3.7
創(chuàng)建完成后運行下面命令,可以看到本機已創(chuàng)建的所有環(huán)境及當前環(huán)境
(base) C:\Users\yi>conda info --envs
之后使用下面的命令激活該環(huán)境舷夺,命令執(zhí)行完成后苦酱,命令行前面的base換成了pytorch即代表已經(jīng)激活該環(huán)境了,但是現(xiàn)在這個環(huán)境里只有一些標準的python包给猾,沒有pytorch包疫萤,后面繼續(xù)配置。
(base) C:\Users\yi>conda activate pytorch
(pytorch) C:\Users\yi>
在新環(huán)境下配置pytorch
在命令行中運行決定需要使用的python版本這一步中找到的自己的cuda+python版本對應的安裝pyotrch命令
(pytorch) C:\Users\yi>conda install pytorch cuda80 -c pytorch
注意觀察The following packages will be downloaded:處所要下載的pytorch版本敢伸。我的是pytorch-1.7.1-py3.7_cuda110_cudnn8_0扯饶。
運行上面那個命令之后,輸入y回車池颈,讓他下載安裝尾序,由于我在下載pytorch時非常慢,導致一直下載不成功躯砰,需要手動下載這個包并安裝每币。如果你也遇到了一樣的問題,按一下ctrl+c弃揽,跳過這個包脯爪,其他包正常下載。
也可以通過更換源的方式加速下載矿微,但是我當時沒有想到痕慢,所以沒有試過,你自己可以試試看涌矢,如果更換源之后安裝成功了掖举,那么pytorch-gpu就安裝好了,就差一個趁手的編譯器了
直至下載結束娜庇,這個時候我們只差pytorch包沒有下載了塔次,其他的依賴包都已經(jīng)下載完畢。那么我們去尋找這個包的下載地址名秀,找到對應的包復制鏈接放到訊雷里下載(太快了)励负。
將下載下來的tar.bz2包放在命令行提示符顯示的路徑下,比如我是C:\Users\yi匕得。然后運行下面的命令继榆。注意:--use-local后面的字符是自己下載的這個包的文件名全名巾表。
(pytorch) C:\Users\yi>conda install --use-local pytorch-1.7.1-py3.7_cuda110_cudnn8_0.tar.bz2
讓其安裝完成,如果沒有全部done略吨,照著出錯信息整一下然后重啟Anaconda Prompt集币,重新運行上面這個命令就可以完全done了。
上面這個包手動安裝成功之后翠忠,再次運行
(pytorch) C:\Users\yi>conda install pytorch cuda80 -c pytorch
注意命令行提示鞠苟,說要將pytorch1.7.1降級為pytorch1.0.0,還是去這個下載地址下載對應的包秽之,(The following packages will be downloaded:處有包的版本)当娱。重新安裝這個包然后又運行一次命令,最終完成考榨。
(pytorch) C:\Users\yi>conda install pytorch cuda80 -c pytorch
在命令行輸入如下命令趾访,沒有報錯即配置成功
(pytorch) C:\Users\yi>python Python 3.7.9 (default, Aug 31 2020, 17:10:11) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>>
用jupyter notebook寫代碼
因為我自己原先就裝了jupyter notebook,所以沒有在環(huán)境中安裝也成功了董虱,若你沒有則自己安裝一下jupyter。安裝完jupyter之后申鱼,運行下列命令愤诱,第一個命令安裝ipykernel,第二個命令給剛才創(chuàng)建的環(huán)境整一個jupyter的kernel捐友,其中--name后面的pytorch是剛才創(chuàng)建的環(huán)境的名字淫半,--display-name后面是在jupyter中顯示的該kernel的名字。
(pytorch) C:\Users\yi>pip install ipykernel
(pytorch) C:\Users\yi> python -m ipykernel install --user --name pytorch --display-name "Python3.7(Pytorch)"
執(zhí)行完畢后匣砖,運行命令就會在瀏覽器打開jupyter notebook
(pytorch) C:\Users\yi>jupyter notebook
在notebook處點擊New科吭,點擊python3.7(pytorch)即新建一個剛才創(chuàng)建環(huán)境的notebook,在notebook中運行測試代碼得到如下結果猴鲫,最終完成配置对人。