AdaptiveAvgPool

バージョン名: AdaptiveAvgPool-8

カテゴリー: プーリング

簡単な説明: 入力に対して適応カーネルサイズを使用した平均プーリングを適用します。

詳細な説明: この操作は、最初の入力と 2 番目の入力によって決定される output_size に基づいて出力を計算します。カーネルの次元は、NCDHW 入力ケースに次の式を使用して計算されます。

\[\begin{split}\begin{array}{lcl} d_{start} &=& \lfloor i \cdot \frac{D_{in}}{D_{out}}\rfloor\\ d_{end} &=& \lceil(i+1) \cdot \frac{D_{in}}{D_{out}}\rceil\\ h_{start} &=& \lfloor j \cdot \frac{H_{in}}{H_{out}}\rfloor\\ h_{end} &=& \lceil(j+1) \cdot \frac{H_{in}}{H_{out}}\rceil\\ w_{start} &=& \lfloor k \cdot \frac{W_{in}}{W_{out}}\rfloor\\ w_{end} &=& \lceil(k+1) \cdot \frac{W_{in}}{W_{out}}\rceil \end{array}\end{split}\]

出力は次の式で計算されます。

\[Output(i,j,k) = \frac{Input[d_{start}:d_{end}, h_{start}:h_{end}, w_{start}:w_{end}]}{(d_{end}-d_{start}) \cdot (h_{end}-h_{start}) \cdot (w_{end}-w_{start})}\]

入力:

  • 1: 形状 [N, C, H][N, C, H, W] または [N, C, D, H, W] およびタイプ T の 3D、4D、または 5D 入力テンソル。必須。

  • 2: 空間次元の出力形状を記述する 1D テンソル。3D 入力の場合は [H_out]、4D 入力の場合は [H_out, W_out]、5D 入力の場合は [D_out, H_out, W_out] であり、タイプは T_SHAPE です。必須。

出力:

  • 1: タイプ T および形状 [N, C, H_out][N, C, H_out, W_out] または [N, C, D_out, H_out, W_out] の出力。

タイプ:

  • T: 浮動小数点タイプ。

  • T_SHAPE: int32 または int64

例:

<layer ... type="AdaptiveAvgPool" ... >
    <data output_type="i64"/>
    <input>
        <port id="0">
            <dim>1</dim>
            <dim>3</dim>
            <dim>32</dim>
            <dim>32</dim>
        </port>
    </input>
    <input>
        <port id="1">
            <dim>2</dim>
        </port>
    </input>
    <output>
        <port id="2">
            <dim>1</dim>
            <dim>3</dim>
            <dim>16</dim>
            <dim>16</dim>
        </port>
    </output>
</layer>