训练mask-rcnn时报错,RuntimeWarning: overflow encountered in exp

在py-faster-rcnn的基础上修改为mask-rcnn的过程中,遇到很多问题,其中训练的时候报exp的溢出错误。

该错误是因为mask分支的loss过大,在同faster-rcnn共享同一个学习率的时候,梯度回传过大,导致梯度爆炸,进而出现溢出错误。

在faster-rcnn的bbox_transform.py第48行就容易出现该类错误。

训练mask-rcnn时报错,RuntimeWarning: overflow encountered in exp


解决办法是降低mask分支的loss占比,将其权重weight下调100倍,这样训练后,检测分支与分割分支的loss都降了下来,如下图所示:

训练mask-rcnn时报错,RuntimeWarning: overflow encountered in exp