Spec-Zone.ru › TensorFlow 2.9

tf.nn.sparse_softmax_cross_entropy_with_logits

Просмотреть исходный код на GitHub

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

tf.nn.sparse_softmax_cross_entropy_with_logits(
    labels, logits, name=None
)

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

Примечание: Для данной операции вероятность данного метки считается исключительной. То есть, мягкие классы не допускаются, и вектор labels должен предоставить единственный конкретный индекс для истинного класса для каждой строки logits (каждого элемента мини-пакета). Для мягкой классификации softmax с распределением вероятностей для каждого элемента см. softmax_cross_entropy_with_logits_v2.
Предупреждение: Этот оператор ожидает несглаженных логарифмов, так как он выполняет softmax над logits внутри для повышения эффективности. Не вызывайте этот оператор с результатом softmax, так как это приведет к неправильным результатам.

Типичный случай использования — логарифмы формы [batch_size, num_classes] и метки формы [batch_size], но поддерживаются и более высокие размерности, в этом случае предполагается, что dim-я размерность имеет размер num_classes. logits должен иметь тип float16, float32, или float64, а labels должен иметь тип int32 или int64.

logits = tf.constant([[2., -5., .5, -.1],
                      [0., 0., 1.9, 1.4],
                      [-100., 100., -100., -100.]])
labels = tf.constant([0, 3, 1])
tf.nn.sparse_softmax_cross_entropy_with_logits(
    labels=labels, logits=logits).numpy()
array([0.29750752, 1.1448325 , 0.        ], dtype=float32)

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

Аргументы
labels Tensor формы [d_0, d_1, ..., d_{r-1}] (где r — ранг labels и результата) и типа int32 или int64. Каждый элемент в labels должен быть индексом в [0, num_classes). Другие значения вызовут исключение при выполнении этого оператора на ЦП и вернут NaN для соответствующих строк потери и градиента на графическом процессоре.
logits Несглаженные логарифмические вероятности формы [d_0, d_1, ..., d_{r-1}, num_classes] и типа float16, float32, или float64.
name Имя операции (необязательно).
Возвращаемое значение
Объект Tensor той же формы, что и labels и того же типа, что и logits с потерей кросс-энтропии softmax.
Возможные исключения
ValueError Если логарифмы являются скалярами (необходимо иметь ранг >= 1) или если ранг меток не равен рангу логарифмов минус один.

© 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/versions/r2.9/api_docs/python/tf/nn/sparse_softmax_cross_entropy_with_logits

Spec-Zone.ru

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