mindspore.Tensor.mean
- Tensor.mean(dim=None, keepdim=False, *, dtype=None) Tensor
Reduces all dimension of a tensor by averaging all elements in the dimension, by default. And reduce a dimension of self along the specified dim. keepdim determines whether the dimensions of the output and self are the same.
Note
The dim with tensor type is only used for compatibility with older versions and is not recommended.
- Parameters
dim (Union[int, tuple(int), list(int), Tensor], optional) – The dimensions to reduce. Default:
None
, reduce all dimensions. Only constant value is allowed. Assume the rank of self is r, and the value range is [-r,r).keepdim (bool, optional) – If
True
, keep these reduced dimensions and the length is 1. IfFalse
, don't keep these dimensions. Default:False
.
- Keyword Arguments
dtype (
mindspore.dtype
, optional) – The desired data type of returned Tensor. Default:None
.- Returns
Tensor, has the same data type as self tensor.
If dim is
None
, and keepdim isFalse
, the output is a 0-D tensor representing the product of all elements in the self tensor.If dim is int, set as 1, and keepdim is
False
, the shape of output is \((x_0, x_2, ..., x_R)\).If dim is tuple(int), set as (1, 2), and keepdim is
False
, the shape of output is \((x_0, x_3, ..., x_R)\).If dim is 1-D Tensor, set as [1, 2], and keepdim is
False
, the shape of output is \((x_0, x_3, ..., x_R)\).
- Raises
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
GPU
CPU
Examples
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor >>> x = Tensor(np.random.randn(3, 4, 5, 6).astype(np.float32)) >>> output = Tensor.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 = Tensor.mean(x) >>> print(output) 5.0 >>> print(output.shape) () >>> # case 2: Reduces a dimension along the dim 0 >>> output = Tensor.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 dim 1 >>> output = Tensor.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 dim 2 >>> output = Tensor.mean(x, 2, True) >>> print(output) [[[ 2.] [ 2.] [ 2.]] [[ 4.] [ 5.] [ 6.]] [[ 6.] [ 8.] [10.]]]
- Tensor.mean(axis=None, keep_dims=False) Tensor
For details, please refer to
mindspore.ops.mean()
.