ReduceSum

バージョン名: ReduceSum-1

カテゴリー: リダクション

簡単な説明: ReduceSum 操作は、指定された入力 data に対して、axes 入力で指定された次元に沿って加算によるリダクションを実行します。

詳細説明:

ReduceSum 操作は、指定された入力 data に対して、axes 入力で指定された次元に沿って加算によるリダクションを実行します。出力の各要素は次のように計算されます。

output[i0, i1, ..., iN] = sum[j0, ..., jN](x[j0, ..., jN]))

ここで、インデックス i0, ..., iN は入力 data のすべての有効なインデックスを実行し、合計 sum[j0, ..., jN] は、入力 axes で指定されたインデックスのセットに含まれない次元 k に対して jk = ik になります。

特定のケース:

  1. axes が空のリストの場合、ReduceSumは恒等操作に対応します。

  2. axes に入力 data のすべての次元が含まれている場合、入力テンソル全体に対して 1 つのリダクション値が計算されます。

属性:

  • keep_dims

    • 説明: true に設定すると、リダクションに使用される axes が保持されます。このような各 axis の出力次元は 1 に等しくなります。

    • 値の範囲: true または false

    • タイプ: boolean

    • デフォルト値: false

    • 必須: いいえ

入力:

  • 1: data はタイプ T の任意の形状のテンソルです。必須。

  • 2: axes - data 入力テンソルの axis インデックス。これに沿ってリダクションが実行されます。一意の要素とタイプ T_IND のスカラーまたは 1D テンソル。要素の範囲は [-r, r-1] です。ここで、rdata 入力テンソルのランクです。必須。

出力:

  • 1: data 入力テンソルに適用された ReduceSum 関数の結果。axes 入力テンソルに含まれないすべての i 次元に対するタイプ T および shape[i] = shapeOf(data)[i] のテンソル。axes の次元の場合、keep_dims == true の場合は shape[i] == 1 で、それ以外の場合は、i 番目の次元が出力から削除されます。

タイプ:

  • T: サポートされている数値タイプ。

  • T_IND: サポートされている整数タイプ。

例:

 <layer id="1" type="ReduceSum" ...>
     <data keep_dims="true" />
     <input>
         <port id="0">
             <dim>6</dim>
             <dim>12</dim>
             <dim>10</dim>
             <dim>24</dim>
         </port>
         <port id="1">
             <dim>2</dim>         <!-- value is [2, 3] that means independent reduction in each channel and batch -->
         </port>
     </input>
     <output>
         <port id="2">
             <dim>6</dim>
             <dim>12</dim>
             <dim>1</dim>
             <dim>1</dim>
         </port>
     </output>
 </layer>
 <layer id="1" type="ReduceSum" ...>
     <data keep_dims="false" />
     <input>
         <port id="0">
             <dim>6</dim>
             <dim>12</dim>
             <dim>10</dim>
             <dim>24</dim>
         </port>
         <port id="1">
             <dim>2</dim>         <!-- value is [2, 3] that means independent reduction in each channel and batch -->
         </port>
     </input>
     <output>
         <port id="2">
             <dim>6</dim>
             <dim>12</dim>
         </port>
     </output>
 </layer>
 <layer id="1" type="ReduceSum" ...>
     <data keep_dims="false" />
     <input>
         <port id="0">
             <dim>6</dim>
             <dim>12</dim>
             <dim>10</dim>
             <dim>24</dim>
         </port>
         <port id="1">
             <dim>1</dim>         <!-- value is [1] that means independent reduction in each channel and spatial dimensions -->
         </port>
     </input>
     <output>
         <port id="2">
             <dim>6</dim>
             <dim>10</dim>
             <dim>24</dim>
         </port>
     </output>
 </layer>
 <layer id="1" type="ReduceSum" ...>
     <data keep_dims="false" />
     <input>
         <port id="0">
             <dim>6</dim>
             <dim>12</dim>
             <dim>10</dim>
             <dim>24</dim>
         </port>
         <port id="1">
             <dim>1</dim>         <!-- value is [-2] that means independent reduction in each channel, batch and second spatial dimension -->
         </port>
     </input>
     <output>
         <port id="2">
             <dim>6</dim>
             <dim>12</dim>
             <dim>24</dim>
         </port>
     </output>
 </layer>