mindspore.ops.scatter_max

查看源文件
mindspore.ops.scatter_max(input_x, indices, updates)[源代码]

根据指定索引和更新值对 input_x 进行最大值更新。

input_x[indices[i,...,j],:]=max(input_x[indices[i,...,j],:],updates[i,...,j,:])

说明

  • 支持隐式类型转换、类型提升。

  • 因Parameter对象不支持类型转换,当 input_x 为低精度数据类型时,会抛出异常。

  • updates 的shape为 indices.shape + input_x.shape[1:]

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

  • indices (Tensor) - 指定索引。

  • updates (Tensor) - 更新值。

返回:

Tensor

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> input_x = mindspore.Parameter(mindspore.tensor([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]],
...                               mindspore.float32), name="input_x")
>>> indices = mindspore.tensor([[0, 0], [1, 1]], mindspore.int32)
>>> updates = mindspore.tensor(np.ones([2, 2, 3]) * 88, mindspore.float32)
>>> output = mindspore.ops.scatter_max(input_x, indices, updates)
>>> print(output)
[[88. 88. 88.]
 [88. 88. 88.]]