温馨提示×

Ubuntu下如何配置PyTorch环境

小樊
34
2025-12-30 11:51:07
栏目: 智能运维

Ubuntu下配置PyTorch环境

一 准备与版本选择

  • 更新系统并安装基础工具:sudo apt update && sudo apt upgrade -y && sudo apt install -y python3 python3-pip build-essential
  • 选择环境工具:优先使用虚拟环境隔离依赖,常见为 venv/ virtualenvconda/Miniconda
  • 选择安装方式:GPU 场景建议用 conda(自带 cudatoolkit,依赖更可控);CPU 或容器化场景常用 pip
  • 版本匹配关键点:
    • 查看驱动与 CUDA 运行时:nvidia-smi(右上显示 Supported/Runtime CUDA)
    • 查看本地 CUDA Toolkit:nvcc --version(若未安装 Toolkit,可仅用 conda 的 cudatoolkit)
    • Python 建议使用 3.8–3.11(与多数 PyTorch 版本兼容)
    • 版本选择原则:PyTorch 版本需与 CUDA 版本匹配;不确定时,用 conda 指定 cudatoolkit 版本更稳妥

二 安装与配置步骤

  • 方案A Conda(推荐,GPU 更省心)
    1. 安装 Miniconda:wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh && source ~/.bashrc
    2. 创建环境:conda create -n pytorch_env python=3.10 -y && conda activate pytorch_env
    3. 安装 PyTorch(按 CUDA 选择其一):
      • CPU:conda install pytorch torchvision torchaudio cpuonly -c pytorch
      • CUDA 11.8:conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
      • CUDA 12.1:conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
  • 方案B venv + pip(轻量通用)
    1. 创建并激活:python3 -m venv ~/venvs/pt && source ~/venvs/pt/bin/activate
    2. 升级 pip:pip install -U pip
    3. 安装 PyTorch(按 CUDA 选择其一):
      • CPU:pip install torch torchvision torchaudio
      • CUDA 11.x(示例 11.8):pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
      • 历史版本可用 cu111/cu113 等 whl 索引;如需精确版本,见 PyTorch 官方“Get Started”页生成命令
  • 可选 系统级 CUDA/cuDNN(仅在需要系统级开发或特殊驱动时使用)
    • 驱动:sudo ubuntu-drivers autoinstall 或 sudo apt install nvidia-driver-
    • CUDA:从 NVIDIA 下载 run 包安装,并在 ~/.bashrc 设置 PATH/LD_LIBRARY_PATH
    • cuDNN:按版本解压并复制到 /usr/local/cuda 对应目录,设置权限

三 验证安装

  • 基础版本与设备检查:
    • python - <<‘PY’ import torch, torchvision, torchaudio print(“torch:”, torch.version, “torchvision:”, torchvision.version, “torchaudio:”, torchaudio.version) print(“cuda available:”, torch.cuda.is_available()) if torch.cuda.is_available(): print(“device count:”, torch.cuda.device_count()) print(“current device:”, torch.cuda.current_device()) print(“device name:”, torch.cuda.get_device_name()) PY
  • 预期:输出版本号,且 cuda available 为 True(GPU 环境);CPU 环境为 False

四 常见问题与排错

  • 驱动与 CUDA 不匹配
    • 现象:nvidia-smi 显示的 CUDA 与 nvcc 不一致,或 torch.cuda.is_available() 为 False
    • 处理:优先用 conda 安装匹配版本的 cudatoolkit;或在系统安装与 PyTorch 兼容的驱动与 CUDA Toolkit
  • 虚拟环境未激活
    • 现象:python/pip 指向系统解释器,包安装到全局
    • 处理:conda activate 或 source /bin/activate 后再安装/运行
  • 权限与缓存问题
    • 现象:PermissionError 或安装缓慢
    • 处理:避免使用 sudo pip;必要时用 pip install --user;升级 pip 并清理缓存 pip cache purge
  • 需要特定版本
    • 处理:在 PyTorch 官方“Get Started”页面选择系统/包管理/Python/CUDA 组合,复制生成的安装命令执行

0