Spec-Zone.ru › TensorFlow

tf.nn.softmax_cross_entropy_with_logits

Вычисляет перекрёстную энтропию softmax между logits и labels.

tf.nn.softmax_cross_entropy_with_logits(
    labels, logits, axis=-1, name=None
)

Измеряет ошибку вероятности в задачах дискретной классификации, в которых классы взаимоисключающие (каждая запись принадлежит ровно одному классу). Например, каждое изображение CIFAR-10 помечено одной и только одной меткой: изображение может быть собакой или грузовиком, но не тем и другим одновременно.

Примечание: Хотя классы взаимоисключающие, их вероятности не обязательно должны быть такими. Требуется лишь, чтобы каждая строка labels представляла корректное распределение вероятностей. В противном случае вычисление градиента будет некорректным.

Если используются взаимоисключающие labels (когда в каждый момент времени верен один и только один класс), см. sparse_softmax_cross_entropy_with_logits.

Использование:

logits = [[4.0, 2.0, 1.0], [0.0, 5.0, 1.0]]
labels = [[1.0, 0.0, 0.0], [0.0, 0.8, 0.2]]
tf.nn.softmax_cross_entropy_with_logits(labels=labels, logits=logits)
<tf.Tensor: shape=(2,), dtype=float32,
numpy=array([0.16984604, 0.82474494], dtype=float32)>
Предупреждение: Эта операция ожидает нескалированные логиты, поскольку для повышения эффективности внутри она выполняет softmax над logits. Не вызывайте эту операцию с результатом softmax, так как это приведёт к некорректным результатам.

Часто логиты и метки имеют форму [batch_size, num_classes], однако поддерживаются и более высокие размерности; размерность класса задаётся аргументом axis.

logits и labels должны иметь одинаковый тип данных (float16, float32 или float64).

Обратное распространение будет выполняться как для logits, так и для labels. Чтобы запретить обратное распространение для labels, перед передачей тензоров меток этой функции примените к ним tf.stop_gradient.

Обратите внимание: во избежание путаницы эту функцию необходимо вызывать только с именованными аргументами.

Аргументы
labels Каждый вектор вдоль размерности класса должен представлять корректное распределение вероятностей. Например, если метки имеют форму [batch_size, num_classes], каждая строка labels[i] должна представлять корректное распределение вероятностей.
logits Активации для каждой метки, обычно линейный выход. Эти значения активации интерпретируются как ненормированные логарифмы вероятностей.
axis Размерность класса. По умолчанию равна -1, то есть соответствует последней размерности.
name Имя операции (необязательно).
Возвращает
Tensor, содержащий значение потерь перекрёстной энтропии softmax. Его тип совпадает с типом logits, а форма — с формой labels, за исключением последней размерности labels.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/nn/softmax_cross_entropy_with_logits

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API