Spec-Zone.ru › TensorFlow 2.4

tf.keras.losses.Loss

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

Базовый класс потерь.

Просмотр псевдонимов

Основные псевдонимы

tf.losses.Loss

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.keras.losses.Loss

tf.keras.losses.Loss(
    reduction=losses_utils.ReductionV2.AUTO, name=None
)

Для реализации подклассами:

  • call(): Содержит логику вычисления потерь с использованием y_true, y_pred.

Пример реализации подкласса:

class MeanSquaredError(Loss):

  def call(self, y_true, y_pred):
    y_pred = tf.convert_to_tensor_v2(y_pred)
    y_true = tf.cast(y_true, y_pred.dtype)
    return tf.reduce_mean(math_ops.square(y_pred - y_true), axis=-1)

При использовании с tf.distribute.Strategy, вне встроенных циклов обучения, таких как tf.keras compile и fit, используйте типы уменьшения «SUM» или «NONE», и явно уменьшайте потери в цикле обучения. Использование «AUTO» или «SUM_OVER_BATCH_SIZE» вызовет ошибку.

Дополнительные сведения об этом см. в этом учебном пособии по настройке обучения по ссылке.

Вы можете реализовать «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))
Аргументы
reduction (Необязательно) Тип tf.keras.losses.Reduction для применения к потерям. Значение по умолчанию — AUTO. AUTO указывает, что параметр уменьшения будет определяться контекстом использования. В подавляющем большинстве случаев это значение по умолчанию — SUM_OVER_BATCH_SIZE. При использовании с tf.distribute.Strategy, вне встроенных циклов обучения, таких как tf.keras compile и fit, использование AUTO или SUM_OVER_BATCH_SIZE вызовет ошибку. Дополнительные сведения см. в этом учебном пособии по настройке обучения по ссылке.
name Необязательное имя операции.

Методы

call

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

@abc.abstractmethod
call(
    y_true, y_pred
)

Вызывает экземпляр Loss.

Аргументы
y_true Значения фактических значений. Формат = [batch_size, d0, .. dN], за исключением функций потерь со сжатием, таких как sparse categorical crossentropy, где формат = [batch_size, d0, .. dN-1]
y_pred Предсказанные значения. Формат = [batch_size, d0, .. dN]
Возвращаемое значение
Значения потерь с формой [batch_size, d0, .. dN-1].

from_config

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

@classmethod
from_config(
    config
)

Создает экземпляр Loss из его конфигурации (вывода get_config()).

Аргументы
config Вывод get_config().
Возвращаемое значение
Экземпляр Loss

get_config

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

get_config()

Возвращает словарь конфигурации для экземпляра Loss.

__call__

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

__call__(
    y_true, y_pred, sample_weight=None
)

Вызывает экземпляр Loss.

Аргументы
y_true Значения фактических значений. Формат = [batch_size, d0, .. dN], за исключением функций потерь со сжатием, таких как sparse categorical crossentropy, где формат = [batch_size, d0, .. dN-1]
y_pred Предсказанные значения. Формат = [batch_size, d0, .. dN]
sample_weight Необязательное sample_weight выступает в качестве коэффициента для потерь. Если предоставляется скаляр, потери просто масштабируются заданным значением. Если sample_weight является тензором размера [batch_size], то общая потеря для каждого образца пакета масштабируется соответствующим элементом в векторе sample_weight. Если форма sample_weight имеет вид [batch_size, d0, .. dN-1], то каждый элемент потерь y_pred масштабируется соответствующим значением sample_weight. (Примечание по dN-1: все функции потерь уменьшаются на 1 размерность, обычно по оси -1.)
Возвращаемое значение
Вещественное значение взвешенных потерь Tensor. Если reduction имеет значение NONE, у него есть форма [batch_size, d0, .. dN-1]; в противном случае — это скаляр. (Примечание dN-1: все функции потерь уменьшаются на 1 размерность, обычно по оси -1.)
Исключения
ValueError Если форма sample_weight недействительна.

© 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/Loss

Spec-Zone.ru

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