mindspore.ops.scatter_nd_add
- mindspore.ops.scatter_nd_add(input_x, indices, updates, use_locking=False)[source]
Perform a sparse addition update on input_x based on the specified indices and update values.
\[\text{input_x}[\text{indices}[i, ..., j]] \mathrel{+}= \text{updates}[i, ..., j]\]Warning
This interface is deprecated and will be removed after version 2.9.0.
Note
Support implicit type conversion and type promotion.
The dimension of indices is at least 2, and its shape must be indices.shape[-1] <= len(indices.shape).
The shape of updates is indices.shape[:-1] + input_x.shape[indices.shape[-1]:].
- Parameters
- Returns
Tensor
- Supported Platforms:
AscendGPUCPU
Examples
>>> import mindspore >>> input_x = mindspore.Parameter(mindspore.tensor([1, 2, 3, 4, 5, 6, 7, 8], ... mindspore.float32), name="x") >>> indices = mindspore.tensor([[2], [4], [1], [7]], mindspore.int32) >>> updates = mindspore.tensor([6, 7, 8, 9], mindspore.float32) >>> output = mindspore.ops.scatter_nd_add(input_x, indices, updates, False) >>> print(output) [ 1. 10. 9. 4. 12. 6. 7. 17.] >>> input_x = mindspore.Parameter(mindspore.tensor(mindspore.ops.zeros((4, 4, 4)), mindspore.int32)) >>> indices = mindspore.tensor([[0], [2]], mindspore.int32) >>> updates = mindspore.tensor([[[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]], ... [[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]]], mindspore.int32) >>> output = mindspore.ops.scatter_nd_add(input_x, indices, updates, False) >>> print(output) [[[1 1 1 1] [2 2 2 2] [3 3 3 3] [4 4 4 4]] [[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]] [[5 5 5 5] [6 6 6 6] [7 7 7 7] [8 8 8 8]] [[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]]]