View source on GitHub
|
Computes Kullback-Leibler divergence loss between y_true & y_pred.
Inherits From: Loss
tf.keras.losses.KLDivergence(
reduction='sum_over_batch_size',
name='kl_divergence',
dtype=None
)
Formula:
loss = y_true * log(y_true / y_pred)
y_true and y_pred are expected to be probability
distributions, with values between 0 and 1. They will get
clipped to the [0, 1] range.
Args | |
|---|---|
reduction
|
Type of reduction to apply to the loss. In almost all cases
this should be "sum_over_batch_size". Supported options are
"sum", "sum_over_batch_size", "mean",
"mean_with_sample_weight" or None. "sum" sums the loss,
"sum_over_batch_size" and "mean" sum the loss and divide by the
sample size, and "mean_with_sample_weight" sums the loss and
divides by the sum of the sample weights. "none" and None
perform no aggregation. Defaults to "sum_over_batch_size".
|
name
|
Optional name for the loss instance. |
dtype
|
The dtype of the loss's computations. Defaults to None, which
means using keras.backend.floatx(). keras.backend.floatx() is a
"float32" unless set to different value
(via keras.backend.set_floatx()). If a keras.DTypePolicy is
provided, then the compute_dtype will be utilized.
|
Attributes | |
|---|---|
dtype
|
|
Methods
call
call(
y_true, y_pred
)
from_config
@classmethodfrom_config( config )
get_config
get_config()
__call__
__call__(
y_true, y_pred, sample_weight=None
)
Call self as a function.
View source on GitHub