Функция activations.softmax
Функция tf.keras.activations.softmax применяется к данным и преобразует их в вероятностное распределение. Первым параметром передаётся тензор с числами, вторым - ось, по которой выполняется нормализация. Функция полезна в задачах классификации, когда необходимо получить вероятности принадлежности к каждому классу.
Синтаксис
tf.keras.activations.softmax(x, axis=-1)
Пример
Давайте применим функцию softmax к одномерному тензору:
import tensorflow as tf
t = tf.constant([1, 2, 3, 4, 5], dtype=tf.float32)
res = tf.keras.activations.softmax(t)
print(res)
Результат выполнения кода:
tf.Tensor([0.01165623 0.03168492 0.08612854 0.23412165 0.6364086 ], shape=(5,), dtype=float32)
Пример
Давайте применим функцию softmax к двумерному тензору по последней оси:
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32)
res = tf.keras.activations.softmax(t, axis=-1)
print(res)
Результат выполнения кода:
tf.Tensor(
[[0.09003057 0.24472847 0.66524096]
[0.09003057 0.24472847 0.66524096]], shape=(2, 3), dtype=float32)
Пример
Давайте применим функцию softmax к двумерному тензору по первой оси:
<+python+>
import tensorflow as tf
t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32)
res = tf.keras.activations.softmax(t, axis=0)
print(res)
<-python+>
Результат выполнения кода:
tf.Tensor(
[[0.04742587 0.04742587 0.04742587]
[0.95257413 0.95257413 0.95257413]], shape=(2, 3), dtype=float32)
Смотрите также
-
функцию
sigmoid,
которая преобразует значения в диапазон от 0 до 1 -
функцию
relu,
которая применяет линейную активацию с порогом -
функцию
tanh,
которая преобразует значения в диапазон от -1 до 1 -
функцию
CategoricalCrossentropy,
которая вычисляет категориальную кросс-энтропию