На этом шаге мы рассмотрим использование таких метрик.
В низкоуровневом цикле обучения часто возникает необходимость использовать метрики Keras (и стандартные, и нестандартные). Вы уже познакомились с методами поддержки метрик: просто вызовите update_state(y_true, y_pred) для каждого пакета целей и прогнозов и result() для получения текущего значения метрики:
metric = keras.metrics.SparseCategoricalAccuracy() targets = [0, 1, 2] predictions = [[1, 0, 0], [0, 1, 0], [0, 0, 1]] metric.update_state(targets, predictions) current_result = metric.result() print(f"result: {current_result:.2f}")
Вам также может потребоваться отслеживать среднее значение скаляра, например величины потери модели. Это можно сделать с помощью метрики keras.metrics.Mean:
values = [0, 1, 2, 3, 4] mean_tracker = keras.metrics.Mean() for value in values: mean_tracker.update_state(value) print(f"Mean of values: {mean_tracker.result():.2f}")
Не забудьте вызвать metric.reset_state(), когда понадобится сбросить текущий результат (в начале эпохи обучения или в начале этапа оценки).
На следующем шаге мы рассмотрим полный цикл обучения и оценки.