成功解決\torch\cuda_init_.py", line 239, in _lazy_init? raise AssertionError("Torch not compiled with CUDA enabled")
解決問題
\torch\cuda_init_.py", line 239, in _lazy_init raise AssertionError("Torch not compiled with CUDA enabled")
解決思路
為了在 GPU 上運行代碼,你需要確保以下幾點:
-
CUDA 支持的 PyTorch 版本: 你必須安裝一個支持 CUDA 的 PyTorch 版本。安裝時,可以選擇帶有 CUDA 的版本。
-
正確安裝 CUDA 和 cuDNN: 你的計算機上需要安裝 CUDA Toolkit 和 cuDNN,這些庫可以從 NVIDIA 的官方網站下載。
-
確保 CUDA 驅動正確安裝和配置: 確保你的 GPU 驅動程序支持當前的 CUDA 版本,并且在路徑中正確配置了 CUDA 環境。
解決方法
步驟 1: 檢查是否安裝了 CUDA 支持的 PyTorch
你可以在 Python 環境中運行以下命令,來檢查當前 PyTorch 是否支持 CUDA:如果返回 True
,表示當前環境支持 CUDA;如果返回 False,你需要重新安裝支持 CUDA 的 PyTorch。
import torch
print(torch.cuda.is_available())
步驟 2: 安裝支持 CUDA 的 PyTorch
(1)、安裝CUDA、CUDA Toolkit 、cuDNN:如果電腦已經安裝CUDA,此步驟可跳過
DL之IDE:深度學習環境安裝之CUDA的簡介(顯卡GPU/驅動/CUDA間的關系)、安裝(根據本地電腦的NVIDIA顯卡驅動版本去正確匹配CUDA版本)之詳細攻略
DL之IDE:深度學習環境安裝之CUDA的簡介(顯卡GPU/驅動/CUDA間的關系)、安裝(根據本地電腦的NVIDIA顯卡驅動版本去正確匹配CUDA版本)之詳細攻略_cuda版本和顯卡關系-CSDN博客
DL之IDE:深度學習環境安裝之Tensorflow/tensorflow_gpu+Cuda+Cudnn(最清楚/最快捷)之詳細攻略(圖文教程)
https://yunyaniu.blog.csdn.net/article/details/79117569
安裝完成后,確保將 CUDA 的 bin
目錄添加到系統的 PATH
中。例如:
set PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin;%PATH%
注意:在 Windows 系統中,CUDA 安裝程序通常會自動設置環境變量。你可以通過查看系統的環境變量設置來確認是否已正確配置。
(2)、檢查本地電腦上的CUDA版本,可知為cuda_12.1
nvcc --version
C:\Users\99386>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr__3_17:36:15_Pacific_Daylight_Time_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0
(3)、分析原因:如果本地電腦已經安裝CUDA并且也已經安裝PyTorch,可知是兩者版本未能正確匹配導致!
如果你運行torch.cuda.is_available()代碼輸出為 False
,并且你安裝過的PyTorch 版本摘要中提到支持 GPU 加速,那么,可能的原因有幾種:
-
CUDA 版本兼容性問題:你的系統上可能沒有正確安裝或配置 CUDA。PyTorch 需要與正確版本的 CUDA 驅動程序和 CUDA 工具包配合使用才能在 GPU 上運行。如果 CUDA 沒有正確安裝或者不兼容當前的 PyTorch 版本,torch.cuda.is_available()
將返回 False
。
-
PyTorch 版本問題:雖然 PyTorch 本身支持 GPU 加速,但不同版本的 PyTorch 對 CUDA 的要求和支持程度可能不同。如果你的 PyTorch 版本與當前 CUDA 版本不兼容,或者 PyTorch 的構建未包含 CUDA 支持,也會導致 torch.cuda.is_available()
返回 False
。
-
系統環境問題:有時候,即使 CUDA 正確安裝并配置了,系統的環境變量或其他配置問題也可能導致 PyTorch 無法正確識別 CUDA。這種情況下,即使 CUDA 可以工作,PyTorch 也可能返回 False
。
針對這些問題,可以考慮以下解決方法:
-
檢查 CUDA 和 CuDNN 安裝:確保已正確安裝和配置了與當前 PyTorch 版本兼容的 CUDA 和 CuDNN 版本。
-
更新或重新安裝 PyTorch:嘗試更新到最新版本的 PyTorch,并確保根據官方文檔正確安裝 CUDA 和 CuDNN。
-
檢查環境變量:確保系統環境變量中正確設置了 CUDA 相關路徑。
(4)、安裝支持 對應本地電腦CUDA版本 的 PyTorch
DL之IDE:深度學習GPU環境安裝之torch版本和CUDA版本匹配列表、利用Pytorch查看自己電腦上CUDA版本、基于CUDA版本安裝torch命令行詳解之詳細攻略
https://yunyaniu.blog.csdn.net/article/details/108290879

T1、采用conda安裝
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
T2、采用pip安裝
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

進行版本匹配后,成功運行!