mindspore.ops.inplace_index_add

查看源文件
mindspore.ops.inplace_index_add(var, indices, updates, axis)[源代码]

根据指定轴和索引在输入 var 中的对应位置加 updates

对于 indices 的每个元素下标 i,...,j

x[:,indices[i,...,j],:]+=v[:,i,...,j,:]

其中 iindices 中元素的下标, indices[i] 所在的轴由输入 axis 决定。

参数:
  • var (Union[Parameter, Tensor]) - 输入的parameter或tensor。

  • indices (Tensor) - 指定索引,一维tensor。

  • updates (Tensor) - 与 var 相加的tensor。

  • axis (int) - 指定轴。

返回:

Tensor

支持平台:

Ascend CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> var = mindspore.Parameter(mindspore.tensor(np.array([[1, 2], [3, 4], [5, 6]]), mindspore.float32))
>>> indices = mindspore.tensor(np.array([0, 1]), mindspore.int32)
>>> updates = mindspore.tensor(np.array([[0.5, 1.0], [1.0, 1.5]]), mindspore.float32)
>>> mindspore.ops.inplace_index_add(var, indices, updates, axis=0)
>>> print(var.asnumpy())
[[1.5 3. ]
 [4.  5.5]
 [5.  6. ]]