torch.cuda.is_available()返回True但代码提示无CUDA GPU可用
torch.cuda.is_available()返回True的问题 实用排查与解决步骤
核对PyTorch与系统CUDA版本匹配度
运行print(torch.version.cuda)查看PyTorch绑定的CUDA版本,再运行nvcc --version查看系统CUDA Toolkit版本,确保两者大版本一致(比如均为11.8)。若版本不匹配,会导致GPU调用冲突。检查GPU资源占用情况
打开任务管理器→性能→GPU,确认是否有游戏、视频渲染等程序占用GPU资源。关闭所有占用GPU的进程后,重新测试代码。验证PyTorch对GPU的识别能力
运行以下代码确认设备状态:import torch print(torch.cuda.device_count()) print(torch.cuda.get_device_name(0) if torch.cuda.device_count() > 0 else "无可用设备")若
device_count()返回0,说明PyTorch未正确识别GPU。需完全卸载现有PyTorch及相关包(torch、torchvision等),再用官方命令重装:pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118安装时保证网络稳定,避免包损坏。
检查系统环境变量配置
将CUDA的bin路径(如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin)和libnvvp路径(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp)添加到系统PATH环境变量中,添加后重启命令行或IDE再测试。确认GPU对CUDA版本的支持性
查询你的GPU型号支持的最高CUDA版本,若当前使用的CUDA版本(如11.8)超出GPU支持范围,需降级PyTorch到对应兼容的CUDA版本。尝试在干净虚拟环境中测试
用venv或conda创建全新虚拟环境,仅安装PyTorch相关包,排除其他依赖的干扰:conda create -n torch_test python=3.9 conda activate torch_test pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118在该环境中运行测试代码,观察问题是否解决。
内容的提问来源于stack exchange,提问作者Emil Mukaev

