tf.keras.activations.softmax
Stay organized with collections
Save and categorize content based on your preferences.
Softmax converts a vector of values to a probability distribution.
View aliases
Compat aliases for migration
See
Migration guide for
more details.
`tf.compat.v1.keras.activations.softmax`
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.
Args |
x
|
Input tensor.
|
axis
|
Integer, axis along which the softmax normalization is applied.
|
Returns |
Tensor, output of softmax transformation (all values are non-negative
and sum to 1).
|
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)
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2023-10-06 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-10-06 UTC."],[],[],null,["# tf.keras.activations.softmax\n\n\u003cbr /\u003e\n\n|---------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/keras-team/keras/tree/v2.13.1/keras/activations.py#L46-L102) |\n\nSoftmax converts a vector of values to a probability distribution.\n\n#### View aliases\n\n\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n\\`tf.compat.v1.keras.activations.softmax\\`\n\n\u003cbr /\u003e\n\n tf.keras.activations.softmax(\n x, axis=-1\n )\n\nThe elements of the output vector are in range (0, 1) and sum to 1.\n\nEach vector is handled independently. The `axis` argument sets which axis\nof the input the function is applied along.\n\nSoftmax is often used as the activation for the last\nlayer of a classification network because the result could be interpreted as\na probability distribution.\n\nThe softmax of each vector x is computed as\n`exp(x) / tf.reduce_sum(exp(x))`.\n\nThe input values in are the log-odds of the resulting probability.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|--------|-----------------------------------------------------------------|\n| `x` | Input tensor. |\n| `axis` | Integer, axis along which the softmax normalization is applied. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| Tensor, output of softmax transformation (all values are non-negative and sum to 1). ||\n\n\u003cbr /\u003e\n\n#### Examples:\n\n**Example 1: standalone usage** \n\n inputs = tf.random.normal(shape=(32, 10))\n outputs = tf.keras.activations.softmax(inputs)\n tf.reduce_sum(outputs[0, :]) # Each sample in the batch now sums to 1\n \u003ctf.Tensor: shape=(), dtype=float32, numpy=1.0000001\u003e\n\n**Example 2: usage in a `Dense` layer** \n\n layer = tf.keras.layers.Dense(32,\n activation=tf.keras.activations.softmax)"]]