RuntimeWarning: invalid value encountered in log

在训练faster rcnn的过程中使用的是自己制作的数据集,但是当训练迭代到120次的时候,出现了下面的错误:RuntimeWarning:invalid value encountered in log targets_dw = np.log(gt_widths / ex_widths)

RuntimeWarning

百度了一下,发现正确的做法是修改tf-faster-rcnn/lib/datasets/pascal_voc.py(或者py-faster-rcnn-master/lib/datasets/pascal_voc.py)文件,大概在160行左右,将167行至171行每一行后面的-1删除。

RuntimeWarning: invalid value encountered in log_第1张图片
pascal_voc.py

据faster rcnn训练过程出现loss=nan解决办法这个博客说是因为自己制作的xml文件中有些框的坐标是从左上角开始的,也就是(0,0),如果再减一就会出现log(-1)的情况,所以就会出现loss=nan的问题了,如果还出现loss=nan,可以再试试调小学习率以及各个损失项的占比重。

因此当出现了RuntimeWarning的问题时有两种解决方案:

1、换数据集进行训练,如果没有这个问题,就说明确实是数据集的问题;

结论:可行,目前仅仅更换了训练数据集,正在训练中,已经迭代到了2万次,还没有出现这个错误!

2、修改pascal_voc.py文件,验证是否还会出现这个问题;

你可能感兴趣的:(RuntimeWarning: invalid value encountered in log)