РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
724 of 824 menu

Функция nn.softmax

Функция nn.softmax применяется к тензору логитов и преобразует их в вероятности. Первым параметром функция принимает тензор с логитами. Вторым параметром можно передать ось, вдоль которой будет выполняться нормализация. Результатом работы функции является тензор той же формы, значения которого лежат в диапазоне от 0 до 1 и в сумме вдоль указанной оси дают единицу.

Синтаксис

tf.nn.softmax(logits, axis=None)

Пример

Давайте применим функцию к одномерному тензору логитов:

import tensorflow as tf t = tf.constant([1, 2, 3, 4, 5], dtype=tf.float32) res = tf.nn.softmax(t) print(res)

Результат выполнения кода:

tf.Tensor([0.01165623 0.03168492 0.08612854 0.23412165 0.6364086 ], shape=(5,), dtype=float32)

Пример

Давайте применим функцию к двумерному тензору и проверим, что сумма вероятностей по последней оси равна единице:

import tensorflow as tf t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32) res = tf.nn.softmax(t) print(res) print(tf.reduce_sum(res, axis=-1))

Результат выполнения кода:

tf.Tensor( [[0.09003057 0.24472848 0.66524094] [0.09003057 0.24472848 0.66524094]], shape=(2, 3), dtype=float32) tf.Tensor([1. 1.], shape=(2,), dtype=float32)

Пример

Давайте применим функцию с явно указанной осью нормализации:

<+python+> import tensorflow as tf t = tf.constant([[1, 2, 3], [4, 5, 6]], dtype=tf.float32) res = tf.nn.softmax(t, axis=0) print(res) print(tf.reduce_sum(res, axis=0)) <-python+>

Результат выполнения кода:

tf.Tensor( [[0.04742587 0.04742587 0.04742587] [0.95257413 0.95257413 0.95257413]], shape=(2, 3), dtype=float32) tf.Tensor([1. 1. 1.], shape=(3,), dtype=float32)

Смотрите также

  • функцию log_softmax,
    которая вычисляет логарифм от softmax
  • функцию sigmoid,
    которая применяет сигмоиду к тензору
  • функцию softmax_cross_entropy_with_logits,
    которая вычисляет кросс-энтропию с softmax
  • функцию sparse_softmax_cross_entropy_with_logits,
    которая вычисляет разреженную кросс-энтропию с softmax
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить