
PyTorch 与 CUDA 版本对应关系以 PyTorch 官网安装选择器为准,不同版本会变。
兴冲冲装好 PyTorch,跑一行 torch.cuda.is_available(),结果返回 False。显卡明明在那儿,为什么 PyTorch 就是认不到?这是每个新手第一次装 PyTorch 几乎都会踩的坑,三个原因按顺序查。
原因 1:装的是 CPU 版 PyTorch
最常见:你装的 PyTorch 根本就不带 GPU 支持。直接 pip install torch 默认装的往往是 CPU 版,它当然不会用显卡。
怎么验证 :先跑一下 nvidia-smi------如果这个命令能看到显卡,说明硬件和驱动是好的,问题就在 PyTorch 本身。再看:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
如果 nvidia-smi 能看到卡、但 torch 说 False,基本就是装错版本了。
解决:去 PyTorch 官网,用安装选择器选好你的系统、CUDA 版本,按它给的命令重装,别再直接 pip 默认装。
原因 2:CUDA 版本和 PyTorch 对不上
第二个:你装的确实是 GPU 版,但还是不行------那大概率是 CUDA 版本对不上。PyTorch 是针对特定 CUDA 版本编译的,版本错位就识别不到。
怎么查:
nvcc --version看你系统装的 CUDA 版本;- 对照你装的 PyTorch 是配哪个 CUDA 的。
解决:让 PyTorch 的 CUDA 版本和你系统环境对齐,重装对应版本的 PyTorch。
原因 3:NVIDIA 驱动太旧
第三个:上面都对,还是 False------查一下驱动。新的 CUDA 需要够新的 NVIDIA 驱动支持,驱动太旧就认不到。
怎么查 :还是 nvidia-smi,它右上角会显示驱动版本,对比一下你要用的 CUDA 版本要求。
解决:把 NVIDIA 驱动升级到较新版本。
你的 PyTorch 用不了 GPU 是哪种?
| 现象 | 大概率原因 | 先做什么 |
|---|---|---|
| nvidia-smi 能看到卡,torch 说 False | 装了 CPU 版 | 按官网装 GPU 版 |
| 装了 GPU 版还是 False | CUDA 版本不匹配 | 对齐 CUDA 版本重装 |
| 版本都对还 False | 驱动太旧 | 升级 NVIDIA 驱动 |
记住顺序:**先确认是不是装错版本,再查 CUDA 匹配,最后才怪驱动。**八成的人卡在第一步。
你跑 torch.cuda.is_available() 返回什么?把 PyTorch 版本和 CUDA 版本贴评论区,我帮你看是装错、版本不匹配还是驱动问题。