2025 年了,如果你还在被“显卡驱动 → CUDA → cuDNN → PyTorch”这条链反复毒打,本文就是给你准备的一站式避坑手册。无论是本地 Ubuntu 还是远程服务器,照做 10 分钟就能用 torch.cuda.is_available() 返回 True!
一、先搞清楚 4 个版本的对应关系
| 组件 | 作用 | 如何查看版本 | 2025-07 推荐组合 |
|---|---|---|---|
| GPU 驱动 | 操作系统识别显卡 | nvidia-smi | ≥ 535 |
| CUDA Toolkit | GPU 编程接口 | nvcc -V | 12.4 |
| cuDNN | 深度学习加速库 | conda list cudnn | 8.9.x |
| PyTorch | 深度学习框架 | torch.__version__ | 2.5.1+cu124 |
⚠️ 只要驱动够新,CUDA 12.x 可以向下兼容;PyTorch 官网安装命令会自动对齐 。
二、一键脚本(Ubuntu 20.04/22.04 通杀)
把下面脚本保存成 setup.sh,两行命令直接跑完:
# 1. 赋权 & 执行
chmod +x setup.sh && ./setup.sh
脚本内容(已集成国内镜像加速):
#!/usr/bin/env bash
set -e
# 0. 检查 GPU
if ! nvidia-smi; then
echo "❌ 请先安装 NVIDIA 驱动 ≥535"
exit 1
fi
# 1. 安装 Anaconda(若已装可跳过)
if ! command -v conda &> /dev/null; then
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
bash Anaconda3-2024.02-1-Linux-x86_64.sh -b
source ~/.bashrc
fi
# 2. 创建虚拟环境
conda create -n torch25 python=3.11 -y
source "$(conda info --base)/etc/profile.d/conda.sh"
conda activate torch25
# 3. 通过 conda 一键安装 GPU 版 PyTorch(自带 CUDA/cuDNN)
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia -y
# 4. 验证
python - <<'EOF'
import torch, os
print("PyTorch:", torch.__version__)
print("CUDA :", torch.version.cuda)
print("GPU :", torch.cuda.get_device_name() if torch.cuda.is_available() else "❌未识别")
EOF
跑完后若看到类似输出,就说明 100% 成功:
PyTorch: 2.5.1
CUDA : 12.4
GPU : NVIDIA GeForce RTX 4090
三、常见翻车点 & 急救方案
| 症状 | 根因 | 急救 |
|---|---|---|
torch.cuda.is_available() 返回 False | 驱动太旧 / CUDA 与 PyTorch 不匹配 | nvidia-smi 看驱动版本,<535 就升级;PyTorch 换 cu124 版本 |
ImportError: libcudnn.so.8 | cuDNN 没装好或路径不对 | conda/pip 重新装 cudnn 包即可,无需手动复制文件 |
| 多版本 CUDA 互相打架 | 系统 PATH 乱 | 用 conda 隔离,宿主系统无需装 CUDA Toolkit |
| RTX 50 系列显卡不被识别 | 架构太新,官方稳定版未支持 | 使用 PyTorch nightly 构建:pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128 |
四、Docker 一键镜像(可选进阶)
如果你想把环境封装成镜像带到任何一台支持 nvidia-docker 的机器,直接跑:
docker run --gpus all -it --rm \
yangjinyanxian/wan2.1:ubt2204-cu124-py311-pt251 \
python -c "import torch, torchvision; print(torch.cuda.is_available())"
镜像里已经打包好 Ubuntu 22.04 + Python 3.11 + PyTorch 2.5.1 + CUDA 12.4,开箱即用 。
五、3 分钟速查表(保存到备忘录)
-
驱动
nvidia-smi→ 看到 GPU 型号 & 驱动 ≥ 535 ✅ -
环境
conda create -n mytorch python=3.11
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia -
验证
import torch print(torch.cuda.is_available(), torch.cuda.get_device_name())
六、结语
2025 年,别再手动复制 .so 文件、改 .bashrc 了。
用 conda 或 Docker 就是最佳实践;一旦版本对齐,深度学习环境搭建只需要一杯咖啡的时间。
GPU、CUDA、PyTorch 深度学习环境搭建避坑指南

被折叠的 条评论
为什么被折叠?



