Closed lapvision closed 1 year ago
并不需要,在 cls loss 里面加大负样本的权重也可以抑制 FP。 具体可参考BCEWITHLOGITSLOSS 中的 pos_weight 参数。
新版本代码里好像都没有用BCEWITHLOGITSLOSS loss = self.loss_weight['class'] loss_cls + self.loss_weight['iou'] loss_iou + self.loss_weight['dfl'] * loss_dfl 其中 loss_cls = self.varifocal_loss(), loss_iou, loss_dfl = self.bbox_loss
的确是,如果是要用 pos_weights 参数的话,就得稍微改写一下分类的损失函数,或者手动实现 F.binary_cross_entropy 这个函数,在里面加上 pos_weights 这个参数。
Before Asking
[x] I have read the README carefully. 我已经仔细阅读了README上的操作指引。
[ ] I want to train my custom dataset, and I have read the tutorials for training your custom data carefully and organize my dataset correctly; (FYI: We recommand you to apply the config files of xx_finetune.py.) 我想训练自定义数据集,我已经仔细阅读了训练自定义数据的教程,以及按照正确的目录结构存放数据集。(FYI: 我们推荐使用xx_finetune.py等配置文件训练自定义数据集。)
[X] I have pulled the latest code of main branch to run again and the problem still existed. 我已经拉取了主分支上最新的代码,重新运行之后,问题仍不能解决。
Search before asking
Question
看代码训练loss只有iou_loss+cls_loss,如果要加入负样本(无标注框)的图片抑制部分误检,是否要重新设计loss啊?把之前的那个obj_loss要加上?谢谢!
Additional
No response