tf.keras.metrics.BinaryCrossentropy
| Просмотреть исходный код на GitHub |
Вычисляет метрику кроссэнтропии между метками и прогнозами.
tf.keras.metrics.BinaryCrossentropy(
name='binary_crossentropy', dtype=None, from_logits=False, label_smoothing=0
)
Это класс метрики кроссэнтропии, который используется, когда существуют только две метки классов (0 и 1).
Использование:
m = tf.keras.metrics.BinaryCrossentropy()
m.update_state([1., 0., 1., 0.], [1., 1., 1., 0.])
# EPSILON = 1e-7, y = y_true, y` = y_pred, Y_MAX = 0.9999999
# y` = clip_ops.clip_by_value(output, EPSILON, 1. - EPSILON)
# y` = [Y_MAX, Y_MAX, Y_MAX, EPSILON]
# Metric = -(y log(y` + EPSILON) + (1 - y) log(1 - y` + EPSILON))
# = [-log(Y_MAX + EPSILON), -log(1 - Y_MAX + EPSILON),
# -log(Y_MAX + EPSILON), -log(1)]
# = [(0 + 15.33) / 2, (0 + 0) / 2]
# Reduced metric = 7.665 / 2
print('Final result: ', m.result().numpy()) # Final result: 3.833
Использование с API tf.keras:
model = tf.keras.Model(inputs, outputs)
model.compile(
'sgd',
loss='mse',
metrics=[tf.keras.metrics.BinaryCrossentropy()])
| Аргументы | |
|---|---|
name | (Необязательно) строковое имя экземпляра метрики. |
dtype | (Необязательно) тип данных результата метрики. |
from_logits | (Необязательно) ожидается ли, что вывод будет тензором logits. По умолчанию считается, что вывод кодирует распределение вероятностей. |
label_smoothing | (Необязательно) число с плавающей точкой в диапазоне [0, 1]. При значении > 0 значения меток сглаживаются, что означает ослабление уверенности в значениях меток. Например, label_smoothing=0.2 означает, что мы будем использовать значение 0.1 для метки 0 и 0.9 для метки 1" |
Методы
reset_states
reset_states()
Сбрасывает все переменные состояния метрики.
Эта функция вызывается между эпохами/шагами, когда метрика оценивается во время обучения.
result
result()
Вычисляет и возвращает тензор значения метрики.
Вычисление результата — это идемпотентная операция, которая просто вычисляет значение метрики, используя переменные состояния.
update_state
update_state(
y_true, y_pred, sample_weight=None
)
Накапливает статистику метрики.
y_true и y_pred должны иметь одинаковую форму.
| Аргументы | |
|---|---|
y_true | Значения фактических данных. |
y_pred | Значения прогнозируемых данных. |
sample_weight | Необязательное взвешивание каждого примера. По умолчанию равно 1. Может быть Tensor, ранг которого равен 0 или совпадает с рангом y_true, и должен быть транслируемым для y_true. |
| Возвращаемое значение | |
|---|---|
| Операция обновления. |
© 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/metrics/BinaryCrossentropy