# tf.math.reduce_mean

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/ops/math_ops.py#L2710-L2767) |

Computes the mean of elements across dimensions of a tensor.

#### View aliases


**Main aliases**

[`tf.reduce_mean`](https://www.tensorflow.org/api_docs/python/tf/math/reduce_mean)

<br />

    tf.math.reduce_mean(
        input_tensor, axis=None, keepdims=False, name=None
    )

Reduces `input_tensor` along the dimensions given in `axis` by computing the
mean of elements across the dimensions in `axis`.
Unless `keepdims` is true, the rank of the tensor is reduced by 1 for each
of the entries in `axis`, which must be unique. If `keepdims` is true, the
reduced dimensions are retained with length 1.

If `axis` is None, all dimensions are reduced, and a tensor with a single
element is returned.

#### For example:

    x = tf.constant([[1., 1.], [2., 2.]])
    tf.reduce_mean(x)
    <tf.Tensor: shape=(), dtype=float32, numpy=1.5>
    tf.reduce_mean(x, 0)
    <tf.Tensor: shape=(2,), dtype=float32, numpy=array([1.5, 1.5], dtype=float32)>
    tf.reduce_mean(x, 1)
    <tf.Tensor: shape=(2,), dtype=float32, numpy=array([1., 2.], dtype=float32)>

<br />

<br />

<br />

| ## Args ||
|---|---|
| `input_tensor` | The tensor to reduce. Should have numeric type. |
| `axis` | The dimensions to reduce. If `None` (the default), reduces all dimensions. Must be in the range `[-rank(input_tensor), rank(input_tensor))`. |
| `keepdims` | If true, retains reduced dimensions with length 1. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| The reduced tensor. ||

<br />

<br />

## numpy compatibility

<br />

Equivalent to np.mean

Please note that `np.mean` has a `dtype` parameter that could be used to
specify the output type. By default this is `dtype=float64`. On the other
hand, [`tf.reduce_mean`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/math/reduce_mean) has an aggressive type inference from `input_tensor`,
for example:

    x = tf.constant([1, 0, 1, 0])
    tf.reduce_mean(x)
    <tf.Tensor: shape=(), dtype=int32, numpy=0>
    y = tf.constant([1., 0., 1., 0.])
    tf.reduce_mean(y)
    <tf.Tensor: shape=(), dtype=float32, numpy=0.5>

<br />

<br />