问题描述:自己在使用CPU上调试完代码之后,可以稳定运行,有输出结果。 但是把数据和模型加载上GPU之后,出现了报错。
Segmentation fault (core dumped)
搜了一下可能存在的原因:
解决手段:
检查你的模型大小和数据是否超出 GPU 内存。
降低了数据的batchsize,但是模型依旧报错,segmentation fault
确保你的代码和模型没有 bug,包括权重初始化问题。
代码应该没有bug, 因为在CPU上可以运行。
确保你的 GPU 驱动与你的pytorch版本是对应的。
查看GPU版本和我的torch版本:
如何查看torch的版本:
print(torch.__version__) # 2.0.1
print(torch.cuda.is_available()) # False
因为返回时False,所以版本匹配有问题。
查看 cuda 版本:nvcc -V
Cuda compilation tools, release 11.7, V11.7.64
Build cuda_11.7.r11.7/compiler.31294372_0
**重新安装: **
print(torch.version) # 2.0.1 +cu117
print(torch.cuda.is_available()) #True
原因找到,是cuda的版本不对应的问题。在下面网址找到对应的版本。
https://pytorch.org/get-started/previous-versions/