計算 y_true
和 y_pred
之間的 Kullback-Leibler 散度損失。
用法
tf.keras.metrics.kl_divergence(
y_true, y_pred
)
參數
-
y_true
真實目標的張量。 -
y_pred
預測目標的張量。
返回
-
有損失的
Tensor
。
拋出
-
TypeError
如果y_true
不能轉換為y_pred.dtype
。
loss = y_true * log(y_true / y_pred)
看:https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence
單機使用:
y_true = np.random.randint(0, 2, size=(2, 3)).astype(np.float64)
y_pred = np.random.random(size=(2, 3))
loss = tf.keras.losses.kullback_leibler_divergence(y_true, y_pred)
assert loss.shape == (2,)
y_true = tf.keras.backend.clip(y_true, 1e-7, 1)
y_pred = tf.keras.backend.clip(y_pred, 1e-7, 1)
assert np.array_equal(
loss.numpy(), np.sum(y_true * np.log(y_true / y_pred), axis=-1))
相關用法
- Python tf.keras.metrics.Mean.merge_state用法及代碼示例
- Python tf.keras.metrics.Hinge用法及代碼示例
- Python tf.keras.metrics.SparseCategoricalAccuracy.merge_state用法及代碼示例
- Python tf.keras.metrics.RootMeanSquaredError用法及代碼示例
- Python tf.keras.metrics.SparseCategoricalCrossentropy.merge_state用法及代碼示例
- Python tf.keras.metrics.sparse_categorical_accuracy用法及代碼示例
- Python tf.keras.metrics.FalseNegatives用法及代碼示例
- Python tf.keras.metrics.TrueNegatives用法及代碼示例
- Python tf.keras.metrics.RecallAtPrecision.merge_state用法及代碼示例
- Python tf.keras.metrics.SpecificityAtSensitivity用法及代碼示例
- Python tf.keras.metrics.Mean用法及代碼示例
- Python tf.keras.metrics.poisson用法及代碼示例
- Python tf.keras.metrics.LogCoshError用法及代碼示例
- Python tf.keras.metrics.MeanSquaredLogarithmicError用法及代碼示例
- Python tf.keras.metrics.FalsePositives.merge_state用法及代碼示例
- Python tf.keras.metrics.OneHotMeanIoU.merge_state用法及代碼示例
- Python tf.keras.metrics.TopKCategoricalAccuracy用法及代碼示例
- Python tf.keras.metrics.Hinge.merge_state用法及代碼示例
- Python tf.keras.metrics.IoU用法及代碼示例
- Python tf.keras.metrics.RecallAtPrecision用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.metrics.kl_divergence。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。