bubbliiiing / yolov4-pytorch

这是一个YoloV4-pytorch的源码,可以用于训练自己的模型。
MIT License
2.1k stars 616 forks source link

计算loss_loc的时候,出现了nan #171

Open BigPandaCPU opened 3 years ago

BigPandaCPU commented 3 years ago

作者您好,我在用训练自己的数据的时候,在box_ciou()计算loss_loc的时候,出现了nan,追了一下,发现是在yolo_training.py的406-407行,在计算predict_boxes的时候,计算的w和h中,出现了inf,导致后面计算loc_loss的时候,出现了nan,导致后面的训练停止。 QQ截图20210322135239

下图是对预测的obj_mask的pred_boxes打印的结果,在w,h这出现了inf。

QQ截图20210322135534

想请问一下,你那在训练的shih时候,遇到这中情况没? 直接将这些inf设置为0,可以不?

BigPandaCPU commented 3 years ago

我搜了一下,相关的问题,调整了一下训练的batch_size,由原来的8改为4,训练过程中就没有出现这个nan。

LeiYe10 commented 3 years ago

我也遇到了同样的问题,但是修改这个batch_size没有用训练过程中还是有inf 最终计算的map为0%

bubbliiiing commented 3 years ago

一般来讲不会出现这个问题。。这个是网络的预测结果为inf。就很奇怪。。。我自己训练没遇见过,可能是数据集不太一样

bubbliiiing commented 3 years ago

一般多重复几次就没问题。。