解决低版本CUDA与PyTorch之间的兼容性问题
一.查看CUDA驱动版本
nvidia-smi.exe
通常位于 C:\Windows\System32
目录下。这个目录默认就在系统路径中,如果普通路径无法识别该命令,就去C:\Windows\System32
路径,这里以下面这个截图举例说明。
在pytorch集成环境中执行,torch.cuda.is_available()
返回为fasle。
从 nvidia-smi
输出信息中,我们可以非常清晰地定位到问题所在。
核心问题:该驱动和CUDA版本太旧了。
-
驱动程序版本:
419.72
(发布于2019年左右) -
最高支持的CUDA版本:
10.1
(也是一个非常古老的版本)
而目前主流的 PyTorch 版本需要 CUDA 11.8 或 CUDA 12.1。您的环境完全不兼容,因此 torch.cuda.is_available()
会返回 False
。
上面显示显卡 GeForce MX250 是支持更新版本的驱动和CUDA的。
二.通过NVIDIA App 自动更新(推荐)
这是最省心、推荐大多数用户使用的方法。NVIDIA App(GeForce Experience已被NVIDIA App取代) 专为 NVIDIA 显卡设计,能自动匹配并提供最适合你显卡和系统的最新驱动。
-
确保已安装 NVIDIA App:如果你尚未安装,可以从 NVIDIA 官网 下载并安装。
-
打开并登录:启动 NVIDIA App,并使用你的 NVIDIA 账户登录(如果没有,需要先注册一个),也可以不用登陆。
-
检查更新:
-
点击左上角的
驱动程序
选项卡。 -
软件会自动检测你的显卡型号和当前驱动版本。
-
如果发现有新的驱动可用(例如 5xx.xx 版本),它会显示
下载
按钮。
-
-
选择安装方式:
-
快速安装:一键式安装,所有选项均采用默认设置,适合大多数用户。
-
自定义安装:你可以选择执行清洁安装(这相当于在安装新驱动前先卸载旧驱动,有助于减少冲突,但比重装系统轻量很多)1。
-
-
完成安装:点击安装后,按照屏幕提示操作即可。安装完成后通常需要重启电脑。
💡 提示:使用 NVIDIA App或官网下载时,如果遇到网络不稳定、下载速度慢或中断的情况,可以尝试使用网络加速器(如 UU 加速器)来优化连接,提升下载体验
三.安装兼容的PyTorch版本
已经成功将NVIDIA驱动程序更新到了581.15,并且 nvidia-smi
显示的CUDA版本也更新到了13.0,这是一个很大的进展!不过 torch.cuda.is_available()
返回 False
的问题通常与PyTorch和CUDA版本之间的兼容性有关。
卸载与安装
pip方式(cmd终端)
pip uninstall torch torchvision torchaudio
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu130
conda方式(打开 Anaconda Prompt)
conda activate 你的环境
conda remove pytorch
conda remove torchvision
conda remove torchaudio
conda remove cudatoolkit
conda remove pytorch-cuda
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.8 -c pytorch -c nvidia
四.验证
PyTorch集成环境run如下代码。
import torch
print(torch.__version__) # 查看 PyTorch 版本
print(torch.version.cuda) # 查看 PyTorch 构建时使用的 CUDA 版本
print(torch.cuda.is_available()) # 最终目标:输出 True
# 如果输出 True,可以继续查看显卡信息
print(torch.cuda.get_device_name(0)) # 应输出 'NVIDIA GeForce MX250'