温馨提示×

PyTorch在CentOS上的部署步骤是什么

小樊
42
2025-12-15 20:16:04
栏目: 智能运维

在 CentOS 上部署 PyTorch 的标准流程

一 环境准备

  • 更新系统与基础工具
    • 执行:sudo yum update -y
    • 安装编译工具与基础依赖:sudo yum groupinstall -y "Development Tools"sudo yum install -y python3 python3-pip python3-devel git
  • 建议创建隔离环境(二选一)
    • 使用 venvpython3 -m venv pytorch_env && source pytorch_env/bin/activate
    • 使用 conda:安装 Miniconda 后执行 conda create -n pytorch_env python=3.8conda activate pytorch_env
  • 说明:常见可用 Python 3.6+;若需 GPU,请提前准备 NVIDIA 驱动、CUDA、cuDNN 并确保版本匹配。

二 安装 PyTorch

  • CPU 版本(通用)
    • 执行:pip install torch torchvision torchaudio
  • GPU 版本(示例为 CUDA 11.7
    • 执行:pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
  • 版本选择建议
    • 优先前往 PyTorch 官网获取与你 CUDA/cuDNN 匹配的安装命令;如使用其他 CUDA 版本,替换对应的 cuXX 索引 URL 即可。

三 验证安装与环境变量

  • 基础验证
    • 运行:python - <<'PY' import torch print("torch:", torch.__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()) PY
    • 预期:输出版本号;GPU 环境返回 cuda available: True 且可见设备信息。
  • GPU 环境变量(如使用官方 CUDA 安装包)
    • ~/.bashrc 中添加并生效:
      • echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
      • echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
      • source ~/.bashrc
    • 说明:路径以你的 CUDA 实际安装目录为准。

四 部署与运行应用

  • 运行脚本
    • 在虚拟环境中执行:python app.py
  • 以系统服务方式常驻运行(可选)
    • 创建服务文件 /etc/systemd/system/pytorch_app.service
      [Unit]
      Description=PyTorch Application Service
      After=network.target
      
      [Service]
      User=your_username
      Group=your_groupname
      ExecStart=/path/to/pytorch_env/bin/python /path/to/your/app.py
      Restart=always
      
      [Install]
      WantedBy=multi-user.target
      
    • 启用与启动:sudo systemctl daemon-reload && sudo systemctl start pytorch_app && sudo systemctl enable pytorch_app
  • 生产交付建议
    • 使用 Docker 将环境与应用打包,便于迁移与扩缩容;可在镜像中基于 Miniconda 构建并预装依赖。

五 常见问题与进阶

  • 驱动与 CUDA 不匹配
    • 现象:torch.cuda.is_available()False。检查 nvidia-sminvcc --version 输出,确保 驱动 ≥ CUDA 运行时且版本匹配;必要时重装对应 CUDA/cuDNN
  • 从源码编译(仅在需要时)
    • 依赖示例:gcc ≥ 7.3.0cmake ≥ 3.12.0;克隆 PyTorch 源码后执行 python3 setup.py install。特定版本(如 1.11.0)可能需要更高 GCC(≥ 7.5.0)
  • 昇腾 NPU 场景
    • 需安装 CANN 与对应 torch_npu 插件,设置环境变量后验证:python3 -c "import torch;import torch_npu; a = torch.randn(3,4).npu(); print(a+a)"

0