<br />

<button value="stable" default="">See Stable</button> <button value="nightly">See Nightly</button>

<br />

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

Computes [`tf.math.maximum`](https://www.tensorflow.org/api_docs/python/tf/math/maximum.md.txt) of elements across dimensions of a tensor.

#### View aliases


**Main aliases**

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

<br />

```python
tf.math.reduce_max(
    input_tensor, axis=None, keepdims=False, name=None
)
```

### Used in the notebooks

| Used in the guide | Used in the tutorials |
|---|---|
| - [Advanced automatic differentiation](https://www.tensorflow.org/guide/advanced_autodiff.md.txt) - [Introduction to Tensors](https://www.tensorflow.org/guide/tensor.md.txt) - [Matrix approximation with Core APIs](https://www.tensorflow.org/guide/core/matrix_core.md.txt) - [Ragged tensors](https://www.tensorflow.org/guide/ragged_tensor.md.txt) - [Working with sparse tensors](https://www.tensorflow.org/guide/sparse_tensor.md.txt) | - [Intro to Autoencoders](https://www.tensorflow.org/tutorials/generative/autoencoder.md.txt) - [Integrated gradients](https://www.tensorflow.org/tutorials/interpretability/integrated_gradients.md.txt) - [Preprocess data with TensorFlow Transform](https://www.tensorflow.org/tfx/tutorials/transform/simple.md.txt) - [Tutorial on Multi Armed Bandits in TF-Agents](https://www.tensorflow.org/agents/tutorials/bandits_tutorial.md.txt) - [A Tutorial on Multi-Armed Bandits with Per-Arm Features](https://www.tensorflow.org/agents/tutorials/per_arm_bandits_tutorial.md.txt) |

This is the reduction operation for the elementwise [`tf.math.maximum`](https://www.tensorflow.org/api_docs/python/tf/math/maximum.md.txt) op.

Reduces `input_tensor` along the dimensions given 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.

<br />

<br />

<br />

| ## Usage example ||
|---|---|
| <br /> ```python >>> x = tf.constant([5, 1, 2, 4]) >>> tf.reduce_max(x) <tf.Tensor: shape=(), dtype=int32, numpy=5> >>> x = tf.constant([-5, -1, -2, -4]) >>> tf.reduce_max(x) <tf.Tensor: shape=(), dtype=int32, numpy=-1> >>> x = tf.constant([4, float('nan')]) >>> tf.reduce_max(x) <tf.Tensor: shape=(), dtype=float32, numpy=nan> >>> x = tf.constant([float('nan'), float('nan')]) >>> tf.reduce_max(x) <tf.Tensor: shape=(), dtype=float32, numpy=nan> >>> x = tf.constant([float('-inf'), float('inf')]) >>> tf.reduce_max(x) <tf.Tensor: shape=(), dtype=float32, numpy=inf> ``` <br /> ||

<br />

See the numpy docs for `np.amax` and `np.nanmax` behavior.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `input_tensor` | The tensor to reduce. Should have real 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 />