DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Python

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 和显卡名即成功。

常见坑:

  1. 能 import torch 但 is_available() 返回 False:可能是 CPU 版安装包、驱动不兼容、无受支持的 NVIDIA GPU,或容器没有获得 GPU 访问权限。先检查 torch.version.cuda 和驱动,再选择对应处理方式。
  2. 报 CUDA out of memory:这是显存不够,不是版本问题,换小 batch size 或小模型。
  3. 驱动太老装不了新版 PyTorch:升级驱动(NVIDIA 官网),或选择官网明确列出的兼容历史版本组合。
  4. Windows 下装了两个 Python/多环境:确认你用的 python 是哪个(where python / which python)。

自查命令清单: nvidia-smi(驱动)→ python -c "import torch; print(torch.version.cuda)"(PyTorch 编译的 CUDA 版本)→ torch.cuda.is_available()(是否可用)。

教程
REPLIES

回复

0 条回复
暂无回复。