faster rcnn训练过程出现loss=nan解决办法
来源:互联网 发布:java uml建模工具 编辑:程序博客网 时间:2024/05/19 00:51
在我训练faster rcnn的过程中,使用VOC2007数据集end2end训练方法,并没有出现loss=nan的问题,出现了loss=nan说明模型发散,此时应该停止训练,不然得到的模型也不能检测出物体。
在我自己训练自己的数据(Kitti数据集转成voc数据集)的时候,出现一个RuntimeWarning: invalid value encountered in log targets_dw = np.log(gt_widths / ex_widths),然后就会出现loss=nan这种情况,网上很多说出现loss=nan改学习率就行,但是在这种自己做的数据集且出现这个警告的情况下,改学习率是没用的,正确的做法是打开lib/database/pascal_voc.py文件,找到208行,将208行至211行每一行后面的-1删除,如下所示:
x1 = float(bbox.find('xmin').text)
y1 = float(bbox.find('ymin').text)
x2 = float(bbox.find('xmax').text)
y2 = float(bbox.find('ymax').text)
原因是因为我们制作的xml文件中有些框的坐标是从左上角开始的,也就是(0,0)如果再减一就会出现log(-1)的情况。
改完之后就不会出现RuntimeWarning: invalid value encountered in log targets_dw = np.log(gt_widths / ex_widths)这个问题了,loss也不会出现等于nan了,如果还出现loss=nan,可以再试试调小学习率以及各个损失项的占比重。
亲测有效。。
- faster rcnn训练过程出现loss=nan解决办法
- loss=nan解决办法
- 神经网络训练时,出现NaN loss
- tensorflow 运行过程中loss出现 NaN
- 在卷积神经网络训练过程中loss出现NaN的原因以及可以采取的方法
- faster rcnn训练过程内存占用
- pva-faster-rcnn训练过程介绍
- faster-rcnn移植过程中出现错误
- Faster RCNN训练出现问题:Matlab版本训练
- faster rcnn训练
- faster-rcnn训练成功
- 训练FASTER-RCNN趣谈
- faster rcnn 训练
- faster rcnn训练
- 训练py-faster-rcnn
- Faster-RCNN训练问题解决
- Faster-RCNN训练修改
- Faster-RCNN训练问题解决
- HttpClient 教程 (二)
- JS中的prototype
- Spring IOC容器的初始化过程(1)
- 《统计学习方法》笔记——支持向量机(SVM)
- 立体声、双声道、单声道的区别
- faster rcnn训练过程出现loss=nan解决办法
- 数据结构C++栈
- socket理解(1)
- MySql中一个简单的存储过程刷数据库数据
- 整数划分
- JAVA上加密算法的实现用例
- kafka broker的常用配置
- 关于UIImage图片处理详细使用
- HttpClient 教程 (三)