ReduceL1¶
バージョン名: ReduceL1-4
カテゴリー: リダクション
簡単な説明: ReduceL1 操作は、指定された入力 data
に対して、axes
入力で指定された次元に沿って L1 ノルム (絶対値の合計) を見つけてリダクションを実行します。
詳細説明:
ReduceL1 操作は、指定された入力 data
に対して、axes
入力で指定された次元に沿って L1 ノルム (絶対値の合計) を見つけてリダクションを実行します。出力の各要素は次のように計算されます。
output[i0, i1, ..., iN] = L1[j0, ..., jN](x[j0, ..., jN]))
ここで、インデックス i0, ..., iN は入力 data
のすべての有効なインデックスを実行し、L1 ノルム L1[j0, ..., jN]
を見つけると、axes
入力で指定されたインデックスのセットに含まれない次元 k
に対して jk = ik
になります。
特定のケース:
axes
が空のリストの場合、ReduceL1 は恒等操作に対応します。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]
です。ここで、r
はdata
入力テンソルのランクです。必須。
出力:
1:
data
入力テンソルに適用された ReduceL1 関数の結果。axes
入力テンソルに含まれないすべてのi
次元に対するタイプ T およびshape[i] = shapeOf(data)[i]
のテンソル。axes
の次元の場合、keep_dims == true
の場合はshape[i] == 1
で、それ以外の場合は、i
番目の次元が出力から削除されます。
タイプ:
T: サポートされている数値タイプ。
T_IND: サポートされている整数タイプ。
例:
<layer id="1" type="ReduceL1" ...>
<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="ReduceL1" ...>
<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="ReduceL1" ...>
<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="ReduceL1" ...>
<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>