又名:蕪湖起飛俠的PyTorch學習記錄——從起飛到墜毀
- 簡介
- 安裝內容總覽
- 安裝Anaconda
- Anaconda簡介
- Anaconda下載
- 配置環境變量
- 驗證
- 其他配置
- 安裝matplotlib
- 安裝 CUDA
- 安裝之前
- 安裝cuDNN
- 安裝torch
- CPU 版本安裝
- GPU 版本安裝
- 通過pip安裝(不推薦)
- 通過Anaconda安裝(推薦)
- 驗證安裝
簡介
在人工智能技術爆發的今天,PyTorch 憑借其動態計算圖的靈活性和高效的 GPU 加速能力,已成為深度學習領域最受歡迎的框架之一。
好吧,其實我寫這個的原因是:很多有關人工智能的工作崗位都需要應聘者熟悉Tensorflow/scikit-learn/xgboost/Caffe/MindSpore/pytorch等主流深度學習框架,或者至少其中之一。那么torch自然就是一個很好的選擇。
安裝內容總覽
一些教程,例如PyTorch官網的使用PyTorch進行深度學習:60分鐘閃電戰會提前提醒你:
運行教程之前,請確保你的python環境里已安裝matplotlib和torch(torchvision)包。
這個提示的重點在torch(torchvision)包,它其實就是Pytorch。這里我把所有可能需要安裝的都列出來:
- Anaconda
推薦安裝
:
主要是為了創建、管理虛擬環境。(不同的機械學習項目需要的包、環境,可能不一樣。) - CUDA
推薦安裝
:
為了使用PyTorch的GPU版本,GPU版本比CPU版本快。 - cuDNN
推薦安裝
:
cuDNN 是 NVIDIA 公司開發的一款用于深度神經網絡的加速庫,可以顯著提高訓練速度和推斷速度。 - PyTorch:
這個就是框架本體,所以一定要裝。
那么接下來就一個一個的教大家安裝
安裝Anaconda
Anaconda簡介
Anaconda 是一個用于科學計算的 Python 發行版,它包含了眾多常用的科學計算、數據分析、機器學習等相關的庫和工具大大減少了開發人員配置環境的時間和精力。
另外,它還是一個很方便的管理Pyhton環境的工具。它可以創建、管理和切換不同的 Python (虛擬)環境。解決不同項目需要不同運行環境的需求。
Anaconda下載
- 我們可以通過Anaconda官網下載,但是這種下載速度相對較慢。(畢竟是外國的)
如果他要你注冊的話,可以點擊下面那個跳過注冊進行下載。
- 當然,我們還可以通過一些國內的鏡像源下載。我用的是清華大學鏡像源,當然這個也可以另一個清華大學鏡像源。
這里需要根據自己的系統選擇下載什么版本,例如我是window 64位系統,不知道的可以右鍵此電腦——屬性——系統——系統信息
- 下載好了之后,雙擊點開。
- 選擇我同意
- 為所有用戶安裝。因為網上有人說只給自己安裝可能有bug。
- 在選擇安裝路徑時,請換別的盤,非常不推薦安裝在C盤。
- 這三個選項的意思是:(一般是都勾選的)
- 創建開始菜單
- base環境以python3.12創建
- 清除包緩存
- 最后需要等一段時間安裝,這個根據你電腦的具體性能而定。
- 在最后的界面中還有兩個可以勾選的選項,意思是運行這個程序,然后學習如何使用它。大家根據自己的情況而定,然后點擊finish就可以結束安裝了。
配置環境變量
可以在系統的搜索欄里直接搜環境變量。
選擇path
選擇新建,之后把下面的四條都寫進去,注意具體的路徑需要換成你自己的安裝路徑:
D:\anaconda
D:\anaconda\Scripts
D:\anaconda\Library\bin
D:\anaconda\Library\mingw-w64\bin
驗證
之后可以win+R
并用cmd
打開命令提示符,或者用anaconda prompt ,輸入conda --version
來判斷是否安裝成功,成功的話會輸出版本號。
其他配置
關于Anaconda的環境保存路徑和下載源都可以在.condarc文件中,所有可以直接改它。
還是在剛剛的anaconda prompt中,我們輸入conda info
來先看一看現在的配置。
好吧我提前改過了,看不了原來的。
- 更改存儲位置:
- 利弊分析:更改存儲位置這個有利有弊,好處是可以減少你C盤的使用空間,壞處是你每次新建虛擬環境的時候都要以管理員的權限運行你的終端,例如anaconda prompt,不然創建不了。所以如果你覺得C盤夠大沒關系可以不改,我個人建議單純學習的話用不了太多地方,可以不用改。
- 具體做法:這個是通過更改上述的.condarc文件,它在
C盤-用戶-用戶名
。如果找不到打開anaconda prompt輸入以下命令:conda config --set show_channel_urls yes
找到之后,通過記事本打開,可以刪除其他的,然后修改envs_dirs和pkgs_dirs:
# 注意路徑改成你自己想要的
envs_dirs:- D:\anaconda\envs
pkgs_dirs:- D:\anaconda\pkgs
# 修改完了別忘了ctrl + s 保存
# 另外,你要確保你寫的路徑存在,沒有對應的文件夾的話,需要手動創建。
# 不然因為創建文件夾需要管理員權限,你新建虛擬環境的時候會報錯。
- 添加conda鏡像源:很多下載的東西在國外,所以為了加速下載,可以添加國內的鏡像源。還是在anaconda prompt里,輸入下面:
# 清華鏡像源
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/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/# 阿里云鏡像源
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/# (可選)設置搜索時顯示通道地址
conda config --set show_channel_urls yes
這里建議用清華鏡像源,這個鏈接詳細的告訴了你怎么做。
最后你可以通過再次輸入conda info
檢查你的修改是否成功。
另外,還有一些其他的指令:
# 單獨展示通道
conda config --show channels
# 恢復默認源
conda config --remove-key channels
# 刪除鏡像源
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/cpu/
# 添加鏡像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/tensorflow/linux/cpu/#Anaconda常用指令
# 查看conda版本
conda --version 或 conda -V
# 更新conda版本
conda update conda
# 創建虛擬環境(創建了名為my_name,版本為3.9的)
conda create -n my_name python=3.9
# 激活虛擬環境
conda activate my_name
# 退出虛擬環境
conda deactivate
# 刪除虛擬環境
conda remove -n my_name --all 或 conda remove --name my_name --all
# 列出所有虛擬環境
conda env list 或 conda info --envs
# 列出當前環境的所有包
conda list
# 安裝第三方包
conda install dill 或 pip install dill
# 卸載第三方包
conda uninstall dill 或 pip uninstall dill
安裝matplotlib
還記得我們開頭說的那個PyTorch官網的使用PyTorch進行深度學習:60分鐘閃電戰嗎?他其實你安裝的包第一個就是matplotlib。但是如果你安裝了Anaconda,他的環境里是自帶的。
不過因為Anaconda是可選安裝,我們還是展示一下這個包的安裝流程。
-
先檢查一下你的Pyhton運行環境,如果你安裝過了matplotlib就可以跳過這步。
- 如果你和我一樣用的是Visual studio,那么python的運行環境是:
視圖
——其他窗口
——Pyhton環境
或者工具
——Python
——Python環境
- 如果你和我一樣用的是Visual studio,那么python的運行環境是:
-
如果你沒有安裝matplotlib包。你可以輸入命令:
pip install matplotlib
,這個命令會幫你安裝最新的穩定版本的matplotlib包,當然你也可以用pip install matplotlib == version
來指定版本號。- 如果和我一樣是用的Visual Studio 建議使用:視圖——終端,在這里輸入代碼。
安裝 CUDA
torch 和 torchvision 的安裝需要根據你的 CUDA 版本(如果使用 GPU 加速)來選擇合適的版本。
當然,不論是CPU還是GPU都能安裝torch并且運行,但是GPU版本的Pytorch能夠提供更快的計算速度和更高的性能。這是因為CPU被設計用于復雜的邏輯運算,而GPU則是擅長處理大量簡單計算(例如矩陣計算)
安裝之前
GPU版本的Pytorch需要使用 NVIDIA GPU,并且要求安裝了相應的 CUDA 驅動。
有些電腦雖然是英偉達的GPU,但是沒有這個驅動(就比如我)。所以我們需要先保證安裝這個驅動。
-
**檢查顯卡是不是NVIDIA **:
控制面板
-硬件和聲音
-設備管理器
之后下拉找到顯示適配器,這里就是你的所有顯卡。例如我的顯卡是3060。
-
判斷有沒有CUDA:
- 打開命令提示符(Windows)或終端(Linux/macOS),輸入
nvcc --version
并回車。如果顯示 CUDA 版本信息,那么這個版本號就是你要使用的 CUDA 版本;如果提示 nvcc 不是可識別的命令,說明你可能沒有安裝 CUDA 開發工具包,需要先安裝。 - 另外,CUDA 默認安裝路徑一般為
“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA”
。如果沒有該目錄,自然說明未安裝。若有該目錄,進入“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXX.X\extras\demo_suite”
(XX.X 為 CUDA 版本號)目錄,以管理員身份打開命令提示符,輸入bandwidthTest.exe
和deviceQuery.exe
進行測試,若兩個測試結果均顯示 “Result = PASS”,則說明你有安裝CUDA。
- 打開命令提示符(Windows)或終端(Linux/macOS),輸入
-
確認顯卡支持CUDA:如果你需要安裝CUDA,首先你需要確認你顯卡支持的版本。右鍵點擊電腦桌面空白處,選擇“NVIDIA控制面板”。在“NVIDIA控制面板”頁面中,點擊左下角的“系統信息”,在“系統信息”窗口中點擊“組件”,查看第三行顯卡所支持的CUDA最高版本,以確定可安裝的CUDA版本。
-
下載CUDA:進入CUDA下載網址,選擇系統對應的版本。CUDA工具包有網絡安裝和離線安裝兩種方式,網絡版會自動選擇適合本機的下載,適合網絡環境好的時候使用;本地版包含了所有內容,可以直接安裝。
(下圖是我在下載安裝時的界面)
安裝完成之后,別忘了再在命令提示符里運行一下以檢查安裝是不是成功了,在命令提示符中輸入“nvcc --version”,若下方出現CUDA版本信息,則說明CUDA已安裝成功。
-
配置環境變量:(一般這個會自動添加)在桌面左下角的Windows系統搜索框中搜索“環境變量”,選擇“編輯系統環境變量”。在跳出的系統屬性框中點擊“環境變量”,在下方的系統變量中可以看到CUDA環境變量已經自動添加。
如果沒有自動添加,可以點擊“新建”,手動將CUDA安裝的路徑粘貼進去。通常需要添加的路徑有:CUDA_PATH(如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXX.X,XX.X為CUDA版本號)、CUDA_PATH_VXX_X(與CUDA_PATH相同)、C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXX.X\bin、C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXX.X\libnvvp。設置好后依次點擊三次“確定”,然后重啟電腦。
安裝cuDNN
cuDNN是NVIDIA公司開發的一款用于深度神經網絡的加速庫。它為深度學習框架提供了高度優化的原語,如卷積、池化、歸一化和激活函數等操作,能顯著提升深度學習模型在NVIDIA GPU上的訓練和推理速度,廣泛應用于計算機視覺、自然語言處理等諸多深度學習領域,是加速深度學習任務的重要工具。
在下載安裝cuDNN時要注意匹配你的CUDA的版本,你可以在cuDNN下載地址里找自己的版本。我的CUDA是12.8,系統是window。
下載好之后解壓,里面三個文件夾是有用的。
復制他們,找到你剛剛安裝的CUDA的文件位置,默認是“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA”
,把文件粘貼進去就好了。文件夾是同名的,里面的內容會自動合并。
安裝torch
有兩種方式可以安裝torch,一種是比較推薦的通過Anaconda安裝,另一種是通過pip安裝。
CPU 版本安裝
- 通過Anaconda安裝:
若你使用Anaconda來安裝CPU版本的PyTorch,可按以下步驟操作:
- 創建并激活新環境(可選)
為了避免和其他項目的依賴沖突,你可以創建一個新的Anaconda環境。
這里創建了一個名為torch_cpu
的環境,Python版本為3.9。你可按需修改環境名和Python版本。
conda create -n torch_cpu python=3.9
conda activate torch_cpu
- 安裝CPU版本的PyTorch
在Anaconda環境里,你可以借助conda
命令來安裝CPU版本的PyTorch。這個命令會從pytorch
通道安裝pytorch
、torchvision
和torchaudio
這幾個包,并且明確指定安裝CPU版本。
conda install pytorch torchvision torchaudio cpuonly -c pytorch
- 驗證安裝
安裝完成后,你可以通過Python代碼來驗證PyTorch是否成功安裝。
import torch
print(torch.__version__)
print(torch.cuda.is_available()) # 輸出應為False,表明是CPU版本
- 通過pip安裝:
如果你選擇使用 CPU 進行計算,在你的 Python 環境終端中輸入以下命令進行安裝:
pip install torch torchvision
執行該命令后,pip
會自動從 PyPI 下載并安裝 CPU 版本的 torch
和 torchvision
及其依賴項。
GPU 版本安裝
通過pip安裝(不推薦)
如果你要使用 GPU 加速,需要根據你的 CUDA 版本選擇合適的安裝命令。可以到PyTorch 官方網站進行選擇。具體步驟如下:
-
打開 PyTorch 官方安裝頁面。
-
在頁面中進行如下選擇:
- Stable:選擇穩定版本,通常建議使用穩定版本以保證軟件的穩定性。
- Your OS:選擇你使用的操作系統,如 Windows、Linux 或 macOS。
- Package:一般選擇
pip
,因為我們使用pip
來安裝。 - Language:選擇
Python
。 - Compute Platform:根據你的 CUDA 版本選擇相應的選項。
-
選擇好上述選項后,頁面會生成相應的安裝命令。(這里生成的命令就是通過pip安裝的命令)
將該命令復制到 Visual Studio 2022 的 Python 環境終端中并執行,pip
會從指定的 PyTorch 鏡像源下載并安裝支持你選擇的版本的torch
、torchvision
和torchaudio
及其依賴項。
例如我這里生成的命令就是:
pip3 install torch torchvision torchaudio -- index-url https://download.pytorch.org/whl/cu126
- 當然安裝時也會存在問題
- 首先是生成的指令里的pip3,這里你要看清楚,你是應該用pip3還是pip,比如我這里就應該用pip。
- 其次就是時間太長了,如下圖。一些小的包我都安裝過了,不用再安裝,但是最后一個,2.5個G要下載兩個多小時。
這就是為什么我不推薦用pip安裝,雖然官網上說了conda不行,讓用pip安裝。但是這個2.5G的東西我真的下了兩次,都花了好幾個小時,然后在最后關頭來一個遠程主機強迫關閉了現有連接
,我可真是要吐血了。
- 實際上,我們可以在指令參數中添加 - i 來使用國內鏡像源來加快下載速度,以下列舉幾個來自網絡的國內常用鏡像源。
可惜我找到的一些:清華大學鏡像源網站和阿里云鏡像源網站,這些國內鏡像的都是CPU版本的,所以鏡像了個寂寞,大家看看得了。
# 在安裝命令中添加 `-i` 參數并指定阿里云鏡像源地址,如下:
# 阿里云鏡像源
pip install torch torchvision torchaudio -i https://mirrors.aliyun.com/pypi/simple/
# 清華大學鏡像源
pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple
# 中國科學技術大學鏡像源
pip install torch torchvision torchaudio -i https://pypi.mirrors.ustc.edu.cn/simple/
另外順帶一提,鏡像源開頭是pypi的話,鏡像的是Pypi的內容,也就是通過pip下載的內容。鏡像源開頭是mirrors的話,鏡像什么都行,所以你看阿里云斜杠后面還掛了個pypi。國內鏡像源網站其實很多,希望這樣幫大家分清楚一些。
通過Anaconda安裝(推薦)
之前上面講的那個通過PIP安裝其實是比較“官方”的,但是人家官方在國外呢,有太多不便。所以,在嘗試了兩次,每次都在差一點的時候被遠程主機強迫關閉了一個現有連接
之后。我覺得還是老老實實用國內的鏡像源吧。
在我們之前安裝了那一大串之后,現在的安裝就簡單很多了:
# 創建虛擬環境
conda create -n pytorch_env python=3.9
# 激活虛擬環境
conda activate pytorch_env
如果你和我一樣用的是Visual studio 2022,你可能在激活時遇到讓你先 conda init
,你就按照提示輸入,之后重啟終端。
如果重啟之后報錯,試試Get-ExecutionPolicy
,如果輸出是Restricted(受限),可以嘗試Set-ExecutionPolicy RemoteSigned
。 RemoteSigned 策略表示允許運行本地編寫的腳本,對于從網絡下載的腳本則需要數字簽名才能運行,相對比較安全且能滿足 Anaconda 等工具的使用需求。之后再次重啟終端。
沒激活之前的時候是base,激活之后是你的虛擬空間名。
此時,再運行命令安裝:
# 安裝torch
conda install pytorch torchvision torchaudio pytorch-cuda=版本 -c nvidia
# 截止2025.3.15,清華鏡像源里最高版本是12.4
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia
驗證安裝
安裝完成后,你可以創建一個 Python 腳本,輸入以下代碼來驗證 torch
和 torchvision
是否安裝成功:
import torch
import torchvisionprint(torch.__version__)
print(torchvision.__version__)# 如果你安裝的是 GPU 版本,還可以驗證 GPU 是否可用
# 順帶一提,新的虛擬環境里編碼器可能和你現在的解碼器不一樣,需要重新設置,比如UTF-8,不然這些中文注釋會報錯。
if torch.cuda.is_available():print("GPU is available")
else:print("GPU is not available")
運行該腳本,如果沒有報錯,并且能夠正確輸出版本信息以及 GPU 可用性信息,則說明安裝成功。