正在经历最近发布的tensorflow / models ../ object_detection模型,特别是更快的r-cnn。

本文提到了4步交替训练,


训练RPN,然后冻结RPN层,
训练RCNN,然后冻结RCNN层,
训练RPN,然后冻结RPN层
训练RCNN。


根据我的收集,在阶段2 = RCNN中,RPN确实冻结了:

if self._is_training:
    proposal_boxes = tf.stop_gradient(proposal_boxes)


因此,涵盖了培训RPN +冻结RPN层,然后进行RCNN培训,但是其他3个步骤又在哪里执行?

我想念什么吗?

最佳答案

我们在TF Object Detection API中对Faster R-CNN的实现非常接近本文,但有一些不同。这些差异之一是我们端到端地训练模型,而不是本文中使用的交替训练。

您提到的stop_gradient实际上并没有冻结RPN ---它所做的是它忽略了通过提案坐标的渐变贡献,但是继续允许渐变通过RPN功能。

希望这可以帮助!

10-08 17:05