Класс Loss
Класс Loss представляет собой абстрактный базовый класс
для всех функций потерь в TensorFlow. Он наследуется от
tf.keras.losses.Loss и определяет общий интерфейс,
который должны реализовывать все пользовательские функции потерь.
Класс предоставляет методы __call__ и call
для вычисления значения потерь, а также метод get_config
для получения конфигурации функции потерь.
При создании экземпляра класса можно передать параметры
reduction, name и dtype.
Синтаксис
tf.keras.losses.Loss(reduction, name, dtype)
Пример
Давайте создадим пользовательский класс потерь,
наследуясь от класса Loss, и вычислим значение потерь:
import tensorflow as tf
class CustomLoss(tf.keras.losses.Loss):
def call(self, y_true, y_pred):
return tf.reduce_mean(tf.square(y_true - y_pred))
loss = CustomLoss()
y_true = tf.constant([1.0, 2.0, 3.0])
y_pred = tf.constant([1.5, 2.5, 2.5])
res = loss(y_true, y_pred)
print(res)
Результат выполнения кода:
tf.Tensor(0.25, shape=(), dtype=float32)
Пример
Давайте создадим экземпляр класса Loss
с параметром reduction и получим его конфигурацию:
import tensorflow as tf
class CustomLoss(tf.keras.losses.Loss):
def call(self, y_true, y_pred):
return tf.reduce_mean(tf.square(y_true - y_pred))
loss = CustomLoss(reduction="sum", name="custom_loss")
config = loss.get_config()
print(config["reduction"])
print(config["name"])
Результат выполнения кода:
"sum"
"custom_loss"
Смотрите также
-
класс
Loss,
который является базовым классом функций потерь -
метод
call,
который вычисляет значение потерь -
метод
__call__,
который вызывает функцию потерь -
метод
get_config,
который возвращает конфигурацию функции потерь