Spec-Zone.ru › TensorFlow 1.15

tf.keras.losses.KLDivergence

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

Вычисляет потерю расхождения Кульбака—Лейблера между y_true и y_pred.

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

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

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

tf.compat.v1.keras.losses.KLDivergence, `tf.compat.v2.keras.losses.KLDivergence`, `tf.compat.v2.losses.KLDivergence`

tf.keras.losses.KLDivergence(
    reduction=losses_utils.ReductionV2.AUTO, name='kullback_leibler_divergence'
)

loss = y_true * log(y_true / y_pred)

См.: https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence

Использование:

k = tf.keras.losses.KLDivergence()
loss = k([.4, .9, .2], [.5, .8, .12])
print('Loss: ', loss.numpy())  # Loss: 0.11891246

Использование с API compile:

model = tf.keras.Model(inputs, outputs)
model.compile('sgd', loss=tf.keras.losses.KLDivergence())

Методы

from_config

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

@classmethod
from_config(
    config
)

Инициализирует Loss по его конфигурации (выход get_config()).

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

get_config

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

get_config()

__call__

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

__call__(
    y_true, y_pred, sample_weight=None
)

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

Аргументы
y_true Значения целевого выхода. shape = [batch_size, d0, .. dN]
y_pred Предсказанные значения. shape = [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.)
Возвращаемое значение
Весовая потеря float 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/r1.15/api_docs/python/tf/keras/losses/KLDivergence

Spec-Zone.ru

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