mindspore/docs/api/api_python/ops/mindspore.ops.TensorScatter...

33 lines
1.6 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

mindspore.ops.TensorScatterSub
===============================
.. py:class:: mindspore.ops.TensorScatterSub
根据指定的更新值 `input_x` 和输入索引 `indices`进行减法运算更新输入Tensor的值。当同一索引有不同更新值时更新的结果将是累积减法的结果。此操作与 :class:`mindspore.ops.ScatterNdSub` 类似只是更新后的结果是通过算子output返回而不是直接原地更新input。
.. code-block:: python
# 遍历所有索引
for i in range(indices.shape[0]):
for j in range(indices.shape[1]):
...
for k in range(indices.shape[-2]): # 最后一维是坐标维度
# 获取当前索引组合
index_tuple = (i, j, ..., k)
# 获取目标位置
target_index = indices[index_tuple]
# 获取对应更新值
update_value = updates[index_tuple]
# 执行减法操作
output[target_index] -= update_value
更多参考详见 :func:`mindspore.ops.tensor_scatter_sub`
输入:
- **input_x** (Tensor) - 输入Tensor。 `input_x` 的维度必须大于等于indices.shape[-1]。
- **indices** (Tensor) - 输入Tensor的索引数据类型为int32或int64rank必须大于等于2。
- **updates** (Tensor) - 指定与 `input_x` 相减操作的Tensor其数据类型与 `input_x` 相同。并且shape应等于 :math:`indices.shape[:-1] + input\_x.shape[indices.shape[-1]:]`
输出:
Tensorshape和数据类型与输入 `input_x` 相同。