在 CentOS 上运行 PyTorch 慢,通常不是 PyTorch 本身的问题,而是环境、硬件或配置导致的。下面按最常见原因 → 排查方法 → 解决建议来说明。
很多“慢”其实是 CPU 在跑。
检查:
import torch
print(torch.cuda.is_available())
print(torch.cuda.device_count())
如果输出:
False
0
说明 PyTorch 没用上 GPU。
✅ 解决:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
CentOS 默认 pip install torch 很可能是 CPU only。
检查:
torch.__version__
如果类似:
2.x.x+cpu
就是 CPU 版。
✅ 解决:
pip uninstall torch
pip install torch --index-url https://download.pytorch.org/whl/cu118
CentOS 常见问题。
检查:
nvidia-smi
✅ 建议组合:
| PyTorch | CUDA |
|---|---|
| 2.x | 11.8 / 12.1 |
| 1.13 | 11.7 |
CentOS 7 默认:
✅ 解决:
pip install intel-openmp
或
export OMP_NUM_THREADS=8
在 CentOS 上很常见。
检查:
DataLoader(..., num_workers=0)
✅ 解决:
DataLoader(..., num_workers=8, pin_memory=True)
如果是 HDD / NFS:
torchvision.datasets 缓存CentOS 服务器常用 NFS:
✅ 解决:
lmdb / webdatasetPyTorch 默认用所有核,反而更慢。
检查:
import torch
print(torch.get_num_threads())
✅ 建议:
export OMP_NUM_THREADS=8
export MKL_NUM_THREADS=8
matplotlib 没关✅ 解决:
import matplotlib
matplotlib.use("Agg")
nvidia-smi
python -c "import torch; print(torch.cuda.is_available())"
python -c "import torch; print(torch.__version__)"
你可以告诉我:
torch.__version__我可以直接给你最优配置方案。