Closed chzhan closed 1 year ago
感觉应该是一个BUG,按代码流程,decoder里外各做一次,self.bbox_embed和hs是一样的,相当于只需在decoder外实现
reference = inverse_sigmoid(reference)
tmp = self.bbox_embed[lvl](hs[lvl])
tmp = reference + 2*tmp
outputs_coord = tmp.sigmoid()
尽管如此训练且如此推理可能也没有大问题
这部分是保留的Deformable Detr实现。 我们也不知道为什么原repo要计算两遍,可能是因为iterative bounding box refinement是后来加入的功能。
请教下,我调试代码时发现,在decoder中已经做了iterative bounding box refinement,但是motr.py中又做了一次,这个实现是否重复了? deformable_transformer_plus.py +429
motr.py +542