ScatterElementsUpdate

Versioned name: ScatterElementsUpdate-3

Category: Data movement operations

Short description: Creates a copy of the first input tensor with updated elements specified with second and third input tensors.

Detailed description: For each entry in updates, the target index in data is obtained by combining the corresponding entry in indices with the index of the entry itself: the index-value for dimension equal to axis is obtained from the value of the corresponding entry in indices and the index-value for dimension not equal to axis is obtained from the index of the entry itself.

For instance, in a 3D tensor case, the update corresponding to the [i][j][k] entry is performed as below:

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 tensor dimensions are less or equal to the corresponding data tensor dimensions.

Attributes: ScatterElementsUpdate does not have attributes.

Inputs:

Outputs:

Types

Example

<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">
<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>