mindspore.ops.cummax

mindspore.ops.cummax(x, axis)[源代码]

返回一个元组(最值、索引),其中最值是输入张量 x 沿维度 axis 的累积最大值,索引是每个最大值的索引位置。

\[\begin{split}\begin{array}{ll} \\ y{i} = max(x{1}, x{2}, ... , x{i}) \end{array}\end{split}\]

参数:

  • x (Tensor) - 输入Tensor,要求维度大于0。

  • axis (int) - 算子操作的维度,维度的大小范围是[-x.ndim, x.ndim - 1]。

返回:

一个包含两个Tensor的元组,分别表示累积最大值和对应索引。每个输出Tensor的形状和输入Tensor的形状相同。

异常:

  • TypeError - 如果 x 不是Tensor。

  • TypeError - 如果 axis 不是int。

  • ValueError - 如果 axis 不在范围[-x.ndim, x.ndim - 1]内。

支持平台:

GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor
>>> import mindspore.ops as ops
>>> x = Tensor(np.array([[3, 4, 6, 10], [1, 6, 7, 9], [4, 3, 8, 7], [1, 3, 7, 9]]).astype(np.float32))
>>> output = ops.cummax(x, axis=0)
>>> print(output[0])
[[ 3.  4.  6. 10.]
 [ 3.  6.  7. 10.]
 [ 4.  6.  8. 10.]
 [ 4.  6.  8. 10.]]
>>> print(output[1])
[[0 0 0 0]
 [0 1 1 0]
 [2 1 2 0]
 [2 1 2 0]]