【mindspore】【faster_rcnn】pad补齐之后的数据,如何将补齐的0那部分去掉

问题描述:

有个疑惑,这个问题一直灭有彻底弄明白。哪位老师提交的official/cv/faster_rcnn · MindSpore/models - 码云 - 开源中国 (gitee.com)    faster_rcnn的模型代码?

数据pad填充,做batch之后。如何在求loss得时候将补齐之后得到得数据中得零去除掉?

麻烦讲解一下,之前就有这个疑惑,也提过问题,之前我是tensor和数组之间转换去除得零元素。现在在graph模式下,construct部分,不能使用普通得numpy。

还希望有位老师可以仔细地讲解一下。

解答:

无论是fasterrcnn还是其他涉及bbox pad的网络,当前基本都是将bbox pad到固定数量去操作,同时数据会同步生成一个mask矩阵,来标记哪些bbox是有效的。

当然在网络的不同阶段,这个mask的含义是不同的,以fasterrcnn为例,这个mask可以来标记groundtruth bbox的有效数量,也可以标记proposal bbox的有效数量,mask矩阵是贯穿整个网络的。

到loss计算时,我们只需根据mask将有效的bbox参与loss计算即可。如在fasterrcnn的rcnn里,就是在计算完回归loss之后,直接乘以mask来过滤无效的结果,再将loss转为标量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值