AvgPool#
バージョン名: AvgPool-14
カテゴリー: プーリング
簡単な説明: 入力に対して average プーリング操作を実行します。
詳細な説明: リファレンスAverage Pool は、入力をカーネル属性で指定されたサイズのプーリング領域に分割し、各領域の平均値を計算することでダウンサンプリングを実行するプーリング操作です。
属性: Pooling 属性は、レイヤーノードの子である data
ノードで指定されます。
ストライド
説明: strides は、3D プーリングの場合は (z、y、x) 軸上、2D プーリングの場合は (y、x) 軸上で、特徴マップ上のウィンドウをスライドさせる距離 (ピクセル単位) です。例えば、strides が “4,2,1” に等しい場合は、フィルターを奥行き次元で 4 ピクセル、高さ次元で 2 ピクセル、幅次元で 1 ピクセルずつスライドさせることを意味します。
値の範囲: 0 から始まる整数値
タイプ: int[]
必須: はい
pads_begin
説明: pads_begin は、各軸に沿って先頭に追加するピクセル数です。例えば、pads_begin が “1,2” に等しい場合は、入力の上部に 1 ピクセル、入力の左側に 2 ピクセルを追加することを意味します。
値の範囲: 0 から始まる整数値
タイプ: int[]
必須: はい
注: auto_pad 属性が指定されている場合、この属性は無視されます。
pads_end
説明: pads_end は、各軸に沿って終了点に追加するピクセル数です。例えば、pads_end が “1,2” に等しい場合は、入力の下部に 1 ピクセル、入力の右側に 2 ピクセルを追加することを意味します。
値の範囲: 0 から始まる整数値
タイプ: int[]
必須: はい
注: auto_pad 属性が指定されている場合、この属性は無視されます。
kernel
説明: kernel は各フィルターのサイズです。例えば、カーネルが (2, 3) に等しい場合は、各フィルターの高さが 2、幅が 3 であることを意味します。
値の範囲: 1 から始まる整数値
タイプ: int[]
必須: はい
exclude-pad
説明: exclude-pad は、パディング領域の値プーリングの一種です。例えば、exclude-pad が “true” の場合、パディングから得られたゼロ値は平均化計算に含まれません。
値の範囲: true または false
タイプ: ブール値
必須: はい
rounding_type
説明: rounding_type は、適用される丸めタイプです。ceil_torch では、最後のプーリングがパディング領域で開始されることはありません。
値の範囲: * floor * ceil * ceil_torch
タイプ: 文字列
デフォルト値 : floor
必須: いいえ
auto_pad
説明: auto_pad パディングの計算方法。設定可能な値:
explicit: pads_begin と pads_end からの明示的なパディング値を使用します。
same_lower (same_lower) - 入力は出力サイズに一致するようにパディングされます。パディング値が奇数の場合、追加のパディングが最後 (先頭) に追加されます。
valid - パディングを使用しません。
タイプ: 文字列
デフォルト値: explicit
必須: いいえ
注: auto_pad が指定されている場合、pads_begin と pads_end 属性は無視されます。
入力:
1: 3D、4D または 5D 入力テンソル。入力形状は、
[N, C, H]
、[N, C, H, W]
または[N, C, H, W, D]
のいずれかです。必須。
出力:
1: 出力形状は
[N, C, H_out]
、[N, C, H_out, W_out]
または[N, C, H_out, W_out, D_out]
になります。出力形状の計算ルールと例については、プーリング演算子の形状推論ルールを参照してください。
タイプ
T: 浮動小数点タイプまたは整数タイプ。
T_IND:
int64
またはint32
。
例
<layer ... type="AvgPool"...>
<data auto_pad="same_upper" exclude-pad="true" kernel="2,2" pads_begin="0,0" pads_end="1,1" strides="2,2"/>
<input>
<port id="0">
<dim>1</dim>
<dim>3</dim>
<dim>32</dim>
<dim>32</dim>
</port>
</input>
<output>
<port id="1">
<dim>1</dim>
<dim>3</dim>
<dim>32</dim>
<dim>32</dim>
</port>
</output>
</layer>
<layer ... type="AvgPool" ... >
<data auto_pad="same_upper" exclude-pad="false" kernel="5,5" pads_begin="0,0" pads_end="1,1" strides="2,2"/>
<input>
<port id="0">
<dim>1</dim>
<dim>3</dim>
<dim>32</dim>
<dim>32</dim>
</port>
</input>
<output>
<port id="1">
<dim>1</dim>
<dim>3</dim>
<dim>32</dim>
<dim>32</dim>
</port>
</output>
</layer>
<layer ... type="AvgPool" ... >
<data auto_pad="explicit" exclude-pad="true" kernel="5,5" pads_begin="1,1" pads_end="1,1" strides="3,3"/>
<input>
<port id="0">
<dim>1</dim>
<dim>3</dim>
<dim>32</dim>
<dim>32</dim>
</port>
</input>
<output>
<port id="1">
<dim>1</dim>
<dim>3</dim>
<dim>10</dim>
<dim>10</dim>
</port>
</output>
</layer>
<layer ... type="AvgPool" ... >
<data auto_pad="explicit" exclude-pad="false" kernel="5,5" pads_begin="1,1" pads_end="1,1" strides="2,2"/>
<input>
<port id="0">
<dim>1</dim>
<dim>3</dim>
<dim>32</dim>
<dim>32</dim>
</port>
</input>
<output>
<port id="1">
<dim>1</dim>
<dim>3</dim>
<dim>15</dim>
<dim>15</dim>
</port>
</output>
</layer>
<layer ... type="AvgPool" ... >
<data auto_pad="valid" exclude-pad="true" kernel="5,5" pads_begin="1,1" pads_end="1,1" strides="2,2"/>
<input>
<port id="0">
<dim>1</dim>
<dim>3</dim>
<dim>32</dim>
<dim>32</dim>
</port>
</input>
<output>
<port id="1">
<dim>1</dim>
<dim>3</dim>
<dim>14</dim>
<dim>14</dim>
</port>
</output>
</layer>