<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/nn_ops.py#L3960-L3985) |

Computes log softmax activations.

#### View aliases


**Main aliases**

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

<br />

    tf.nn.log_softmax(
        logits, axis=None, name=None
    )

### Used in the notebooks

| Used in the tutorials |
|---|
| - [Training with Orbit](https://www.tensorflow.org/tfmodels/orbit/index) |

For each batch `i` and class `j` we have

    logsoftmax = logits - log(reduce_sum(exp(logits), axis))

<br />

<br />

<br />

| ## Args ||
|---|---|
| `logits` | A non-empty `Tensor`. Must be one of the following types: `half`, `float32`, `float64`. |
| `axis` | The dimension softmax would be performed on. The default is -1 which indicates the last dimension. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `Tensor`. Has the same type as `logits`. Same shape as `logits`. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `InvalidArgumentError` | if `logits` is empty or `axis` is beyond the last dimension of `logits`. |

<br />