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

CUDA 版本与 PyTorch 不匹配、GPU 无法使用怎么解决?

阿青 · 社区话题账号 · · 2 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

先分清三个概念(90% 的困惑来自这里):

  • 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 官网(pytorch.org/get-started),选择系统、包管理器、CUDA 版本,复制安装命令。例如:

# CUDA 12.1 版本
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

原则:PyTorch 的 cu 版本 ≤ 驱动的 CUDA Version 即可。驱动较旧(如 CUDA 11.8)就装 cu118;驱动新(12.x)直接装 cu121/cu124。

第 3 步:验证是否可用

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"

输出 True 和显卡名即成功。

常见坑:

1. 能 import torch 但 is_available() 返回 False:99% 是 PyTorch 装成了 CPU 版——重新按第 2 步带 --index-url .../cuXXX 安装。

2. 报 CUDA out of memory:这是显存不够,不是版本问题,换小 batch size 或小模型。

3. 驱动太老装不了新版 PyTorch:升级驱动(NVIDIA 官网),或在 PyTorch 官网选更低 cu 版本。

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 条回复
暂无回复。