mindspore.ops.max

mindspore.ops.max(input, axis=None, keepdims=False, *, initial=None, where=None)[source]

Calculates the maximum value along with the given axis for the input tensor. It returns the maximum values and indices.

Note

  • In auto_parallel and semi_auto_parallel mode, the first output index can not be used.

  • When axis is None, keepdims and subsequent parameters have no effect. At the same time, the index is fixed to return 0.

Warning

  • If there are multiple maximum values, the index of the first maximum value is used.

  • The value range of “axis” is [-dims, dims - 1]. “dims” is the dimension length of “input”.

Also see: mindspore.ops.ArgMaxWithValue.

Parameters
  • input (Tensor) – The input tensor, can be any dimension. Complex tensor is not supported for now.

  • axis (int) – The dimension to reduce. When axis is None, computing the maximum value of all elements in input .Default: None .

  • keepdims (bool) – Whether to reduce dimension, if true, the output will keep same dimension with the input, the output will reduce dimension if false. Default: False .

Keyword Arguments
  • initial (scalar, optional) – The minimum value of an output element. Must be present to allow computation on empty slice. Default: None .

  • where (Tensor[bool], optional) – A Tensor indicating whether to replace the primitive value in input with the value in initial. If True , do not replace, otherwise replace. For the index of True in where, the corresponding value in initial must be assigned. Default: None , which indicates True by default.

Returns

tuple (Tensor), tuple of 2 tensors, containing the corresponding index and the maximum value of the input tensor.

  • values (Tensor) - The maximum value of input tensor, with the same shape as index, and same dtype as x.

  • index (Tensor) - The index for the maximum value of the input tensor, with dtype int64. If keepdims is true, the shape of output tensors is \((input_1, input_2, ..., input_{axis-1}, 1, input_{axis+1}, ..., input_N)\) . Otherwise, the shape is \((input_1, input_2, ..., input_{axis-1}, input_{axis+1}, ..., input_N)\) .

Raises
Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> x = Tensor(np.array([0.0, 0.4, 0.6, 0.7, 0.1]), mindspore.float32)
>>> output, index = ops.max(x)
>>> print(output, index)
0.7 0
>>> y = Tensor(np.array([[0.0, 0.3, 0.4, 0.5, 0.1],
...                      [3.2, 0.4, 0.1, 2.9, 4.0]]), mindspore.float32)
>>> output, index = ops.max(y, axis=0, keepdims=True)
>>> print(output, index)
[[3.2 0.4 0.4 2.9 4. ]] [[1 1 0 1 1]]