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