こんにちは。
マスクrcnnを最初からトレーニングしたい(事前にトレーニングされたウェイトを使用しない)
重みパラメータがランダムな初期化から始まることを願っています。
これどうやってするの?
コーディングの観点からゼロからのトレーニングが可能であり、このコードをあまり変更せずに実行できます。 ただし、BNを使用していない、またはBNを使用しているが、ミニバッチサイズが小さいことが原因で、収束の問題が発生する場合があります。 これについては、さらに調査を行うことをお勧めします。
追加する1つの注意点:リリースの直前に、最初からトレーニングしようとするとクラッシュを引き起こすバグがあることに気づきました(AffineChannel opsのスケールおよびバイアスパラメーターは初期化されません)。 今週公開される予定のパッチがあります。 それが修正されたら、 TRAIN.WEIGHTS
を空の文字列のままにしておくと、最初からトレーニングがトリガーされます。 @KaimingHeが言うように、良い結果が得られると期待する前に、さらに調査を行う必要があります。
e59c30bb1a6ced1a310b72d563bd9a60aba84999がコミットされたため、 TRAIN.WEIGHTS
を空の文字列に設定することで最初からトレーニングできるようになりました(yamlファイルから削除するのと同じです)。 しかし、そうすることで合理的な結果を得るには、かなりの実験が必要になるというカイミングの主張を強調したいと思います。
最も参考になるコメント
コーディングの観点からゼロからのトレーニングが可能であり、このコードをあまり変更せずに実行できます。 ただし、BNを使用していない、またはBNを使用しているが、ミニバッチサイズが小さいことが原因で、収束の問題が発生する場合があります。 これについては、さらに調査を行うことをお勧めします。