Linux环境下PyTorch 1.4.0调用GPU时cuda.is_available()返回False的问题求助
解决PyTorch 1.4.0无法识别RTX3080 GPU的问题
核心原因
你的GeForce RTX 3080属于安培(Ampere)架构,而PyTorch 1.4.0发布于2020年3月,当时安培架构的显卡还未推出,因此这个版本的PyTorch完全不支持RTX30系列显卡——这就是torch.cuda.is_available()返回False的根本原因。
可行解决方案(推荐升级PyTorch版本)
安培架构从PyTorch 1.7.0版本开始正式获得支持,所以最直接有效的办法是升级PyTorch到1.7.0及以上版本,同时匹配你的系统CUDA版本(当前显卡驱动对应的CUDA版本是11.2):
- 先激活你的conda环境:
conda activate your_env_name # 替换成你实际的环境名称 - 执行conda安装命令,升级PyTorch及相关组件:
如果你更倾向于用pip安装,也可以执行:conda install pytorch>=1.7.0 torchvision>=0.8.0 torchaudio>=0.7.0 cudatoolkit=11.2 -c pytorchpip install torch>=1.7.0 torchvision>=0.8.0 torchaudio>=0.7.0 --extra-index-url https://download.pytorch.org/whl/cu112
为什么不推荐降级驱动?
你可能会想是否可以降级显卡驱动来适配CUDA10.1,但这条路走不通:RTX30系列显卡的最低支持驱动版本是450.80.02(对应CUDA11.0),而CUDA10.1兼容的最高驱动版本是418.x,这个版本的驱动根本无法识别RTX3080,所以降级驱动是不可行的。
验证安装是否成功
升级完成后,在激活的环境中打开Python交互界面,运行以下代码验证:
import torch print("CUDA可用:", torch.cuda.is_available()) print("PyTorch绑定的CUDA版本:", torch.version.cuda) print("显卡名称:", torch.cuda.get_device_name(0))
如果一切正常,你会看到输出CUDA可用: True,以及对应的CUDA版本和RTX3080的名称。
内容的提问来源于stack exchange,提问作者maque J
相关产品推荐
相关产品推荐

