在 Ubuntu 上使用 PyTorch 出现闪退(crash / 直接退出 / 段错误),常见原因和排查思路如下:
检查:
nvidia-smi
nvcc --version
python -c "import torch; print(torch.version.cuda)"
要求:
nvidia-smi 显示的驱动版本 ≥ PyTorch 所需 CUDA 版本✅ 建议:
# 用官方推荐命令重装
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
查看显存:
nvidia-smi
测试:
import torch
x = torch.randn(10000, 10000).cuda()
如果这里就崩,基本是显存或驱动问题。
临时解决:
export OMP_NUM_THREADS=1
python train.py
检查:
which python
pip show torch
✅ 建议:
conda create -n pt python=3.10
conda activate pt
pip install torch
解决:
pip install torch==1.13.1
测试:
from torch.utils.data import DataLoader
# num_workers=0 先试
import torch
print(torch.__version__)
print(torch.cuda.is_available())
x = torch.randn(3,3).cuda()
print(x)
如果这一步就闪退 → 环境问题
如果不闪退 → 代码问题
python train.py 2>&1 | tee log.txt
段错误常见关键词:
Segmentation faultIllegal instructioncore dumped请告诉我:
python xxx.py 直接退出,还是训练中途崩我可以给你精确解决方案。