tf.keras.losses.Reduction
Типы сокращения потерь.
Содержит следующие значения:
-
AUTO: Указывает, что параметр сокращения будет определён контекстом использования. В почти всех случаях он по умолчанию равенSUM_OVER_BATCH_SIZE. При использовании сtf.distribute.Strategyза пределами встроенных циклов обучения, таких какtf.kerascompileиfit, ожидается, что значение сокращения будетSUMилиNONE. ИспользованиеAUTOв этом случае приведёт к ошибке. -
NONE: Дополнительное сокращение не применяется к выходу обернутой функции потерь. Когда нескалярные потери возвращаются в функции Keras, такие какfit/evaluate, несокращённый вектор потерь передаётся оптимизатору, но сообщаемые потери будут скалярным значением. SUM: Скалярная сумма взвешенных потерь.-
SUM_OVER_BATCH_SIZE: СкалярноеSUM, делённое на количество элементов в потерях. Этот тип сокращения не поддерживается при использовании сtf.distribute.Strategyза пределами встроенных циклов обучения, таких какtf.kerascompile/fit.Вы можете реализовать 'SUM_OVER_BATCH_SIZE', используя глобальный размер пакета, например:
with strategy.scope(): loss_obj = tf.keras.losses.CategoricalCrossentropy( reduction=tf.keras.losses.Reduction.NONE) .... loss = tf.reduce_sum(loss_obj(labels, predictions)) * (1. / global_batch_size)
Для получения более подробной информации см. руководство по кастомизированному обучению.
Методы
all
@classmethod all()
validate
@classmethod
validate(
key
)
| Переменные класса | |
|---|---|
| AUTO | 'auto' |
| NONE | 'none' |
| SUM | 'sum' |
| SUM_OVER_BATCH_SIZE | 'sum_over_batch_size' |
© 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/keras/losses/Reduction