3

次のhttp://tensorflow.org/api_docs/python/nn.md#poolingからの抜粋

形状 (出力) = (形状 (値) - ksize + 1) / ストライド

丸め方向はパディングに依存します。

  • padding = 'SAME': 切り捨て (フル サイズのウィンドウのみが考慮されます)。

  • padding = 'VALID': 切り上げ (部分的なウィンドウが含まれます)。

上の式がわかりません。ただし、次の式に精通しています。

shape(out) = (shape(value) - ksize + 2*pad)/strides+1.

2 つの式は同等ですか?

たとえば、shape(value) = 9、ksize = 3、strides = 2、padding = 'SAME' とします。

最初の式では、形状 (出力) は (9-3+1)/2 = 7/2 = 3.5 になり、切り捨ては 3 になります。

2 番目の式では、形状 (出力) は (9-3+2*1)/2 + 1 = 5 になります。

同じ式ではないようです。最初の 1 つを切り上げても、結果は 4 になります。

それに加えて、パディングの定義が逆になっているようです。部分的なウィンドウを含む「同じ」パディングではありませんか?

4

1 に答える 1

2

私は問題を理解したと思います。適切なパディングが既に shape(value) に含まれていると仮定すると、2 つの式は同等になります。しかし、パディングタイプの定義はドキュメントで交換されていると思います。次のことを報告する問題を作成しました: https://github.com/tensorflow/tensorflow/issues/196

于 2015-11-14T12:11:44.590 に答える