tf.keras.losses.Reduction
Типы уменьшения потерь.
Содержит следующие значения:
-
AUTO: Указывает, что параметр уменьшения будет определён контекстом использования. Почти во всех случаях он по умолчанию равенSUM_OVER_BATCH_SIZE. При использовании сtf.distribute.Strategy, за пределами встроенных циклов обучения, таких какtf.kerascompileиfit, мы ожидаем, что значение уменьшения будетSUMилиNONE. ИспользованиеAUTOв этом случае вызовет ошибку. -
NONE: Весовые потери с уменьшением по одному измерению (ось = -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_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' |
© 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/r2.4/api_docs/python/tf/keras/losses/Reduction