tf.compat.v2.keras.losses.Reduction
Типы уменьшения потерь.
Содержит следующие значения:
-
AUTO: Указывает, что параметр уменьшения будет определяться контекстом использования. Практически во всех случаях по умолчанию этоSUM_OVER_BATCH_SIZE. При использовании сtf.distribute.Strategyвне встроенных циклов обучения, таких какtf.kerascompileиfit, ожидается, что значение reduction будетSUMилиNONE. ИспользованиеAUTOв этом случае вызовет ошибку. -
NONE: Весовые потери с уменьшением по одному измерению (axis=-1 или указанному функцией потерь). При использовании этого типа уменьшения со встроенными циклами обучения 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_object(labels, predictions)) *
(1. / global_batch_size)
Дополнительные сведения см. в https://www.tensorflow.org/alpha/tutorials/distribute/training_loops.
Методы
all
@classmethod all()
validate
@classmethod
validate(
key
)
Переменные класса
-
AUTO = 'auto' -
NONE = 'none' -
SUM = 'sum' -
SUM_OVER_BATCH_SIZE = 'sum_over_batch_size'
© 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/compat/v2/keras/losses/Reduction