Faster RCNN中的交替训练
1.stage1_rpn_train.pt
????? 單獨訓練RPN 網絡,訓練的模型用ImageNet的模型來初始化,采用end to end的方式來調整參數。
????? (backbone+rpn+fast rcnn——>backbone1+rpn1+fast rcnn,backbone 、rpn參數更新)
?2.stage1_fast_rcnn_train.pt
???? ?單獨訓練檢測網絡Fast Rcnn,訓練用的proposals來自第一步的RPN net,模型初始化采用ImageNet模型。
?????? (backbone+rpn1+fast rcnn——>backbone2+rpn1+fast rcnn1,backbone 、fast rcnn參數更新)
?3.stage2_rpn_train.pt
???? 用第二步Fast Rcnn的參數來初始化RPN模型,但是訓練的時候固定卷積層,只調整屬于RPN的參數。
??????? (backbone2+rpn1+fast rcnn1——>backbone2+rpn2+fast rcnn1,rpn參數更新)
?4.stage2_fast_rcnn_train.pt
???? 保持共享的卷積層固定,用第三步調整后的RPN輸出的proposals作為輸入,微調Fast Rcnn剩下的參數。
??????? (backbone2+rpn2+fast rcnn1——>backbone2+rpn2+fast rcnn2,fast rcnn參數更新)
參考:https://blog.csdn.net/dudu815110/article/details/79088258
總結
以上是生活随笔為你收集整理的Faster RCNN中的交替训练的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 训练网络指定层pytorch实现方法
- 下一篇: 一个torch版本报错