PaddlePaddle / PaddleDetection

Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
Apache License 2.0
12.71k stars 2.87k forks source link

关于bbox损失函数部分,其中mask rcnn的λ权重平衡参数在哪啊 配置和代码里没看见啊。。 #2589

Closed shuxsu closed 2 years ago

shuxsu commented 3 years ago

如果自定义loss 直接使用smoothl1+Iou这种形式 能否在配置上直接写2个loss呢 还是需要重写loss代码 如果重写loss代码 该如何操作ne 以及如何使用paddle的mask rcnn做消融实验呢

wangxinxin08 commented 3 years ago

请参考ppdet/modeling/proposal_generator/rpn_head.pyppdet/modeling/heads/bbox_head.py的RPNHead和BBoxHead类中的get_loss函数,如果没有特别指定权重平衡参数,则为1。loss可以在这两个类中的get_loss函数中进行修改

shuxsu commented 3 years ago

这个不是分类和回归损失函数吗? 但是在代码中并没有找到Ncls Nreg λ的值啊  意思是我自己在代码loss_bbox前面直接乘以一个0.几的数吗?

------------------ 原始邮件 ------------------ 发件人: "PaddlePaddle/PaddleDetection" @.>; 发送时间: 2021年4月12日(星期一) 晚上11:47 @.>; @.**@.>; 主题: Re: [PaddlePaddle/PaddleDetection] 关于bbox损失函数部分,其中mask rcnn的λ权重平衡参数在哪啊 配置和代码里没看见啊。。 (#2589)

请参考ppdet/modeling/proposal_generator/rpn_head.py和ppdet/modeling/heads/bbox_head.py的RPNHead和BBoxHead类中的get_loss函数,如果没有特别指定权重平衡参数,则为1。loss可以在这两个类中的get_loss函数中进行修改

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

shuxsu commented 3 years ago

请参考ppdet/modeling/proposal_generator/rpn_head.pyppdet/modeling/heads/bbox_head.py的RPNHead和BBoxHead类中的get_loss函数,如果没有特别指定权重平衡参数,则为1。loss可以在这两个类中的get_loss函数中进行修改

请参考ppdet/modeling/proposal_generator/rpn_head.pyppdet/modeling/heads/bbox_head.py的RPNHead和BBoxHead类中的get_loss函数,如果没有特别指定权重平衡参数,则为1。loss可以在这两个类中的get_loss函数中进行修改

如果没有特别指定权重平衡参数,则为1 这个1在哪啊 代码中体现的这个1是哪个 就是这个找不到。。。是loss_weight吗 我看ciou iou loss里面都有这个loss_weight和loss相乘

wangxinxin08 commented 3 years ago

你可以看下代码,每一个loss都被存在一个dict里面,你想要乘权重就去代码里面去手动乘下权重即可

shuxsu commented 3 years ago

你可以看下代码,每一个loss都被存在一个dict里面,你想要乘权重就去代码里面去手动乘下权重即可

    self._loss_weight = loss_weight 就这个

https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.0-rc/ppdet/modeling/losses/iou_loss.py#L48 这里面这个loss_weight到底是啥呢

wangxinxin08 commented 3 years ago

不好意思,引用的时候不小心把评论删掉了。iou loss一般是提供了权重设置的配置的,mask rcnn的reg loss和cls loss没有提供权重系数的配置,你需要去代码里手动添加

shuxsu commented 3 years ago

不好意思,引用的时候不小心把评论删掉了。iou loss一般是提供了权重设置的配置的,mask rcnn的reg loss和cls loss没有提供权重系数的配置,你需要去代码里手动添加

所以这个在iouloss ciou diou里面的loss_weight其实就是所谓的权重系数 λ的意思吧? 用来平衡权重参数的

wangxinxin08 commented 3 years ago

是的

paddle-bot-old[bot] commented 2 years ago

Since this issue has not been updated for more than three months, it will be closed, if it is not solved or there is a follow-up one, please reopen it at any time and we will continue to follow up. It is recommended to pull and try the latest code first. 由于该问题超过三个月未更新,将会被关闭,若问题未解决或有后续问题,请随时重新打开(建议先拉取最新代码进行尝试),我们会继续跟进。