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)>
Часто логиты и метки имеют форму [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