在 Ubuntu 上 PyTorch 运行慢,通常不是“系统问题”,而是配置或用法问题。下面按最常见原因 → 排查方法 → 解决建议给你总结。
很多人以为装了 PyTorch 就是 GPU 版。
检查:
python -c "import torch; print(torch.cuda.is_available())"
False → 在跑 CPUTrue → 正常解决:
pip uninstall torch torchvision
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
(CUDA 版本按你的驱动选)
模型很快,但数据喂不上。
典型问题:
num_workers=0pin_memory解决:
DataLoader(..., num_workers=8, pin_memory=True)
检查:
nvidia-smi
安装:
ubuntu-drivers autoinstall
例如:
查看:
nvcc --version
python -c "import torch; print(torch.version.cuda)"
常见坑:
确认:
which python
pip list | grep torch
检查:
nproc
lscpu
with torch.no_grad():
model(x)
或
model.eval()
torch.compile(PyTorch 2.x)model = torch.compile(model)
有时能快 1.5–2 倍。
with torch.cuda.amp.autocast():
output = model(x)
你可以一条条对照:
torch.cuda.is_available() == Truenvidia-smi 正常num_workers > 0.to('cuda')model.eval() + no_grad你可以直接贴:
nvidia-smipython -c "import torch; print(torch.__version__, torch.cuda.is_available())"我可以一步一步帮你定位到具体原因。