PyTorch无法调用CUDA torch.cuda.is_available()返回False
PyTorch CUDA不可用排查方案
问题表现
执行torch.cuda.is_available()返回False,无法调用GPU实现CUDA加速。
当前环境已安装组件参考:


排查步骤&对应解决方法
- 第一步:验证基础NVIDIA环境是否正常
打开终端执行nvidia-smi,如果命令报错、无法输出显卡型号、驱动版本信息,说明显卡驱动未安装或损坏。直接去NVIDIA官网对应你的显卡型号下载安装正式版驱动,重启电脑后再重新验证。注意:
nvidia-smi输出的CUDA Version是当前驱动支持的最高CUDA版本,只要该版本≥你安装的PyTorch绑定的CUDA版本就可以兼容,不需要额外单独安装全量CUDA Toolkit。 - 第二步:确认安装的PyTorch为CUDA版本而非CPU版本
绝大多数场景下这个问题都是装错了PyTorch版本导致的:直接执行pip install torch默认拉取的是CPU编译版本,本身不带CUDA运行时,自然无法识别GPU。
先执行以下命令彻底卸载现有CPU版本PyTorch相关包:
卸载完成后,根据你pip uninstall torch torchvision torchaudio -ynvidia-smi显示的最高支持CUDA版本,安装对应CUDA编译版本的PyTorch即可,安装后版本号会带cu+版本号标识(例如2.2.0+cu121),不带该标识、带cpu标识的均为CPU版本。 - 第三步:排查环境冲突问题
如果本地存在多个Python环境(系统Python、conda虚拟环境、venv虚拟环境等),先确认你运行代码的解释器环境,和你安装CUDA版PyTorch的环境是同一个。可以在当前运行代码的环境下执行以下命令验证PyTorch编译属性:import torch print(torch.__version__) # 输出版本号,带cu前缀才是CUDA版 print(torch.version.cuda) # 输出绑定的CUDA版本,返回None就是CPU版 - 特殊场景排查
- 确认你的显卡为NVIDIA支持CUDA的型号,AMD、Intel消费级显卡不支持CUDA加速
- 如果使用WSL2环境,需要在Windows宿主机安装适配WSL的NVIDIA驱动,不要在WSL子系统内部单独安装普通Linux驱动
- 如果是笔记本设备,检查系统是否把PyTorch相关进程默认分配给核显运行,在NVIDIA控制面板里把对应Python进程设置为高性能NVIDIA处理器运行
内容的提问来源于stack exchange,提问作者Ladan
相关产品推荐
相关产品推荐

