ScatterElementsUpdate¶
バージョン名: ScatterElementsUpdate-3
カテゴリー: データ移動
簡単な説明: 2 番目と 3 番目の入力テンソルで指定された更新された要素を含む最初の入力テンソルのコピーを作成します。
詳細な説明: 更新内の各エントリーについて、data
内のターゲット・インデックスは、indices
内の対応するエントリーとエントリー自体のインデックスを組み合わせることによって取得されます。axis
に等しい次元のインデックス値は、indices
内の対応するエントリーの値から取得され、axis
と等しくない次元のインデックス値は、エントリー自体のインデックスから取得されます。
例えば、3D テンソルの場合、[i][j][k]
エントリーに対応する更新は次のように実行されます。
output[indices[i][j][k]][j][k] = updates[i][j][k] if axis = 0,
output[i][indices[i][j][k]][k] = updates[i][j][k] if axis = 1,
output[i][j][indices[i][j][k]] = updates[i][j][k] if axis = 2
update
テンソル次元は、対応する data
テンソル次元以下です。
属性: ScatterElementsUpdate には属性がありません。
入力:
1: 任意のランク
r
およびタイプ T のdata
テンソル。必須。2: T_IND タイプのインデックスを持つ
indices
テンソル。テンソルのランクはdata
テンソルのランクと同じです。すべてのインデックス値は、サイズs
の軸に沿った範囲[0, s - 1]
内にあることが期待されます。複数のインデックスが次を指している場合:
出力場所が同じ場合、値を更新する順序は定義されません。インデックスが存在しない出力テンソル要素を指している、または負の場合、例外が発生します。必須。
3:
indices
テンソルの形状と等しい形状の T タイプのテンソルを更新します。必須。4: スカラーを使用した
axis
テンソル、または散乱の軸を指定するタイプ T_AXIS の 1 つの要素を使用した 1D テンソル。
値の範囲は [-r, r - 1]
で、r
は data
のランクです。必須。
出力:
1: T タイプの
data
テンソルと等しい形状を持つテンソル。
タイプ:
T: 任意の数値タイプ。
T_IND: 任意の整数値タイプ。
T_AXIS: 任意の整数値タイプ。
例:
<layer ... type="ScatterElementsUpdate">
<input>
<port id="0">
<dim>1000</dim>
<dim>256</dim>
<dim>7</dim>
<dim>7</dim>
</port>
<port id="1">
<dim>125</dim>
<dim>20</dim>
<dim>7</dim>
<dim>6</dim>
</port>
<port id="2">
<dim>125</dim>
<dim>20</dim>
<dim>7</dim>
<dim>6</dim>
</port>
<port id="3"> <!-- value [0] -->
<dim>1</dim>
</port>
</input>
<output>
<port id="4" precision="FP32">
<dim>1000</dim>
<dim>256</dim>
<dim>7</dim>
<dim>7</dim>
</port>
</output>
</layer>