深度学习训练突然退出,提示“进程已结束,退出代码为 -1073741571”,该如何解决?

深度学习训练突然退出,提示“进程已结束,退出代码为 -1073741571”,该如何解决?

进程异常退出,错误代码 -1073741571

在使用 pycharm 和 anaconda prompt 时,深度学习训练可能会突然结束,没有任何报错信息,也不会进行到预期的迭代上限。提示的信息为:"进程已结束,退出代码为 -1073741571 (0xc00000fd)”。

分析事件查看器中应用程序日志显示:

  • 错误应用程序:python.exe
  • 错误模块:ntdll.dll
  • 异常代码:0xc00000fd

经过反复排查,发现问题代码段如下:

loss_list = torch.zeros(len(dataloader.dataset))

将 loss_list 初始化为 torch.zeros 会导致异常退出。修改为以下代码即可解决问题:

loss_list = np.zeros(len(dataloader.dataset))

如果收集的损失不需要梯度,则还可以进一步优化代码:

for j in range(batch_size):
  loss_list[index[j]] = loss[j].item()

以上就是深度学习训练突然退出,提示“进程已结束,退出代码为 -1073741571”,该如何解决?的详细内容,更多请关注其它相关文章!