首頁 > 軟體

使用Anaconda建立Pytorch虛擬環境的排坑詳細教學

2022-12-09 14:02:40

一.Pytorch虛擬環境簡介

Torch是一個用於深度學習的=數學計算庫,而Pytorch則是一個基於Torch的Python機器學習庫,可看作其提供了Torch應用於Python的介面。而搭建Pytorch虛擬環境,通俗地講,就是搭建一個包含了Pytorch的相關包的Python直譯器的環境,即是專門用於處理基於Python的深度學習的問題的環境。

二.CUDA簡介

CUDA(Compute Unified Device Architecture)中文名為統一計算裝置架構,,是顯示卡廠商NVDIV推出的運算平臺,可以幫助GPU處理圖形相關的計算問題。

我們可以通過在命令列輸入以下命令來檢視我們電腦的CUDA版本設定,下面可以看到我的CUDA版本為11.7(若電腦沒有獨立顯示卡,則該命令輸入無效,獨立顯示卡問題在第四部分說明,可先看第該部分說明)。

nvidia-smi

(這裡說明一下,因後面的命令列操作有些操作需要以管理員身份執行,所以建議大家從一開始就以管理員身份執行命令列視窗)具體操作方法有以下兩種:

1. Windows開始視窗->Windows系統->命令提示字元(注意先不要直接左鍵開啟)->右鍵->更多->以管理員身份執行。

2. 快捷鍵win+R開啟執行視窗,再輸入cmd(注意不要直接執行),再快捷鍵ctrl+shift+enter以管理員身份執行。

三.Conda設定Pytorch環境

1.conda安裝Pytorch環境

同樣以管理員身份進入命令提示字元視窗,在命令列中輸入一下命令,我這裡以python3.10直譯器為例,安裝的環境命名為pytorch,這個環境名可以自定義。

conda create -name pytorch python=3.10

 輸入y,再回車。

即完成了Pytorch的環境安裝。我們可以利用以下命令啟用pytorch環境。當前面出現(pytorch)字首時,代表已經進入pytorch環境。

activate pytorch

可能有些人會發現,自己建立的環境在自己自定義的安裝的Anaconda路徑的envs目錄下沒有找到,那麼這個環境就是被安裝到了C槽使用者名稱目錄下的.conda資料夾中的envs目錄下了。

因為往往在環境中新增了包以後,環境資料夾會有好幾個G,所以最好不要放在它預設的路徑下。如果你不覺得麻煩,那麼可以用一個比較笨的方法,就是每次新建完一個環境後,就把上圖中的envs目錄直接複製到你自己的Anaconda的安裝目錄中。另外還有一個(看似)高階一點的方法,就是找到上圖中的.conda目錄的同級目錄下的一個叫做.condarc的檔案,用記事本開啟它。

 在裡面加上以下內容。

envs_dirs:
  - D:360DownloadsAnaconda3envs
pkgs_dirs:
  - D:360DownloadsAnaconda3pkgs

這裡是我的Anaconda的安裝路徑設定到了D:360DownloadsAnaconda3下,大家可以將前面的部分改為自己的Anaconda的安裝路徑。這樣子之後再建立的虛擬環境都會自動安裝到這裡自己定義的目錄下。

另外我們可以通過以下命令來檢視已建的環境

conda env list

其中base為Anaconda的預設環境,python310是我自己之前搭建的環境,pytorch就是現在搭建出來的pytorch環境。

我們可以在啟用的pytorch環境下用以下命令檢視一下新建立的環境中包含哪些包。

conda list

可以看到新建的環境中的包並不包含pytorch的相關包,需要我們手動安裝。

2.conda下載安裝pytorch包

這裡主要說明安裝GPU版的pytorch包。因為pytorch包需要與CUDA版本相匹配,所以需要根據自己機器的CUDA版本選擇對應版本的pytorch包進行安裝。根據上面利用nvidia-smi命令查詢的本機CUDA版本,可以對應在PyTorch這裡查詢安裝對應型號的pytorch包的命令。我上面查詢的我的CUDA版本為11.7,那麼我可以安裝CUDA11.7以下的版本的pytorch包,這裡我就選擇11.6。

要在啟用的pytorch環境下,複製以上方框中的命令開始下載安裝包(注意必須要在pytorch環境中輸入!!!否則會裝到Anaconda的預設base環境中!!!)。其中-c pytorch中的c表示channel,即下載渠道,是國外的渠道,所以很有可能會出現安裝非常緩慢的情況。那麼我們就可以選擇國內的映象源來下載,我這裡選用清華映象源。具體操作有2種方式:

1. 在命令列輸入

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
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/
config --set show_channel_urls yes

其中最後一句是在安裝時可以顯示安裝的包的來源。

2. 同上述找到.condarc檔案的位置,同樣用記事本開啟,在最上面加上以下內容加上以下內容

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - conda-forge

這樣就將清華映象源加入到了路徑中,之後安裝包時,搜尋渠道會先從該映象源查詢,速度會快很多。可以通過以下命令檢視下載渠道和環境安裝路徑等資訊。

conda info

加入好這些渠道後,就可以用上述命令安裝pytorch包了。首先同上述方法在啟用的pytorch環境下輸入前面的下載命令,但這時候就可以把-c pytorch即其之後的引數部分都刪除掉了,即

conda install pytorch torchvision torchaudio cudatoolkit=11.6

輸入上面的命令回車後,會出現上面這個需要安裝的包的列表,其中我們需要的pytorch包也在這裡框出來了,右邊對於這個包的版本說明的最後面的cuda11.6_cudnn8_0就表示下載的為GPU版本的pytorch包(CPU版本的在最後面會帶有cpu的字樣)。那麼我們就可以輸入y,然後回車等待下載了。如果中途安裝的進度條卡主不動了,那可能是因為網路不太穩定,可以逐次按下快捷鍵Ctrl+C退出安裝,然後輸入上述命令重新安裝

下載完成後,可以在pytorch環境下,同上述輸入conda list命令檢視安裝好包後的所有包的列表。

可以看到GPU版的pytorch和相關的包已經安裝成功了 。

3.測試

安裝完pytorch包後,在pytorch環境下輸入以下命令進入該環境下的python介面。

python

這裡顯示了python直譯器版本為3.10.4,後面括號中的時間表示該版本的發行時間。(另外這裡說明一下,當退出pytorch環境後,再次輸入python命令結果如下)

這裡顯示版本為3.9.12,這個為我安裝的Anaconda的預設的base環境下的python直譯器版本,但如果我們想要使用python其他版本的直譯器,只需要像上面建立pytorch環境時指定python直譯器版本即可,比如我這裡就指定了器建立包含3.10版本的直譯器的pytorch環境,同時在Pycharm中選擇這個環境下的直譯器,即可使用3.10版本的直譯器,並且包含我們在這個環境下安裝的包。另外上面的Waring警告只是表示說這個python命令沒有在指定環境中執行,那麼系統選擇了預設的base環境的python直譯器,如果想要去掉這個警告,那麼只需要先輸入activate命令先進入base環境,就不會再出現這個警告了,如下:

話題回到檢驗測試pytorch環境下的pytorch包的安裝情況,可以先進入pytorch環境,並在環境下輸入python命令進入python介面,再依次輸入如下指令:

import torch
import torchvision
print(torch.cuda.is_available())

若均不報錯,並且最後一個輸出為True,則表示GPU版的pytorch包安裝成功,pytorch環境搭建完成。則可以輸入quit()退出python,輸入deactivate指令退出環境。

四.NVIDIA驅動安裝

NVIDIA圖形驅動程式主要用來驅動NVIDIA顯示卡,讓系統改正確識別NVIDIA的圖形顯示卡,可進行2D/3D渲染,發揮顯示卡應有的效能。

首先可以先看一下電腦是否具有獨立顯示卡:進入裝置管理器,找到

方框中的標識具有獨立顯示卡。若沒有,則需要到NVIDIA官網下載合適的NVIDIA驅動程式。 

 然後點選搜尋,然後之後兩個頁面全部點下載,即可開始下載。

然後找到安裝檔案

我下載了兩種檔案作對比,我上面操作下載的檔案是下面的notebook版(筆電版)的,而desktop版的是桌上型電腦版本的。

以筆電版為例,以管理員身份執行下面那個exe檔案,這是臨時解壓檔案的路徑,後續安裝完成後悔刪除,所以就直接按照預設路徑即可,按ok。

 下載臨時檔案完成後,進入安裝介面,然後一路按照預設選項按繼續或下一步即可

然後,在桌面空白處右鍵,選擇NVIDIA控制面板。

 然後選擇管理3D設定,再選擇高效能NVIDIA處理器,點選應用即可。

NVIDIV驅動程式安裝完成,可以通過nvidia-smi命令檢視本機CUDA版本。

五.conda指令

以環境名為pytorch,對應python直譯器版本3.10為例,以下在命令列中的conda指令歸納如下:

建立環境:

conda create -n pytorch python=3.10
conda create --name pytorch python=3.10

刪除環境:

conda remove -n pytorch --all

啟用環境:(對於base環境,可直接簡寫為activate)

activate pytorch

退出環境:

deactivate

下載 / 解除安裝包:

conda install package_name
conda remove package_name

查詢環境中的所有包:

conda list

查詢已搭建的環境:

conda env list

查詢環境中的相關路徑和下載渠道等資訊:

conda info

開啟python直譯器:

python

總結

到此這篇關於使用Anaconda建立Pytorch虛擬環境的文章就介紹到這了,更多相關Anaconda建立Pytorch虛擬環境內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com