温馨提示×

啥是ubuntu pytorch最佳实践

小樊
42
2026-10-19 11:21:39
栏目: 智能运维

“Ubuntu + PyTorch 最佳实践”通常指在 Ubuntu 系统上安装、配置和使用 PyTorch 时,被广泛认可、稳定且高效的一套做法。下面按「环境搭建 → 安装 → 使用 → 训练/部署 → 常见坑」给你梳理一份实用版。


一、系统与环境(基础最佳实践)

1. 系统选择

  • Ubuntu 22.04 LTS(推荐)
  • 服务器:22.04 / 20.04
  • 桌面开发:22.04

2. 驱动 & CUDA(关键)

  • NVIDIA 显卡必须装官方驱动
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
  • 查看驱动:
nvidia-smi

3. 使用虚拟环境(强烈建议)

避免系统 Python 被污染

方案 A(推荐):conda

conda create -n torch python=3.10
conda activate torch

方案 B:venv

python -m venv venv
source venv/bin/activate

二、PyTorch 安装最佳实践

✅ 官方推荐方式(CUDA 支持)

去:https://pytorch.org

示例(CUDA 12.1):

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

✅ 验证 GPU 是否可用

import torch
print(torch.cuda.is_available())
print(torch.__version__)

三、项目结构最佳实践

project/
├── data/
├── models/
├── train.py
├── eval.py
├── config.yaml
├── requirements.txt
└── README.md

四、代码层面最佳实践

1. 设备统一

device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device)

2. 固定随机种子

torch.manual_seed(42)

3. 使用 torch.cuda.amp(混合精度)

scaler = torch.cuda.amp.GradScaler()
with torch.cuda.amp.autocast():
    output = model(x)

4. DataLoader 设置

DataLoader(
    dataset,
    batch_size=32,
    num_workers=4,
    pin_memory=True
)

五、训练 & 性能优化

  • ✅ 用 torch.compile(PyTorch 2.x)
model = torch.compile(model)
  • ✅ 监控 GPU 使用
watch -n 1 nvidia-smi
  • ✅ 日志用 tensorboard 或 wandb

六、部署最佳实践(Ubuntu)

  • 推理:TorchScript / ONNX
  • 服务:
    • FastAPI + PyTorch
    • Triton Inference Server
  • 量化(边缘):torch.quantization

七、常见坑(血泪经验)

❌ 用系统 Python 直接装
❌ pip 和 conda 混用
❌ CUDA 版本和 PyTorch 不匹配
❌ num_workers 太大导致卡死
❌ 忘记 model.eval()


一句话总结

Ubuntu + PyTorch 最佳实践 = 干净环境 + 官方 CUDA 匹配 + 虚拟环境 + GPU 验证 + 工程化结构

如果你愿意,我可以:

  • 给你一套 服务器训练模板
  • 或按你的 显卡型号 / Ubuntu 版本 定制安装命令

0 踩