tf.losses.softmax_cross_entropy
Создаёт функцию потерь кросс-энтропии, используя tf.nn.softmax_cross_entropy_with_logits_v2.
tf.losses.softmax_cross_entropy(
onehot_labels, logits, weights=1.0, label_smoothing=0, scope=None,
loss_collection=tf.GraphKeys.LOSSES, reduction=Reduction.SUM_BY_NONZERO_WEIGHTS
)
weights выступает в качестве коэффициента для функции потерь. Если предоставлен скаляр, то функция потерь просто масштабируется на заданное значение. Если weights является тензором формы [batch_size], то веса потерь применяются к каждому соответствующему образцу.
Если label_smoothing не равно нулю, метки сглаживаются в сторону 1/num_classes: new_onehot_labels = onehot_labels * (1 - label_smoothing)
+ label_smoothing / num_classes
Обратите внимание, что onehot_labels и logits должны иметь одинаковую форму, например [batch_size, num_classes]. Форма weights должна быть совместима для трансляции с функцией потерь, форма которой определяется формой logits. В случае, если форма logits является [batch_size, num_classes], функция потерь является Tensor формы [batch_size].
| Аргументы | |
|---|---|
onehot_labels | Метки в формате one-hot кодирования. |
logits | Логиты выходного слоя сети. |
weights | Необязательные веса, которые совместимы для трансляции с функцией потерь. |
label_smoothing | Если больше 0, то сглаживаются метки. |
scope | область для операций вычисления функции потерь. |
loss_collection | Коллекция, в которую будет добавлена функция потерь. |
reduction | Тип редукции, применяемый к функции потерь. |
| Возвращаемое значение | |
|---|---|
Функция потерь Tensor того же типа, что и logits. Если reduction является NONE, у неё форма [batch_size]; иначе - скаляр. |
| Исключения | |
|---|---|
ValueError | Если форма logits не совпадает с формой onehot_labels, или форма weights неверна, или weights равно None. Также, если onehot_labels или logits равно None. |
Совместимость с Eager
Аргумент loss_collection игнорируется при выполнении в режиме Eager. Рассмотрите возможность сохранения возвращаемого значения или сбора потерь с помощью tf.keras.Model.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/losses/softmax_cross_entropy