# tf.keras.activations.softmax

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/keras-team/keras/tree/v2.13.1/keras/activations.py#L46-L102) |

Softmax converts a vector of values to a probability distribution.

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

\`tf.compat.v1.keras.activations.softmax\`

<br />

    tf.keras.activations.softmax(
        x, axis=-1
    )

The elements of the output vector are in range (0, 1) and sum to 1.

Each vector is handled independently. The `axis` argument sets which axis
of the input the function is applied along.

Softmax is often used as the activation for the last
layer of a classification network because the result could be interpreted as
a probability distribution.

The softmax of each vector x is computed as
`exp(x) / tf.reduce_sum(exp(x))`.

The input values in are the log-odds of the resulting probability.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `x` | Input tensor. |
| `axis` | Integer, axis along which the softmax normalization is applied. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| Tensor, output of softmax transformation (all values are non-negative and sum to 1). ||

<br />

#### Examples:

**Example 1: standalone usage**

    inputs = tf.random.normal(shape=(32, 10))
    outputs = tf.keras.activations.softmax(inputs)
    tf.reduce_sum(outputs[0, :])  # Each sample in the batch now sums to 1
    <tf.Tensor: shape=(), dtype=float32, numpy=1.0000001>

**Example 2: usage in a `Dense` layer**

    layer = tf.keras.layers.Dense(32,
                                  activation=tf.keras.activations.softmax)