cuda12.4用哪个版本的pytorch
CUDA 12.4 建议优先使用 PyTorch 2.6.0 的 cu124 版本:torch==2.6.0、torchvision==0.21.0、torchaudio==2.6.0。如果项目依赖还没有适配 2.6,次选 PyTorch 2.5.1 + cu124;如果是旧项目或论文复现实验,选择 PyTorch 2.4.1 + cu124 更稳。不要按旧教程去装 PyTorch 1.13.1、1.14.0 或 1.15.0 来配 CUDA 12.4:官方 cu124 二进制包主要对应 PyTorch 2.4、2.5、2.6 系列,且 PyTorch 1.14、1.15 并不是常见的官方稳定发行版本。
直接版本表
搜索“cuda12.4用哪个版本的pytorch”时,先按使用场景选版本,不要只看机器上装了哪个 CUDA Toolkit。

| 使用场景 | 推荐 PyTorch | 配套版本 | 判断标准 |
|---|---|---|---|
| 新项目、训练、推理都要兼顾 | PyTorch 2.6.0 + cu124 | torchvision 0.21.0,torchaudio 2.6.0 | 依赖库支持 PyTorch 2.6,Python 环境无旧包限制 |
| 生产环境、希望少踩新版本问题 | PyTorch 2.5.1 + cu124 | torchvision 0.20.1,torchaudio 2.5.1 | 项目依赖已验证 2.5.x,优先稳定而非最新 |
| 复现实验、旧代码、旧扩展 | PyTorch 2.4.1 + cu124 | torchvision 0.19.1,torchaudio 2.4.1 | 代码或第三方库写明支持 2.4.x |
| 只想用官网最新 Stable | 按官网当前选择器安装 | 可能是 cu126 或 cu128 | 不强制要求 wheel 名称必须是 cu124 |
注意事项:如果你明确要“CUDA 12.4 对应的 PyTorch 包”,安装命令里应出现 cu124。如果只是显卡驱动较新,未必必须安装 cu124,PyTorch 的新 CUDA wheel 通常自带对应 CUDA 运行时库,重点是 NVIDIA 驱动要能支持它。
先确认 CUDA 12.4 指的是什么
很多安装失败并不是 PyTorch 版本选错,而是把 nvidia-smi、nvcc 和 PyTorch wheel 里的 CUDA 运行时混为一谈。可先执行:
nvidia-smi
nvcc --version
python -c "import torch; print(torch.__version__); print(torch.version.cuda); print(torch.cuda.is_available())"
判断标准如下:nvidia-smi 里的 CUDA Version 表示当前驱动最高支持的 CUDA 能力,不代表本机一定安装了 CUDA Toolkit 12.4;nvcc --version 才是本地 CUDA Toolkit 编译器版本;torch.version.cuda 显示的是当前 PyTorch wheel 编译时绑定的 CUDA 运行时版本。
场景差异:普通训练和推理用户一般不需要单独安装 CUDA Toolkit 12.4,只要安装 torch + cu124 wheel 并保证显卡驱动可用即可。需要编译自定义 CUDA extension、安装部分源码包、开发 C++/CUDA 算子时,才需要关心本地 nvcc 是否为 12.4 或是否与扩展要求一致。
注意事项:NVIDIA CUDA 12.4 GA 对应的工具包驱动版本是 Linux 550.54.14 及以上、Windows 551.61 及以上。实际部署中,如果驱动太旧,即使 PyTorch 安装成功,也可能出现 CUDA driver version is insufficient 或 torch.cuda.is_available() 返回 False。
pip 安装命令
新项目推荐新建虚拟环境,避免旧版 torch、torchvision、numpy 混在一起:
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
Linux 或 Windows 安装 PyTorch 2.6.0 + CUDA 12.4:
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu124
如果你的项目依赖更适合 PyTorch 2.5.1:
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124
如果要复现旧项目,选择 PyTorch 2.4.1:
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu124
判断标准:安装后执行 python -c "import torch; print(torch.__version__, torch.version.cuda)",如果输出类似 2.6.0+cu124 12.4,说明装到的是 CUDA 12.4 对应 wheel。
注意事项:这里推荐使用 --index-url 指向 PyTorch 官方 CUDA wheel 源。不要只写 pip install torch==2.6.0,否则可能装到 CPU 包或与预期 CUDA 版本不一致的包;也不要把不同大版本的 torch 和 torchvision 随意混搭,否则容易出现 operator torchvision::nms does not exist 之类的二进制兼容问题。
conda 环境怎么选
如果你的团队统一使用 conda,CUDA 12.4 更建议选择 PyTorch 2.5.1 或 2.4.1,因为 PyTorch 2.6 起官方发布策略发生变化,pip wheel 是更直接的选择。
conda create -n torch-cu124 python=3.11 -y
conda activate torch-cu124
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.4 -c pytorch -c nvidia
判断标准:如果你需要 conda 管理 CUDA 运行时,命令中应出现 pytorch-cuda=12.4,并同时使用 -c pytorch -c nvidia。安装后同样用 torch.version.cuda 和 torch.cuda.is_available() 验证。
场景差异:个人开发、Docker、CI 环境通常用 pip 更简单;科研服务器上多人共用环境、已有 conda 依赖较多时,conda 方式更方便锁定依赖。注意不要在同一个环境里先 conda 装 torch,又 pip 覆盖 torch,这会让问题排查变得困难。
哪些版本不要选
不要为 CUDA 12.4 选择 PyTorch 1.13.1、1.12.x 或更早版本的官方二进制包。它们发布时主要对应 CUDA 11.x 或更早的官方 wheel,不是 CUDA 12.4 的常规选择。也不要相信“PyTorch 1.14.0、1.15.0 支持 CUDA 12.4”这类说法,因为这类版本号并不符合 PyTorch 官方稳定版本的常见发布序列。
可执行判断:去 PyTorch Previous Versions 页面查对应版本下是否存在 --index-url https://download.pytorch.org/whl/cu124。有 cu124 命令,才说明官方提供了对应 CUDA 12.4 wheel;没有 cu124 命令,就不要强行拼安装地址。
场景差异:如果旧论文要求 PyTorch 1.13.1,正确做法通常是降低 CUDA wheel 到 cu117 或 cu116,或者使用原作者提供的 Docker 镜像,而不是让 PyTorch 1.13.1 直接配 CUDA 12.4。若必须使用本机 CUDA 12.4 编译旧版 PyTorch,只能走源码编译路线,成本明显高于安装官方 wheel。
安装后验证和排错
安装完成后,用下面的代码确认 PyTorch 是否真的能调用 GPU:
import torch
print("torch:", torch.__version__)
print("cuda runtime:", torch.version.cuda)
print("cuda available:", torch.cuda.is_available())
if torch.cuda.is_available():
print("gpu:", torch.cuda.get_device_name(0))
x = torch.randn(1024, 1024, device="cuda")
print(x @ x)
判断标准:cuda available 为 True,且矩阵计算不报错,才说明安装可用。只看到 torch.version.cuda 是 12.4 还不够,因为驱动、显卡权限、容器 GPU 映射都可能导致运行时不可用。
不同场景的排查方向不同:Windows 用户先检查 NVIDIA 驱动和 Python 版本;Linux 用户先检查 nvidia-smi 是否能看到 GPU;Docker 用户要确认启动容器时使用了 --gpus all,并且宿主机安装了 NVIDIA Container Toolkit;远程服务器用户还要确认自己没有进入 CPU-only 的 conda 环境。
注意事项:如果你曾安装过 CPU 版 PyTorch,建议先清理再装:
pip uninstall -y torch torchvision torchaudio
pip cache purge
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu124
版本选择建议
如果没有历史包袱,选择 PyTorch 2.6.0 + cu124。这是面向 CUDA 12.4 的直接答案,适合新环境、新模型训练、常规推理服务和大多数深度学习项目。
如果你依赖 mmcv、detectron2、旧版 xformers、自定义 CUDA extension 或实验室祖传代码,先看这些依赖支持的 torch 版本,再决定用 2.5.1 还是 2.4.1。判断标准很简单:第三方库的安装文档写明支持哪个 torch,就优先按它来;没有写明时,先用 2.5.1,比直接上 2.6.0 更保守。
如果你追求官网最新 Stable,而官网当前安装选择器没有 CUDA 12.4 选项,可以选择官网提供的新 CUDA wheel,例如 cu126 或 cu128;但这已经不是“安装 CUDA 12.4 对应 PyTorch”的问题,而是“当前驱动能否运行更新 CUDA runtime 的 PyTorch”的问题。生产环境中不要同时升级 PyTorch、CUDA wheel、Python、驱动和核心依赖,至少分两步验证,便于定位问题。
常见 QA
我 nvidia-smi 显示 CUDA 12.4,应该装哪个 torch?
优先装 torch==2.6.0+cu124 对应的官方 wheel,命令是 pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu124。如果项目依赖不支持 2.6,就降到 2.5.1 或 2.4.1。
CUDA 12.4 能不能用 PyTorch 2.7?
可以分情况看:如果你只是显卡驱动支持 CUDA 12.4,不强制要求 wheel 是 cu124,可以按官网最新 Stable 安装它支持的 CUDA wheel;如果你明确要 cu124 包,就应在 PyTorch Previous Versions 里选 2.6.0、2.5.1、2.5.0、2.4.1 或 2.4.0。
为什么 pip install torch==1.15.0 找不到版本?
因为 PyTorch 官方稳定版本并没有按 1.14、1.15 这样的常规版本继续发布。CUDA 12.4 对应的官方安装命令出现在 PyTorch 2.x 版本段里,旧教程里的 1.15.0 很可能是错误信息或过时改写。
本地已经装了 CUDA Toolkit 12.4,还要装 cu124 的 PyTorch 吗?
普通用户仍然建议装 PyTorch 官方 cu124 wheel,因为 wheel 自带运行所需的 CUDA 相关库。本地 CUDA Toolkit 主要影响 nvcc 编译扩展,不会自动让 CPU 版 PyTorch 变成 GPU 版。
torch.cuda.is_available() 是 False 怎么办?
先确认不是 CPU 版 PyTorch,再检查 NVIDIA 驱动、Python 环境和容器 GPU 映射。最常见的修复顺序是:卸载旧 torch,清理 pip 缓存,重新安装 cu124 wheel,运行 nvidia-smi,最后用 Python 验证 torch.version.cuda 和 torch.cuda.is_available()。
参考文献
原创文章,作者:王利头,如若转载,请注明出处:https://www.wanglitou.cn/article_19171.html
微信扫一扫