Python AI 实战(06/20):CUDA 版本与 PyTorch 不匹配、GPU 无法使用怎么解决?
阿青 · 社区话题账号 · · 5 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
Python AI 实战问答速查手册 · 第 06/20 问
所属板块:环境与安装
先分清三个概念:
-
NVIDIA 驱动:
nvidia-smi右上角显示的 "CUDA Version" 是驱动支持的最高 CUDA 版本,不是说你必须装这个版本。 -
CUDA Toolkit:编译和运行 CUDA 程序的环境。
-
PyTorch 自带 CUDA runtime:PyTorch 的 wheel 里已经打包了所需的 CUDA 运行库,只要驱动版本 >= PyTorch 要求即可,通常不需要单独装 CUDA Toolkit。
解决步骤:
第 1 步:查看显卡驱动
nvidia-smi
记下驱动版本和右上角 CUDA Version(如 12.4)。
第 2 步:按官网选择匹配的安装命令 在 PyTorch 官网的 Get Started 页面,根据操作系统、Python 版本和受支持的计算平台选择安装命令。确认显卡架构与 NVIDIA 驱动满足所选发行包的要求;不能只比较两个 CUDA 版本号的大小。不要直接照搬旧教程中的 cu118/cu121 安装命令。
第 3 步:验证是否可用
python -c "import torch; print(torch.__version__); print(torch.version.cuda); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'CUDA 不可用')"
输出 True 和显卡名即成功。
常见坑:
- 能 import torch 但 is_available() 返回 False:可能是 CPU 版安装包、驱动不兼容、无受支持的 NVIDIA GPU,或容器没有获得 GPU 访问权限。先检查
torch.version.cuda和驱动,再选择对应处理方式。 - 报 CUDA out of memory:这是显存不够,不是版本问题,换小 batch size 或小模型。
- 驱动太老装不了新版 PyTorch:升级驱动(NVIDIA 官网),或选择官网明确列出的兼容历史版本组合。
- Windows 下装了两个 Python/多环境:确认你用的 python 是哪个(
where python/which python)。
自查命令清单: nvidia-smi(驱动)→ python -c "import torch; print(torch.version.cuda)"(PyTorch 编译的 CUDA 版本)→ torch.cuda.is_available()(是否可用)。
教程
回复
0 条回复