paddle.fluid.layers.nn. reduce_mean ( input, dim=None, keep_dim=False, name=None ) [source]

Warning: API “paddle.fluid.layers.nn.reduce_mean” is deprecated since 2.0.0, and will be removed in future versions. Please use “paddle.mean” instead.

Computes the mean of the input tensor’s elements along the given dimension.

input (Variable): The input variable which is a Tensor, the data type is float32,

float64, int32, int64.

dim (list|int, optional): The dimension along which the mean is computed. If

None, compute the mean over all elements of input and return a variable with a single element, otherwise it must be in the range \([-rank(input), rank(input))\). If \(dim[i] < 0\), the dimension to reduce is \(rank(input) + dim[i]\).

keep_dim (bool, optional): Whether to reserve the reduced dimension in the

output Tensor. The result tensor will have one fewer dimension than the input unless keep_dim is true, default value is False.

name(str, optional): The default value is None. Normally there is no need for

user to set this property. For more information, please refer to Name


Variable: Tensor, results of average on the specified dim of input tensor, it’s data type is the same as input’s Tensor.


TypeError, if out data type is different with the input data type.

import paddle.fluid as fluid
# x is a Tensor variable with following elements:
#    [[0.2, 0.3, 0.5, 0.9]
#     [0.1, 0.2, 0.6, 0.7]]
# Each example is followed by the corresponding output tensor.
x ='x', shape=[2, 4], dtype='float32')
fluid.layers.reduce_mean(x)  # [0.4375]
fluid.layers.reduce_mean(x, dim=0)  # [0.15, 0.25, 0.55, 0.8]
fluid.layers.reduce_mean(x, dim=-1)  # [0.475, 0.4]
fluid.layers.reduce_mean(x, dim=1, keep_dim=True)  # [[0.475], [0.4]]

# y is a Tensor variable with shape [2, 2, 2] and elements as below:
#      [[[1.0, 2.0], [3.0, 4.0]],
#      [[5.0, 6.0], [7.0, 8.0]]]
# Each example is followed by the corresponding output tensor.
y ='y', shape=[2, 2, 2], dtype='float32')
fluid.layers.reduce_mean(y, dim=[1, 2]) # [2.5, 6.5]
fluid.layers.reduce_mean(y, dim=[0, 1]) # [4.0, 5.0]