mindspore.mint.mean

View Source On Gitee
mindspore.mint.mean(input, dim=None, keepdim=False, *, dtype=None)[source]

Reduces all dimension of a tensor by averaging all elements in the dimension, by default. And reduce a dimension of input along the specified dim. keepdim determines whether the dimensions of the output and input are the same.

Note

The dim with tensor type is only used for compatibility with older versions and is not recommended.

Parameters
  • input (Tensor[Number]) – The input tensor. The dtype of the tensor to be reduced is number. \((N, *)\) where \(*\) means, any number of additional dimensions.

  • dim (Union[int, tuple(int), list(int), Tensor]) – The dimensions to reduce. Default: None , reduce all dimensions. Only constant value is allowed. Assume the rank of input is r, and the value range is [-r,r).

  • keepdim (bool) – If True , keep these reduced dimensions and the length is 1. If False , don't keep these dimensions. Default: False .

Keyword Arguments

dtype (mindspore.dtype, optional) – The desired data type of returned Tensor. Default: None .

Returns

Tensor.

  • If dim is None , and keepdim is False , the output is a 0-D tensor representing the product of all elements in the input tensor.

  • If dim is int, set as 1, and keepdim is False , the shape of output is \((input_0, input_2, ..., input_R)\).

  • If dim is tuple(int) or list(int), set as (1, 2), and keepdim is False , the shape of output is \((input_0, input_3, ..., input_R)\).

  • If dim is 1-D Tensor, set as [1, 2], and keepdim is False , the shape of output is \((input_0, input_3, ..., input_R)\).

Raises
  • TypeError – If input is not a Tensor.

  • TypeError – If dim is not one of the following: int, tuple, list or Tensor.

  • TypeError – If keepdim is not a bool.

  • ValueError – If dim is out of range.

Supported Platforms:

Ascend

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, mint
>>> x = Tensor(np.random.randn(3, 4, 5, 6).astype(np.float32))
>>> output = mint.mean(x, 1, keepdim=True)
>>> result = output.shape
>>> print(result)
(3, 1, 5, 6)
>>> # case 1: Reduces a dimension by averaging all elements in the dimension.
>>> x = Tensor(np.array([[[2, 2, 2, 2, 2, 2], [2, 2, 2, 2, 2, 2], [2, 2, 2, 2, 2, 2]],
... [[4, 4, 4, 4, 4, 4], [5, 5, 5, 5, 5, 5], [6, 6, 6, 6, 6, 6]],
... [[6, 6, 6, 6, 6, 6], [8, 8, 8, 8, 8, 8], [10, 10, 10, 10, 10, 10]]]),
... mindspore.float32)
>>> output = mint.mean(x)
>>> print(output)
5.0
>>> print(output.shape)
()
>>> # case 2: Reduces a dimension along the axis 0
>>> output = mint.mean(x, 0, True)
>>> print(output)
[[[4. 4. 4. 4. 4. 4.]
  [5. 5. 5. 5. 5. 5.]
  [6. 6. 6. 6. 6. 6.]]]
>>> # case 3: Reduces a dimension along the axis 1
>>> output = mint.mean(x, 1, True)
>>> print(output)
[[[2. 2. 2. 2. 2. 2.]]
 [[5. 5. 5. 5. 5. 5.]]
 [[8. 8. 8. 8. 8. 8.]]]
>>> # case 4: Reduces a dimension along the axis 2
>>> output = mint.mean(x, 2, True)
>>> print(output)
[[[ 2.]
  [ 2.]
  [ 2.]]
 [[ 4.]
  [ 5.]
  [ 6.]]
 [[ 6.]
  [ 8.]
  [10.]]]