#工作記錄
一、總述
在深度學習領域,PyTorch 憑借其靈活性和強大的功能,成為了眾多開發者和研究者的首選框架。而 CUDA GPU 支持能夠顯著加速 PyTorch 的計算過程,大幅提升訓練和推理效率。然而,安裝帶有 CUDA GPU 支持的 PyTorch 常常會遇到各種問題,如版本不兼容、安裝失敗等。
經過反復實踐和總結,要想 100% 成功安裝帶有 CUDA GPU 支持的 PyTorch,強烈建議僅采用 PyTorch 官方網站生成的( 或 查找到的 舊版安裝命令)進行安裝。
因為官方命令能夠確保?torch
、torchvision
?和?torchaudio
?三個包的版本兼容性,避免因版本沖突導致安裝失敗或 CUDA GPU 支持無法啟用的情況。
下面將詳細介紹具體的安裝方案。
?二、先決條件
2.1 硬件要求
- 計算機需配備 NVIDIA GPU,且該 GPU 支持 CUDA。你可以前往?NVIDIA 官方網站?查看具體的 GPU 支持列表。
2.2 軟件要求
- NVIDIA 驅動:安裝與你的 GPU 型號和 CUDA 版本兼容的 NVIDIA 驅動。你可以通過在命令行輸入?
nvidia-smi
?查看當前驅動版本和 GPU 信息。 - CUDA Toolkit:安裝適合你系統的 CUDA Toolkit 版本。可從?NVIDIA CUDA 下載頁面?獲取。安裝完成后,使用?
nvcc --version
?命令驗證安裝是否成功。 - cuDNN:從?NVIDIA cuDNN 下載頁面?下載與你 CUDA 版本匹配的 cuDNN 庫,并按照官方文檔進行安裝。
2.3 網絡要求
確保你的網絡連接穩定,能夠流暢訪問 PyTorch 官方網站和相關下載源。
三、100% 成功方案實操
3.1 訪問 PyTorch 官方網站
打開瀏覽器,在地址欄輸入?PyTorch 官方安裝頁面,進入該頁面后,我們將看到一個用于生成安裝命令的配置界面。
?
3.2 確定安裝需求
3.2.1 項目需求判斷
- 情況一:
requirements.txt
?未羅列?torch
,但項目需要?torch
?加速
若?requirements.txt
?文件中沒有列出?torch
,但項目實際需要?torch
?進行 GPU 加速,此時我們需要根據系統的 CUDA 12.8 版本號來選擇安裝?torch
?的版本。 - 如果我們的 CUDA 12.8 版本支持且我們希望嘗試最新特性,可以選擇安裝最新的 Preview (Nightly) 版;若追求穩定性,建議安裝最新的 Stable 版本。
- 情況二:羅列了?
torch
?版本,但未羅列關聯的?torchvision
?和?torchaudio
?包
當?requirements.txt
?文件中列出了?torch
?的具體版本,卻沒有列出關聯的?torchvision
?和?torchaudio
?這兩個包時,僅安裝?torch
?是無法實現完整的 CUDA GPU 加速支持的。 - ?我們需要手動修改?
requirements.txt
?文件的內容,從 PyTorch 官方網站查找出與?requirements.txt
?文件中指定的?torch
?版本相匹配的?torchvision
?和?torchaudio
?版本,并添加到?requirements.txt
?中。 - 具體查找方法為:在 PyTorch 官方網站的?Previous PyTorch Versions?頁面,找到對應?
torch
?版本且適配 CUDA 12.8 的安裝命令,從中獲取?torchvision
?和?torchaudio
?的版本信息。
- 情況三:列出了?
torch
,但未指定版本號,且未列出?torchvision
?和?torchaudio
?包
若?requirements.txt
?文件列出了?torch
,但沒有指定其版本號,同時也沒有列出?torchvision
?和?torchaudio
?這兩個包,同樣需要我們修改?requirements.txt
?文件。??????? - 手動添加上?
torchvision
?和?torchaudio
?這兩個包,并根據項目需求和系統 CUDA 版本,從 PyTorch 官方網站獲取合適的版本信息添加到文件中。
- 情況四:
torch
、torchvision
?和?torchaudio
?三個包都列出,但未指定版本號
當?requirements.txt
?文件中列出了?torch
、torchvision
?和?torchaudio
?三個包,但都沒有指定版本號時,默認會安裝最新的 PyTorch 版本。 - 然而,由于沒有明確版本號,在安裝?
requirements.txt
?文件中的其他包時,與其相關的依賴有可能會被卸載重裝或變更,從而導致版本不兼容問題。 - 為避免這種情況,最好我們找到 PyTorch 官網適配 CUDA 的最新穩定版的安裝命令,提前進行安裝或者在其他包安裝完成后進行重裝。
- 以下是相關命令示例:
- 安裝命令:
- ?使用?
conda
:
conda install pytorch torchvision torchaudio -c pytorch -c nvidia
- 使用?
pip
:
?
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
- 卸載命令:
- 使用?
conda
:
conda remove pytorch torchvision torchaudio
- 使用?
pip
:
pip uninstall torch torchvision torchaudio
- 清除緩存命令:
- 使用?
pip
:
- 使用?
pip cache purge
- 使用?
conda
:
conda clean --all
- 安裝命令:從 PyTorch 官方網站獲取適合我們系統和 CUDA 12.8 版本的安裝命令,例如使用?
pip
?安裝 CUDA 12.8 版本的 PyTorch: - 穩定版
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
- 預覽版
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128
?
- 情況五:
torch
、torchvision
?和?torchaudio
?三個包都列出且指定了版本號,但版本號不兼容
當?requirements.txt
?文件中?torch
、torchvision
?和?torchaudio
?三個包都已列出并且指定了版本號,但這些版本號之間不兼容時,無法實現完整的 CUDA GPU 支持。此時,我們需要訪問 PyTorch 官方網站的?Previous PyTorch Versions(以前的 PyTorch 版本)頁面。在該頁面中,查找與?
requirements.txt
?文件中?torch
?版本一致且適配 CUDA的安裝命令。 - 根據查找到的命令,對?
requirements.txt
?文件中的相關包版本信息進行修正,以確保版本兼容性。
- 情況六:
torch
、torchvision
?和?torchaudio
?三個包,只羅列了其中的兩個
當?requirements.txt
?文件中只羅列了?torch
、torchvision
?和?torchaudio
?三個包中的其中兩個時,無法保證實現完整的 CUDA GPU 支持。這種情況下,我們需要訪問 PyTorch 官方網站的安裝頁面(Start Locally | PyTorch)或以前的 PyTorch 版本頁面(Previous PyTorch Versions | PyTorch)。
- 根據已羅列的包及其版本信息(若有指定版本),以及系統的 CUDA 12.8 版本等條件,查找合適的 PyTorch 安裝命令。
- 然后根據該命令,對?
requirements.txt
?文件進行補充和修正,添加缺失的包及其對應的版本信息,以確保三個包都能正確安裝且版本兼容。
- 情況七:其他因篇幅有限未舉例的情形
- 當出現其他安裝失敗的情形時,請優先排查相關組件,然后用PyTorch 官方網站上生成或找到的舊版安裝命令重試,可切換不同的CUDA版本命令逐一重試后驗證安裝。
3.2.2 配置安裝選項
- PyTorch 版本:
- 若?
requirements.txt
?文件指定了?torch
?版本號,在官方安裝頁面的 “PyTorch Build” 下拉菜單中,通過滾動查找或手動輸入的方式選擇對應的版本。 - 若為新項目,我們選擇 “Stable”(穩定版)。
- 若?
- 操作系統:根據我們的計算機操作系統,在 “Your OS” 下拉菜單中選擇相應選項,如 Windows、Linux 或 macOS。
- 包管理器:根據我們之前創建虛擬環境所使用的工具,在 “Package” 下拉菜單中選擇合適的包管理器。如果我們使用?
conda
?創建了虛擬環境,選擇?conda
;若使用?venv
?或不打算使用?conda
,選擇?pip
。 - CUDA 版本:我們選擇 “CUDA 12.8”。
3.3 獲取安裝命令
完成上述配置后,頁面下方會自動生成相應的安裝命令。該命令包含了安裝?torch
、torchvision
?和?torchaudio
?所需的所有信息,并且確保了這三個包的版本兼容性,以支持 CUDA 12.8 GPU 加速。
3.4 執行安裝命令
3.4.1 激活虛擬環境
如果我們創建了虛擬環境,需要先激活它:
- 使用 conda 創建的虛擬環境:在命令行輸入?
conda activate <虛擬環境名稱>
,例如?conda activate pytorch_env
。 - 使用 venv 創建的虛擬環境:
- 在 Linux/Mac 系統中,輸入?
source <虛擬環境路徑>/bin/activate
,如?source pytorch_env/bin/activate
。 - 在 Windows 系統中,輸入?
<虛擬環境路徑>\Scripts\activate
,如?pytorch_env\Scripts\activate
。
- 在 Linux/Mac 系統中,輸入?
3.4.2 執行安裝命令
將之前從 PyTorch 官方網站獲取的安裝命令復制到命令行中,并按下回車鍵執行。安裝過程可能需要一些時間,具體取決于我們的網絡速度和系統性能。
3.5 驗證安裝
安裝完成后,需要我們驗證 PyTorch 是否成功安裝并支持 CUDA 12.8 GPU。
- 打開命令行,使用 Python 3.13 解釋器,輸入?
python3.13
?進入 Python 解釋器。 - 在 Python 解釋器中輸入以下代碼:
import torch # 導入 PyTorch 庫print("PyTorch 版本:", torch.__version__) # 打印 PyTorch 的版本號# 檢查 CUDA 是否可用,并設置設備("cuda:0" 或 "cpu")
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print("設備:", device) # 打印當前使用的設備
print("CUDA 可用:", torch.cuda.is_available()) # 打印 CUDA 是否可用
print("cuDNN 已啟用:", torch.backends.cudnn.enabled) # 打印 cuDNN 是否已啟用# 打印 PyTorch 支持的 CUDA 和 cuDNN 版本
print("支持的 CUDA 版本:", torch.version.cuda)
print("cuDNN 版本:", torch.backends.cudnn.version())# 創建兩個隨機張量(默認在 CPU 上)
x = torch.rand(5, 3)
y = torch.rand(5, 3)# 將張量移動到指定設備(CPU 或 GPU)
x = x.to(device)
y = y.to(device)# 對張量進行逐元素相加
z = x + y# 打印結果
print("張量 z 的值:")
print(z) # 輸出張量 z 的內容
?
代碼輸出解釋
print("PyTorch 版本:", torch.__version__)
:輸出當前安裝的 PyTorch 版本號,幫助我們確認所使用的 PyTorch 版本。此處應輸出:PyTorch 版本
。
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
?和?print("設備:", device)
:檢查 CUDA 是否可用。若可用,設備設置為第一個 GPU(cuda:0
);若不可用,設置為 CPU。輸出當前使用的設備,讓我們知道計算將在哪個設備上進行。此處應輸出:cuda:0。
print("CUDA 可用:", torch.cuda.is_available())
:明確輸出 CUDA 是否可用,判斷系統是否具備 GPU 加速的條件。此處應輸出:CUDA 可用
。
print("cuDNN 已啟用:", torch.backends.cudnn.enabled)
:輸出 cuDNN 是否已經啟用。cuDNN 是 NVIDIA 提供的深度神經網絡庫,啟用后可加速深度學習計算。此處應輸出:cuDNN 已啟用
。
print("支持的 CUDA 版本:", torch.version.cuda)
:輸出當前 PyTorch 支持的 CUDA 版本,確保 CUDA 版本與 PyTorch 兼容。此處應輸出:支持的 CUDA 版本:XX.XX
。
print("cuDNN 版本:", torch.backends.cudnn.version())
:輸出當前使用的 cuDNN 版本,確認 cuDNN 版本是否符合要求。此處應輸出:cuDNN 版本:XXXXX
。
x = torch.rand(5, 3)
?和?y = torch.rand(5, 3)
:創建兩個形狀為?(5, 3)
?的隨機張量,這些張量默認在 CPU 上創建。x = x.to(device)
?和?y = y.to(device)
:將創建的隨機張量移動到之前確定的設備(CPU 或 GPU)上,保證后續計算在指定設備進行。此處應被移動到設備'cuda:0'。
z = x + y
:對兩個張量進行逐元素相加操作,得到結果張量?z
。print("張量 z 的值:")
?和?print(z)
:輸出結果張量?z
?的內容,確認張量計算是否正常執行。此處應輸出:[*****,device='cuda:0']。
通過以上輸出,我們可以全面了解 PyTorch 的安裝情況、CUDA 和 cuDNN 的配置情況,以及張量計算是否能在指定設備上正常進行。
驗證PyTorch深度學習環境Torch和CUDA還有cuDNN是否正確配置的命令_驗證pytorch和cuda的命令-CSDN博客
四、PyTorch 的安裝方法
4.1 pip 安裝(從 PyTorch 官網命令)
按照前面步驟從 PyTorch 官方網站獲取適合我們系統和 CUDA 12.8 版本的?pip
?安裝命令,然后在激活的虛擬環境中執行該命令即可完成安裝。
這種方法簡單方便,且能保證安裝的是官方推薦的版本。
4.2 conda 安裝(從 PyTorch 官網命令)
同樣從 PyTorch 官方網站獲取?conda
?安裝命令,在激活的?conda
?虛擬環境中執行該命令。
conda
?可以更好地管理包的依賴關系,適合對環境管理有較高要求的我們。
4.3 下載包后從本地安裝(從鏡像源 不推薦)
我們可以從鏡像源下載?torch
、torchvision
?和?torchaudio
?的安裝包,然后通過本地安裝的方式進行安裝。
但這種方法不推薦,因為鏡像源的包可能不是最新版本,且版本兼容性難以保證,容易導致安裝失敗或 CUDA 12.8 GPU 支持出現問題。
五、總結
通過嚴格按照上述步驟操作,特別是使用 PyTorch 官方網站生成的安裝命令,我們能夠確保?torch
、torchvision
?和?torchaudio
?三個包的版本兼容性,從而 100% 成功安裝帶有 CUDA 12.8 GPU 支持的 PyTorch。在安裝過程中,要仔細檢查每個步驟,根據不同的項目需求準確判斷并配置安裝選項,確保滿足先決條件。同時,優先選擇?pip
?或?conda
?從官方網站獲取命令進行安裝,避免使用不推薦的本地安裝方式。希望這份攻略能夠幫助我們順利搭建起高效的深度學習開發環境。