在 Ubuntu 上充分发挥 PyTorch 能力的实用路线图
一 环境搭建与版本匹配
sudo ubuntu-drivers autoinstall 后重启;用 nvidia-smi 验证驱动与 GPU 状态。PATH、LD_LIBRARY_PATH)。cudatoolkit 版本(如 conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch),或用 pip 安装对应 CUDA 版本的官方 wheel。python -c "import torch; print(torch.__version__, torch.cuda.is_available())" 应返回版本号与 True;nvidia-smi -l 1 持续观察 GPU 利用率与显存占用。二 训练加速关键配置
autocast + GradScaler,在保持精度的同时降低显存占用并提升吞吐。torch.backends.cudnn.benchmark = True 以自动选择最优卷积算法;若需可复现实验,设置 torch.backends.cudnn.deterministic = True。torch.set_num_threads(<物理核心数>) 优化数据预处理与 CPU 密集型算子;合理设置 OMP/NumExpr 线程数以匹配硬件。DataLoader(num_workers=4~os.cpu_count(), pin_memory=True) 提升吞吐;三 多卡与分布式训练
torch.nn.DataParallel(易用但存在 GPU 显存不均衡 与单进程瓶颈);init_process_group(backend='nccl', init_method='tcp://IP:PORT', rank=..., world_size=...)),各节点代码一致,仅 rank 不同。python -m torch.distributed.launch --nproc_per_node=<GPU数> train.py;init_method、正确的 rank 与 world_size;--local_rank 并 torch.cuda.set_device(args.local_rank);四 性能分析与资源监控
nvidia-smi -l 1、nvidia-smi dmon 观察 显存、利用率、功耗、温度;htop、iostat -x 1 检查 CPU 占用、上下文切换、磁盘 IO。五 常见问题与排障清单
cu113、cu117 等)。nvidia-smi 失败多与驱动未加载或版本过低有关,执行 sudo ubuntu-drivers autoinstall 升级驱动并重启。