温馨提示×

PyTorch在Linux上的版本选择

小樊
45
2025-12-24 10:03:55
栏目: 智能运维

Linux 上选择 PyTorch 版本的关键维度

  • 发行版与 glibc:优先选择较新的稳定发行版(如 Ubuntu 20.04+),以满足 PyTorch 运行时的 glibc 等基础依赖要求。
  • GPU 与驱动/CUDA:有 NVIDIA GPU 时,先确认驱动与 CUDA 的兼容关系;PyTorch 提供带 CUDA 的预编译包,也可选 CPU-only 版本。
  • Python 版本:选择与项目一致的 Python 3.x,并通过虚拟环境隔离依赖。
  • 安装方式:常用 condapip;两者在依赖管理与二进制兼容性上略有差异,按团队习惯与生态选择即可。

快速判定与选择步骤

  1. 查看发行版与架构:cat /etc/os-releaseuname -m(常见为 x86_64/AMD64)。
  2. 查看 Python 版本:python -Vpython3 -V
  3. 查看 GPU 与驱动/CUDA:
    • nvidia-smi(右上显示 Supported/Runtime CUDA 版本,表示驱动可支持的最高 CUDA 运行时)
    • nvcc --version(显示已安装的 CUDA Toolkit 版本)
  4. 选择 PyTorch 构建:
    • GPU:选择与驱动/Runtime CUDA 匹配的 PyTorch CUDA 标签(如 cu121 表示 CUDA 12.1 构建)。
    • CPU:直接选 CPU-only 构建。
  5. 选择安装通道与命令:
    • pip:使用官方 whl 索引(如 --extra-index-url https://download.pytorch.org/whl/cu121/cpu)。
    • conda:使用 pytorch-cuda=xxcudatoolkit=xx 指定 CUDA 版本。
  6. 建虚拟环境并安装,完成后验证:import torch; print(torch.__version__, torch.cuda.is_available())

版本匹配与命令示例

  • 判定规则要点:
    • nvidia-smi 的 CUDA 是“驱动支持上限”;nvcc --version 是“Toolkit 实际版本”。
    • PyTorch 的 CUDA 构建需 ≤ 驱动支持的 CUDA 运行时;若不一致,优先更换 PyTorch 的 CUDA 标签或升级驱动。
  • 常见安装命令(按需替换 CUDA 标签与 Python 版本):
场景 判定要点 pip 安装示例 conda 安装示例
CPU-only 无 NVIDIA GPU 或不启用 GPU pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu conda install pytorch torchvision torchaudio cpuonly -c pytorch
GPU + CUDA 12.x nvidia-smi 显示 Runtime ≥ 12.x pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121 conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
GPU + CUDA 11.8 nvidia-smi 支持 11.8 且已装 11.8 Toolkit pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118 conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch
  • 验证命令:python - <<'PY' import torch print("PyTorch:", torch.__version__, "CUDA:", torch.version.cuda) print("CUDA available:", torch.cuda.is_available()) print("Device count:", torch.cuda.device_count()) PY
    上述命令与判定方法适用于主流 Ubuntu/CentOS 等发行版;文件名与索引中的 cu121/cu118/cpu 等标签用于区分 CUDA 构建与 CPU 构建。

常见问题与建议

  • glibc/系统版本过旧导致安装失败:优先升级到 Ubuntu 20.04+ 或等效的新版本发行版。
  • 驱动与 CUDA 不匹配:升级 NVIDIA 驱动 或选择更低 CUDA 标签的 PyTorch 构建;两者需满足“PyTorch CUDA ≤ 驱动支持的 Runtime CUDA”。
  • 多项目环境冲突:使用 conda/venv 隔离环境,并固定 torch==x.x.xtorchvision/torchaudio 的对应版本。
  • 国内下载慢:可临时使用镜像源(如清华源)加速 conda 下载;安装命令与通道仍以官方为准。

0