Ubuntu 部署 PyTorch 的关键注意事项
一 系统与驱动准备
cat /etc/os-release、uname -r。sudo ubuntu-drivers autoinstall && sudo reboot,重启后用 nvidia-smi 验证。注意 nvidia-smi 显示的 CUDA Version 是驱动支持的最高运行时版本,并不等同于已安装的 CUDA Toolkit 版本;PyTorch 官方预编译包通常向下兼容,例如驱动支持 CUDA 12.0 也可选择 CUDA 11.8 构建的 PyTorch。nvidia-smi 不可用,检查 Secure Boot、显卡直连/虚拟化、驱动签名与内核模块加载(lsmod | grep nvidia)。二 Python 环境与安装方式
conda create -n torch_env python=3.8-3.11 -y && conda activate torch_env。低内存(如 ≤4GB RAM)机器优先用 pip 安装 PyTorch,依赖解析更轻量;必要时增加 swap(如 fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile)。conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidiapip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu。python -c "import torch; print(torch.__version__, torch.cuda.is_available())" 验证。三 版本匹配与常见故障排查
nvidia-smi 查看支持的最高 CUDA Runtime;nvcc --version 查看实际 CUDA Toolkit 版本(若系统单独安装了 Toolkit);torch.cuda.is_available() 为 False:检查驱动加载、nvidia-smi 输出、PyTorch 是否为 GPU 版本、虚拟环境是否激活。ImportError: libcublas.so.11 等库缺失:确认 CUDA 库路径(如 /usr/local/cuda/lib64)是否在 LD_LIBRARY_PATH,必要时添加:echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc && source ~/.bashrc。四 性能与多 GPU 部署
export PYTORCH_CUDA_ALLOC_CONF=garbage_collection_threshold:0.6,max_split_size_mb:128。sudo apt-get install libnccl2 libnccl-dev;export NCCL_DEBUG=INFO、export NCCL_SOCKET_IFNAME=eth0(按实际网卡名调整);batch_size、num_workers 与 pin_memory。torch.cuda.amp)降低显存占用、提升吞吐。五 上线与运维实践
requirements.txt 或 environment.yml,如 pip freeze > requirements.txt)。