RuntimeWarning: invalid value encountered in log
发布网友
发布时间:2023-06-02 00:21
我来回答
共1个回答
热心网友
时间:2024-11-17 02:35
在训练faster rcnn的过程中使用的是自己制作的数据集,但是当训练迭代到120次的时候,出现了下面的错误:RuntimeWarning:invalid value encountered in log targets_dw = np.log(gt_widths / ex_widths)
百度了一下,发现正确的做法是修改tf-faster-rcnn/lib/datasets/pascal_voc.py(或者py-faster-rcnn-master/lib/datasets/pascal_voc.py)文件,大概在160行左右,将167行至171行每一行后面的-1删除。
据 faster rcnn训练过程出现loss=nan解决办法 这个博客说是因为自己制作的xml文件中有些框的坐标是从左上角开始的,也就是(0,0),如果再减一就会出现log(-1)的情况,所以就会出现loss=nan的问题了,如果还出现loss=nan,可以再试试调小学习率以及各个损失项的占比重。
因此当出现了RuntimeWarning的问题时有两种解决方案:
1、换数据集进行训练,如果没有这个问题,就说明确实是数据集的问题;
结论: 可行 ,目前仅仅更换了训练数据集,正在训练中,已经迭代到了2万次,还没有出现这个错误!
2、修改pascal_voc.py文件,验证是否还会出现这个问题;