mindspore.ops.IndexPut ======================= .. py:class:: mindspore.ops.IndexPut(accumulate=0) 根据 `indices` 中的下标值,使用 `x2` 中的数值替换 `x1` 中的相应元素的值。 参数: - **accumulate** (int) - 如果 `accumulate` 被设置为1 , `x2` 中的元素被累加到 `x1` 的相应元素上; 如果为 ``0``,用 `x2` 中的元素取代 `x2` 的相应元素。默认值: 0。 输入: - **x1** (Tensor) - 被执行替换操作的Tensor, 维度大于等于1。 - **x2** (Tensor) - 数据类型和 `x1` 一致的一维的Tensor。如果其size为1,则shape将被广播为 `x1` 的shape。 - **indices** (tuple[Tensor], list[Tensor]) - 元素类型是int32或者int64, 用于对 `x1` 中的元素进行索引。 `indices` 中的tensor的秩应为1-D, `indices` 中tensor的size应小于 `x1` 的秩,indices中的tensor应是可广播的。 输出: Tensor, 其数据类型和shape与 `x1` 相同。 异常: - **TypeError** - 如果 `x1` 的dtype与 `x2` 的dtype不同。 - **TypeError** - 如果 `indices` 不是tuple[Tensor]或者list[Tensor]。 - **TypeError** - 如果 `indices` 中的tensor的dtype不是int32或者int64。 - **TypeError** - 如果 `indices` 中的tensor的dtype是不一致的。 - **TypeError** - 如果 `accumulate` 的dtype不是int。 - **ValueError** - 如果 `x2` 的秩不是1-D。 - **ValueError** - 当 `x1` 的rank与 `indices` 的size相等时,如果 `x2` 的size不为1 或者不为 `indices` 中Tensor的最大size。 - **ValueError** - 当 `x1` 的rank大于 `indices` 的size时,如果 `x2` 的size不为1 或者不为 `x1` 的最后一维的shape。 - **ValueError** - 如果 `indices` 中的tensor的秩不是1-D。 - **ValueError** - 如果 `indices` 中的tensor不是可广播的。 - **ValueError** - 如果 `indices` 的size大于 `x1` 的秩。 - **ValueError** - 如果 `accumulate` 的值不是0或1。