在 Ubuntu 下运行 PyTorch 程序报错并闪退,通常不是 PyTorch 本身“随机闪退”,而是底层环境或资源问题导致进程异常终止。下面我按最常见原因 → 排查方法 → 解决办法给你系统梳理一下。
表现
.cuda() 或模型训练就闪退Segmentation fault (core dumped)原因
排查
nvidia-smi
nvcc --version
python -c "import torch; print(torch.version.cuda)"
解决
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
表现
CUDA out of memory排查
nvidia-smi
free -h
dmesg | tail
解决
batch_sizetorch.cuda.empty_cache()表现
import torch 直接闪退Illegal instruction 或 core dumped常见情况
解决
pip install torch==1.13.1+cpu
表现
import torch 就崩解决
conda create -n pt python=3.10
conda activate pt
pip install torch
表现
cv2.imshow 或 transforms 就退解决
pip install --upgrade numpy opencv-python-headless
python -c "import torch; print(torch.__version__)"
python -c "import torch; print(torch.cuda.is_available())"
nvidia-smi
如果第二步直接闪退 → CUDA 问题
你可以直接贴出:
我可以直接告诉你改哪一条命令就能跑。