温馨提示×

PyTorch Linux安装需要哪些依赖

小樊
36
2025-12-14 13:42:25
栏目: 智能运维

Linux 上安装 PyTorch 的依赖清单

一 基础运行依赖

  • Python 3.6+pip(建议优先使用 Python 3.8–3.11 的稳定版本)
  • 系统构建工具与基础开发库(用于保障常见 Python 包与多媒体/图像处理依赖的编译与运行)
    • Ubuntu/Debian 系:
      • sudo apt update && sudo apt install -y build-essential cmake git python3-dev python3-pip
      • 可选(数据处理/视觉任务常用):libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev
    • CentOS/RHEL 系:
      • sudo yum groupinstall “Development Tools” -y
      • sudo yum install -y gcc-c++ cmake git python3-devel python3-pip
  • 建议搭配虚拟环境:venvconda,避免系统包冲突

二 GPU 相关依赖(仅在使用 NVIDIA 显卡时需要)

  • NVIDIA 显卡驱动:版本需与所选 CUDA 匹配;可用 ubuntu-drivers autoinstall(Ubuntu)或参考 NVIDIA 官网指引安装,安装后可通过 cat /proc/driver/nvidia/version 验证
  • CUDA Toolkit:选择与 PyTorch 版本匹配的 CUDA(如 11.812.x);安装后配置环境变量
    • 示例(bash):
      • export CUDA_HOME=/usr/local/cuda
      • export PATH=$CUDA_HOME/bin:$PATH
      • export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
  • cuDNN:与 CUDA 版本严格匹配;解压后复制到 CUDA 目录并设定权限
    • 示例:
      • sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
      • sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
      • sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

三 常用可选依赖(按任务场景)

  • 计算机视觉/图像处理:opencv-pythonopencv-python-headlessPillow
  • 科学计算与数据处理:numpypandasmatplotlib
  • 机器学习与评估:scikit-learn
  • 日志与可视化:tensorboardpyyaml
  • 安装示例:pip install opencv-python Pillow numpy pandas matplotlib scikit-learn tensorboard pyyaml

四 版本匹配与安装方式建议

  • 使用 pip 安装时,优先选择 PyTorch 官网生成命令;如需指定版本,保持 torchtorchvision 版本匹配,例如:pip install torch==1.9.0 torchvision==0.10.0
  • 使用 conda 安装时,可直接获取带 cudatoolkit 的包(避免系统层面单独管理 CUDA):conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch -c nvidia
  • GPU 环境务必核对:驱动版本 ↔ CUDA 版本 ↔ cuDNN 版本 ↔ PyTorch 预编译包的 CUDA 标签一致

五 安装后的快速验证

  • 基础版本与设备检查:
    • python3 - <<‘PY’ import torch print(“torch:”, torch.version) print(“cuda available:”, torch.cuda.is_available()) PY
  • GPU 详细信息(若可用):
    • python3 - <<‘PY’ import torch print(“device count:”, torch.cuda.device_count()) print(“current device:”, torch.cuda.current_device()) print(“device name:”, torch.cuda.get_device_name(0)) PY

0