在Ubuntu 24.04 LTS上如何正确安装PyTorch用于深度学习开发?

在 Ubuntu 24.04 LTS 上正确安装 PyTorch(推荐使用 CUDA 提速版本,兼顾性能与兼容性),请按以下步骤操作。Ubuntu 24.04 默认搭载较新的内核(6.8+)、GCC 13 和 Python 3.12,需特别注意 PyTorch 官方支持状态和 CUDA 兼容性。

截至 2024 年 7 月的推荐方案:
PyTorch 2.3+ 已官方支持 Ubuntu 24.04(含 Python 3.12),且支持 CUDA 12.1/12.4(推荐 CUDA 12.1,稳定性最佳)。NVIDIA 驱动需 ≥ 535(推荐 535.129.03 或更新)。


✅ 步骤 1:确认系统环境与 NVIDIA 驱动

# 检查 Ubuntu 版本(应为 24.04)
lsb_release -a

# 检查 GPU 和驱动(必须!无 GPU 可跳过 CUDA 步骤,用 CPU 版)
nvidia-smi
# ✅ 若报错 "NVIDIA-SMI has failed" → 需先安装官方驱动(见下方小节)

# 检查 Python(Ubuntu 24.04 默认为 3.12)
python3 --version  # 应为 Python 3.12.x

⚠️ nvidia-smi 不工作(无驱动):

# 添加官方图形驱动 PPA(推荐)
sudo apt update && sudo apt install -y software-properties-common
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt update
# 推荐安装驱动(自动选择稳定版,如 535)
sudo ubuntu-drivers autoinstall
sudo reboot

✅ 步骤 2:安装 CUDA Toolkit(可选但强烈推荐)

Ubuntu 24.04 的 nvidia-cuda-toolkit 包(来自仓库)不完整且版本旧(12.0)不推荐使用。应使用 NVIDIA 官方 .deb (network) 方式安装 CUDA 12.1(PyTorch 2.3 官方预编译包所依赖):

# 下载 CUDA 12.1(兼容 Ubuntu 24.04 + kernel 6.8)
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
sudo sh cuda_12.1.1_530.30.02_linux.run

# ⚠️ 安装时:取消勾选 "NVIDIA Driver"(避免覆盖已装驱动!只勾选 CUDA Toolkit & Samples)
# 安装路径默认 `/usr/local/cuda-12.1`

✅ 配置环境变量(添加到 ~/.bashrc~/.zshrc):

echo 'export PATH=/usr/local/cuda-12.1/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
nvcc --version  # 应输出 12.1.112

💡 提示:PyTorch 2.3+ 预编译二进制已内置 libcudnn.so.8无需单独安装 cuDNN(除非你需高级功能)。


✅ 步骤 3:创建虚拟环境(强烈推荐)

避免污染系统 Python:

sudo apt install -y python3-venv python3-pip
python3 -m venv ~/torch-env
source ~/torch-env/bin/activate
pip install -U pip  # 升级 pip 至最新

✅ 步骤 4:安装 PyTorch(官方推荐命令)

访问 https://pytorch.org/get-started/locally/ → 选择:

  • OS: Linux
  • Package: Pip
  • Language: Python
  • CUDA: 12.1(⚠️ 不要选 12.4 —— PyTorch 2.3 尚未提供官方 12.4 预编译包)

👉 执行生成的命令(2024年7月有效):

# ✅ PyTorch 2.3.1 + CUDA 12.1(最稳定组合)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

✅ 验证安装:

python3 -c "
import torch
print(f'PyTorch {torch.__version__}')
print(f'GPU available: {torch.cuda.is_available()}')
if torch.cuda.is_available():
    print(f'GPU count: {torch.cuda.device_count()}')
    print(f'Current device: {torch.cuda.get_device_name(0)}')
"

✅ 输出应类似:

PyTorch 2.3.1+cu121
GPU available: True
GPU count: 1
Current device: NVIDIA RTX 4090

🧩 可选增强(提升开发体验)

# 安装常用科学计算库
pip install numpy pandas matplotlib scikit-learn jupyter

# 安装 PyTorch Lightning(推荐用于工程化训练)
pip install lightning

# 安装 Hugging Face Transformers(NLP 必备)
pip install transformers datasets accelerate

# (可选)启用 PyTorch 编译优化(需 GCC 13+,Ubuntu 24.04 自带)
export TORCH_CUDA_ARCH_LIST="8.6"  # 如 RTX 30/40 系列(Ampere/Ada)

❌ 常见错误与避坑指南

问题 原因 解决
torch.cuda.is_available() == False 驱动版本过低 / CUDA 路径未配置 / 显卡不支持 CUDA nvidia-smi 查驱动;nvcc -V 查 CUDA;检查 LD_LIBRARY_PATH
ImportError: libcudnn.so.8: cannot open shared object file cuDNN 缺失(但 PyTorch 2.3+ 已静态链接,极少发生) 一般无需处理;若真缺失,从 NVIDIA 下载 cuDNN 8.9.7 for CUDA 12.1
pip install torch 安装了 CPU 版 未指定 index-url,pip 降级到 CPU 版 务必使用 --index-url https://download.pytorch.org/whl/cu121
No module named 'torch' 在系统 Python 中 忘记 source ~/torch-env/bin/activate 激活虚拟环境后再运行 Python

🌐 无 GPU?安装 CPU 版(仅开发/测试用)

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

⚠️ 注意:CPU 版速度极慢,不适用于实际模型训练,仅用于代码调试或轻量推理。


✅ 总结:Ubuntu 24.04 LTS 上 PyTorch 最佳实践
| 组件 | 推荐版本 | 备注 |
|——–|————|——|
| NVIDIA 驱动 | ≥ 535.129.03 | ubuntu-drivers autoinstall |
| CUDA | 12.1.1 | 官方 .run 安装,勿用系统包 |
| PyTorch | 2.3.1+cu121 | pip install ... --index-url https://download.pytorch.org/whl/cu121 |
| Python | 3.12(系统默认) | 官方完全支持 |
| 环境管理 | venv | 避免权限与依赖冲突 |

如需进一步支持(如 Docker 部署、Conda 方案、或自编译 PyTorch),欢迎继续提问!🚀