mindspore.Tensor.mean
- Tensor.mean(self, axis=None, keep_dims=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 axis. keep_dims determines whether the dimensions of the output and self are the same.
Note
The axis with tensor type is only used for compatibility with older versions and is not recommended.
- Parameters
self (Tensor[Number]) – The self tensor. The dtype of the tensor to be reduced is number. \((N, *)\) where \(*\) means, any number of additional dimensions.
axis (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 self is r, and the value range is [-r,r).keep_dims (bool) – If
True
, keep these reduced dimensions and the length is 1. IfFalse
, don't keep these dimensions. Default:False
.dtype (
mindspore.dtype
) – The desired data type of returned Tensor. Default:None
.
- Returns
Tensor, has the same data type as self tensor.
If axis is
None
, and keep_dims isFalse
, the output is a 0-D tensor representing the product of all elements in the self tensor.If axis is int, set as 1, and keep_dims is
False
, the shape of output is \((x_0, x_2, ..., x_R)\).If axis is tuple(int), set as (1, 2), and keep_dims is
False
, the shape of output is \((x_0, x_3, ..., x_R)\).If axis is 1-D Tensor, set as [1, 2], and keep_dims is
False
, the shape of output is \((x_0, x_3, ..., x_R)\).
- Raises
TypeError – If x is not a Tensor.
TypeError – If axis is not one of the following: int, tuple, list or Tensor.
TypeError – If keep_dims is not a bool.
ValueError – If axis 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, keep_dims=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 axis 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 axis 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 axis 2 >>> output = Tensor.mean(x, 2, True) >>> print(output) [[[ 2.] [ 2.] [ 2.]] [[ 4.] [ 5.] [ 6.]] [[ 6.] [ 8.] [10.]]]
- Tensor.mean(self, axis=None, keep_dims=False) Tensor
Reduces all dimension of a tensor by averaging all elements in the dimension, by default. And reduce a dimension of x along the specified axis. keep_dims determines whether the dimensions of the output and self are the same.
Note
The axis with tensor type is only used for compatibility with older versions and is not recommended.
- Parameters
x (Tensor[Number]) – The self tensor. The dtype of the tensor to be reduced is number. \((N, *)\) where \(*\) means, any number of additional dimensions.
axis (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 x is r, and the value range is [-r,r).keep_dims (bool) – If true, keep these reduced dimensions and the length is 1. If false, don't keep these dimensions. Default:
False
.
- Returns
Tensor, has the same data type as self tensor.
If axis is None, and keep_dims is False, the output is a 0-D tensor representing the product of all elements in the self tensor.
If axis is int, set as 1, and keep_dims is False, the shape of output is \((x_0, x_2, ..., x_R)\).
If axis is tuple(int), set as (1, 2), and keep_dims is
False
, the shape of output is \((x_0, x_3, ..., x_R)\).
- Raises
TypeError – If x is not a Tensor.
TypeError – If axis is not one of the following: int, tuple, list or Tensor.
TypeError – If keep_dims is not a bool.
ValueError – If axis 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, keep_dims=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 axis 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 axis 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 axis 2 >>> output = Tensor.mean(x, 2, True) >>> print(output) [[[ 2.] [ 2.] [ 2.]] [[ 4.] [ 5.] [ 6.]] [[ 6.] [ 8.] [10.]]]