Closed YoungsunPan closed 4 months ago
我修改了这个bug,依然无法收敛。 后续发现是CE loss中bg类的权重默认设置为1e-4,太小了。设置成1之后就正常
我修改了这个bug,依然无法收敛。 后续发现是CE loss中bg类的权重默认设置为1e-4,太小了。设置成1之后就正常
现在的问题是,使用ce的话,训练某个步骤,loss会突然崩溃,并且不会快速回落。。 而且将梯度截断设置成1e-4, lr设置成1e-6都无法避免该问题
这样试一下 ?
num_classes
改成 num_classes+1
enc_outputs_class[:, -1].max(-1).values
https://github.com/lyuwenyu/RT-DETR/blob/5b628eaa0a2fc25bdafec7e6148d5296b144af85/rtdetr_pytorch/src/zoo/rtdetr/rtdetr_decoder.py#L491这样试一下 ?
- 结合上面的PR
- 同时把config里的
num_classes
改成num_classes+1
- 这里
enc_outputs_class[:, -1].max(-1).values
https://github.com/lyuwenyu/RT-DETR/blob/5b628eaa0a2fc25bdafec7e6148d5296b144af85/rtdetr_pytorch/src/zoo/rtdetr/rtdetr_decoder.py#L491
感谢现在已经能正常收敛。1 2我之前已经改好, 加上第三点之后没有在出现上述loss爆炸的情况。也就是说第三点是罪魁祸首。。。 后面跑出结果我附在下边
总结上述:
R50vd 的map只有45, 和BCE(53.1)差距太大了。。 感觉还是不正常
也就是config中的'vfl' loss改成’label‘ loss,并将“use_focal_loss”设为false。 发现无法收敛 map只能跑有4.几。这是为什么呢