正在經歷最近發佈的tensorflow/models /../ object_detection模型,特別是更快的r-cnn。四步交替RPN /更快的R-CNN培訓? - Tensorflow對象檢測模型
本文提到的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個步驟執行?
我錯過了什麼嗎?
謝謝喬納森!與其他代碼庫比較結束。很少實際實現4步交替算法... 我們是否因爲使用近似聯合訓練而阻止了漸變? 基本上是這樣的:「解決方案忽略了也是網絡響應的提議框的導數w.r.」。如果我們要實現非約束,我們必須交換一個RoI變形層... – macguy
我們停止漸變那裏不是因爲我們必須(crop_and_resize是完全可微分的,並且基本上與您的ROIAlign操作相同可能在一些論文中已經看到)---我們阻止它,因爲我們發現它在訓練初期不穩定。 –
我有這麼多的問題!我只能將其中的一部分拼在一起! 在Fast/Faster/X R-CNN的第1階段,我們使用NMS將RPN提議限制爲300。 在Faster R-CNN的第2階段,我們使用這300個提案框,每個圖像採樣256個錨點,最多128個爲+,其餘爲 - 。 是否等同於_unpad_proposals_and_sample_box_classifier_batch? – macguy