2017-09-04 9 views
1

私のネットワークにFPNを適用します。ここで私はコンバレイヤの後に48 * 27レイヤを持っていますが、それは24 * 14になりますが、デコンボリューションレイヤの後、48 * 28、48 * 27と同じになりません。したがって、これらのレイヤーはadd/mul演算を実行できませんでした。デボリューションのレイヤーが元のレイヤーと一致しません

この問題を解決するにはどうすればよいですか?私はTensorFlowと 'SAME'パディング方法を使用しています。

答えて

1

問題が「SAME」パディング及び2のストライドを持つ畳み込みは以下のすべての入力形状に対して24 * 14の出力形状を有することがある。

48 * 27、* 28 48、47 * 27と47 * 28

したがってtf.layers.conv2d_transpose自体が正しい出力形状を知ることができない、それは次元のそれぞれを2倍に対称場合に行く:* 14 24 - あなたがしたい場合は> 48 * 28

異なる出力形状を使用することができます。lower level deconvolutiontf.nn.conv2d_transpose

これを使用すると、出力の形状を指定できます。

また、入力シェイプが常にストライドの倍数になるようにネットワーク全体を調整することもできます。デコンボリューションは常に正しい出力形状を予測します。

関連する問題