Python深度学习训练意外终止:退出代码 -1073741571 是什么原因?
python进程意外终止:退出代码-1073741571
问题描述
在使用pycharm和anaconda prompt命令行进行深度学习训练时,训练突然中断,没有任何错误提示,也没有达到预期的迭代次数。事件查看器显示退出代码为 -1073741571 (0xc00000fd)。
原因分析
立即学习“Python免费学习笔记(深入)”;
经过代码排查发现,问题出现在一个训练循环中。源代码将用于收集训练损失的列表loss_list初始化为torch.zeros,但是实际应该初始化为:
loss_list = np.zeros(len(dataloader.dataset))
解决方案
将loss_list初始化为torch.zeros修改为loss_list = np.zeros即可解决问题。
进一步优化
如果收集的损失不需要梯度,还可以进行进一步的优化:
for j in range(batch_size): loss_list[index[j]] = loss[j].item()
这样可以避免对每个损失进行backward,提高训练效率。
文章推荐
-
Python程序:删除数组/列表中的所有元素的出现次数
数组是存储在连续内存位置的同类数据类型元素的集合。 Python 不提供对内置数组的支持。如果您需要使用数组,则需要导入...
Python
46秒前 0 -
探秘Python在机器学习中的杰出应用案例
探秘Python在机器学习中的杰出应用案例机器学习已经成为数据科学中不可或缺的一部分。在机器学习的大部分任务中,Pyth...
Python
2分钟前 0 -
Python在智能交通系统中的应用案例分析
Python在智能交通系统中的应用案例分析摘要:随着智能交通系统的快速发展,Python作为一种多功能、易于学习和使用的...
Python
3分钟前 0 -
使用Python根据列表创建多个目录
Python凭借其简单性和多功能性,已成为各种应用程序中最流行的编程语言之一。无论您是经验丰富的开发人员还是刚刚开始编码...
Python
4分钟前 0 -
将一个多项式转换为Python中的Hermite_e级数
要将多项式转换为Hermite级数,请在Python中使用hermite_e.poly2herme()方法Numpy....
Python
4分钟前 0
最新文章
- Python程序:删除数组/列表中的所有元素的出现次数 46秒前
- 探秘Python在机器学习中的杰出应用案例 2分钟前
- Python在智能交通系统中的应用案例分析 3分钟前
- 使用Python根据列表创建多个目录 4分钟前
- 将一个多项式转换为Python中的Hermite_e级数 4分钟前
- 如何在Tkinter GUI Python中添加PDF? 5分钟前
- Python在智能机器人领域的成功故事 6分钟前
- 为什么Python是当前最热门的就业方向? 6分钟前
- Python在智能音箱技术中的前沿突破 7分钟前
- Python编程行业中最有前途的就业选择 7分钟前