Windows下Miniconda+Pytorch+Pycharm開發(fā)環(huán)境搭建指南
給本科生寫的新手教程,遇到很多新手的共性問題,可供大家參考。在開始閱讀之前,請注意兩個要關鍵:1.為什么要使用Conda而不在本地直接安裝Python,體會Conda帶來的區(qū)別和優(yōu)勢。2.明確CUDA版本和torch-gpu版的兼容情況。
1. Conda介紹與安裝
1.1 Conda簡介
Conda是一個開源的軟件包管理系統(tǒng)和環(huán)境管理系統(tǒng),用于安裝多個版本的軟件包及其依賴關系,并在它們之間輕松切換。是最流行的Python環(huán)境管理工具。
1.2 為什么要使用Conda?
考慮下圖的場景,三個項目,使用了三種不同的Python和依賴包(特別是在做深度學習相關研究的場景下,需要復現(xiàn)其他論文的代碼工作進行對比試驗,不同版本的庫很可能存在許多沖突),如果你在本地直接安裝Python,會產生沖突。難道我們要先創(chuàng)建項目A的環(huán)境運行項目A,然后卸載該A環(huán)境再創(chuàng)建項目B的環(huán)境運行項目B…
但是如果使用Conda,就可以通過Conda,在本地同時創(chuàng)建多個Python環(huán)境,并在它們之間輕松切換,每個環(huán)境都是獨立的,不會影響其他環(huán)境。
1.3 Anaconda vs. Miniconda
是Conda的兩種發(fā)行版,Anaconda比較繁雜笨重,miniconda比較干凈輕量。
Anaconda是一個打包的集合,里面預裝好了conda、某個版本的python、眾多packages、科學計算工具等等,就是把很多常用的不常用的庫都給你裝好了。
Miniconda,顧名思義,它只包含最基本的內容—python與conda,以及相關的必須依賴項,對于空間要求嚴格的用戶,Miniconda是一種選擇。就只包含最基本的東西,其他的庫得自己裝。
建議使用Miniconda,已裝了Anaconda的同學可以無視。
1.4 Windows下Miniconda安裝與配置
本地直接安裝的Python的同學,如果想換Miniconda,直接把本地的Python直接卸載,如卸載,記得將原本配置的Python環(huán)境變量刪除,否則系統(tǒng)會默認原來的路徑,執(zhí)行某些命令產生錯誤。
過程
- 從Miniconda官網下載安裝包,如圖所示,該選項會默認安裝一個對應Python版本作為base環(huán)境;
- 一路Next和Agree,直到讓你Select Installation Type,
- 這時候建議選擇Just Me,對于有多個硬盤的同學,如果選擇All User,后面創(chuàng)建環(huán)境會默認創(chuàng)建到C盤,
? 即出現(xiàn)如下情況(pytorch環(huán)境裝到了C盤,我們大多數(shù)人不希望把它裝到系統(tǒng)盤);
-
選擇你想要安裝的目標路徑(我這個演示電腦只有一個C盤),然后繼續(xù)Next;
-
建議只勾選?第一個和第三個(創(chuàng)建快捷方式;我們自己添加環(huán)境變量以避免帶來一系列未知沖突;將base環(huán)境的python設置為本機的默認Python;
-
可以都不用勾選;
-
配置環(huán)境變量。在系統(tǒng)環(huán)境變量的PATH變量中,根據(jù)你在本地安裝Miniconda的路徑,添加如下三個環(huán)境變量:
- 理論上已經安裝成功。
驗證
- 打開cmd終端命令提示符,直接輸入命令:conda,出現(xiàn)如下信息即表示安裝成功;
-
直接輸入命令:python,進入python解釋器,會顯示默認的base環(huán)境的Python版本相關信息。
1.5 Conda基本使用
-
初始化,第一次在本機安裝Conda的同學可能會遇到如下問題:
You may need to close and restart your shell after running ‘conda init’.
此時,輸入如下命令執(zhí)行,然后關閉終端命令行窗口重新打開即可。
conda init cmd.exe
-
創(chuàng)建環(huán)境:py39test是環(huán)境名,請自行定義,python=3.9表示在本環(huán)境中安裝Python3.9,根據(jù)自己的需求自行更改。
conda create -n py39test python=3.9
-
激活環(huán)境(即進入某個環(huán)境),進入該環(huán)境后才能對該環(huán)境進行操作。
conda activate py39test
-
退出環(huán)境
conda deactivate
-
刪除環(huán)境,指定環(huán)境名進行刪除。
conda remove -n py39test --all
-
查看環(huán)境
conda env list
可見當前conda中存在base和py39test兩個環(huán)境
-
進入某一環(huán)境后,在當前環(huán)境安裝其他庫與使用pip相似,如:
conda install pandas
當然,也可以在當前環(huán)境直接使用pip進行安裝,二者一般被認為是幾乎相同的。conda存儲庫中提供了1500 多個包,但與PyPI上提供的超過150000個軟件包相比,它仍然很小,因此,很多時候所需要安裝的包只能通過pip安裝。
-
更換下載源
這一步做不做都行。因為conda默認使用官方源進行下載,速度會相對慢,特別是像Pytorch這樣很大的包,可以更換成國內源加速下載,如清華鏡像源。
- Windows 用戶無法直接創(chuàng)建名為
.condarc
的文件,可先執(zhí)行conda config --set show_channel_urls yes
生成該文件之后再修改。該文件自動生成在C盤-用戶-用戶名下。
-
打開.condarc文件后,將內容重置為(注意格式):
show_channel_urls: true channels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ ssl_verify: true
-
然后運行
conda clean -i
清除索引緩存,保證用的是鏡像站提供的索引。 -
后續(xù)如果要使用清華源進行下載,需要將命令最后的’-c pytorch’參數(shù)去掉。
- Windows 用戶無法直接創(chuàng)建名為
-
更多conda命令請自行百度。
1.6 Pycharm集成Conda
在Pycharm中如何使用Conda環(huán)境的Python解釋器呢?
- 打開項目,點擊File->Settings,搜索找到Python Interpreter,在右側點擊Add Local Interpreter…如圖所示:
- 選擇Conda Environment,將Conda executable的路徑設置為MinicondaScripts下的conda.exe文件的路徑,然后點擊右側的Load Environments,加載Conda環(huán)境列表。(注意不要選擇Virtualenv Environment,會自己創(chuàng)建Pycharm自帶的虛擬環(huán)境)
- 注意,點擊Use existing environment,選擇一個現(xiàn)有的Python環(huán)境作為當前項目的運行環(huán)境,Miniconda3即為base環(huán)境,但是也不建議直接使用base環(huán)境,這里我選擇py39test。點擊OK,成功,可以自行運行代碼測試一下。
- 這里如果沒找到,請在interpreter那一行,右邊有個三點,自行找到你安裝的虛擬環(huán)境路徑,添加該環(huán)境下的python解釋器。
Conda自帶的默認的base環(huán)境的解釋器就在安裝Conda的根目錄下:
其余環(huán)境在envs文件夾下;
進入某個環(huán)境文件下,選擇該解釋器的路徑,即可在Pycharm中使用該虛擬環(huán)境。
如圖所示:
2. Pytorch安裝
2.1 Pytorch簡介
一個當前學術界最流行的簡潔、快速、高效、易用、生態(tài)豐富的開源深度學習框架,基于Python,支持GPU加速計算。
2.2 Conda安裝Pytorch
- 注意,安裝之前,請先明確你要在哪個環(huán)境下安裝Pytorch,先激活(conda activate xxx)進入該環(huán)境,才能在該環(huán)境下安裝該庫,否則,會默認安裝在base環(huán)境下。(打個比方,每個環(huán)境就像一個獨立的房間,對其他房間不會有任何影響,你要先進入房間,才能對該房間進行任何操作,并且你的這些操作就不會影響其他房間。)
- 激活進入py38test環(huán)境,在該環(huán)境安裝pytorch,不會影響到其他環(huán)境。
- 激活以后,終端命令行左邊就會帶(當前環(huán)境名),如下圖所示,我已進入本機conda的py38test環(huán)境下:
打開Pytorch官網,根據(jù)需要PyTorch版本、你的操作系統(tǒng)、Conda/Pip(沒有Conda的直接使用pip)、語言、計算平臺選擇指令,官網頁面只提供最新的版本安裝指令。
點擊Install previous versions of PyTorch可以查看過去已發(fā)布的Pytorch版本安裝指令(建議到這里面找,)。
- 注意,官網提供的最新的pytorch1.13版本的安裝指令有個小錯誤:
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -nvidia
最后的’-nvidia前面少了個-c’,更改為
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c -nvidia
此外,Python和Pytorch版本存在對應關系,具體可以查看:torch/torchvision/python版本對應關系。根據(jù)下圖,建議不使用過高或者過低的Python版本,就可以兼容大多數(shù)Pytorch版本。
2.2.1 CPU版本安裝:
本機沒有NVIDIA獨立顯卡的同學只能安裝CPU版,必須是NVIDIA,而且是獨顯,集成顯卡也不行。
命令:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
- 使用清華源的同學,就要去掉最后的’-c pytorch’才能從清華源下載,該參數(shù)表示從pytorch官網下載。
- 此外,該命令默認同時安裝最新的pytorch和torchvision、torchaudio,大家可以根據(jù)自己的需求指定版本(應該是指定pytorch版本即可,torchvision和torchaudio都依賴pytorch,且存在版本依賴,會自動安裝當前pytorch支持的最高版本)。
再如,我們指定pytorch版本為1.9.0,torchvision為0.10.0,不安裝torchaudio:
conda install pytorch==1.9.0 torchvision==0.10.0 cpuonly -c pytorch
2.2.2 GPU版本安裝
安裝GPU版的Pytorch,首先需要有NVIDIA獨立顯卡和CUDA驅動,驅動一般都裝好了(沒有自行百度),然后需要安裝CudaToolKit。NVIDIA CUDA Toolkit是一個專業(yè)的CUDA工具包,為用戶提供了專業(yè)的開發(fā)環(huán)境,創(chuàng)建經GPU加速的高性能應用。(大概意思就是有CUDA Toolkit你才能使用GPU加速神經網絡。)
(1)確定本機的獨立顯卡、CUDA驅動版本和CUDA版本
打開終端cmd,命令:
nvidia-smi
(2)確定本機的CUDA支持的torch-gpu版本和CUDA Toolkit版本
原則:驅動是向下兼容的,其決定了可安裝的CUDA Toolkit的最高版本。官方推薦的cuda版本為10.2和11.3,這兩種 cuda 支持大多數(shù)的 pytorch 版本。但是,請注意,有些同學的顯卡比較老了,如果是CUDA是10.2,最高只能支持到torch-gpu的1.10.0版本,也就是說CUDA10.2安裝不了torch-1.10.0以上的GPU版本,但是CPU版本可以,只要你的python版本符合要求。
- 具體可以參考這篇文章:PyTorch、CUDA Toolkit 及顯卡驅動版本對應關系
例如,我的NVIDIA驅動版本是516.59,根據(jù)下圖,我可以裝的CUDA Tookit的最高版本是11.7,并且向下兼容可以安裝10.1~11.7的全部版本。
- 這時候如果我想安裝Pytorch1.12.1的話,根據(jù)官網提供的命令,可以是:
# CUDA 11.3
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
也可以是:
# CUDA 11.6
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge
2.3 本地Python直接安裝
這一步是針對不安裝Conda的同學的。
-
CPU版直接使用pip命令安裝對應版本;
-
GPU版根據(jù)CUDA驅動版本,直接pip安裝,和conda其實是異曲同工的,一般是在安裝時加上’torch==xxx+cuxxx’這樣的參數(shù),具體請查看官網命令。文章來源:http://www.zghlxwxcb.cn/news/detail-769049.html
如:(顯然,如果你進入conda環(huán)境后,也可以使用下列命令安裝torch-gpu版,因為我們在前面說過,conda環(huán)境下使用conda install和pip install是基本一樣的,只是拉取這些庫的源不同,請仔細體會conda的作用。)文章來源地址http://www.zghlxwxcb.cn/news/detail-769049.html
# CUDA 11.6
pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116
# CUDA 11.3
pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu113
# CUDA 10.2
pip install torch==1.12.0+cu102 torchvision==0.13.0+cu102 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu102
# CPU only
pip install torch==1.12.0+cpu torchvision==0.13.0+cpu torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cpu
2.4 驗證
import torch
print(torch.cuda.is_available())
# 如果成功安裝了CPU版本,會輸出False
# 如果成功安裝了GPU版本,會輸出True,集成顯卡也會輸出True,但是用不了。
# 沒有報錯即安裝成功。
到了這里,關于【教程】Windows下Miniconda+Pytorch+Pycharm開發(fā)環(huán)境搭建指南的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!