Как вычислить точность проверки по всем данным в конце каждой эпохи? - PullRequest
0 голосов
/ 22 марта 2020

В Керасе точность проверки в конце каждой эпохи рассчитывается путем взятия среднего значения для всех партий. Тем не менее, я хотел бы, чтобы это вычисление учитывало все данные проверки. Как я могу это сделать?

1 Ответ

0 голосов
/ 24 марта 2020

Да, это возможно, для этого вам нужно использовать класс, который был недавно добавлен в Keras: keras.metrics.Metric. С его помощью вы можете реализовать метрику с состоянием c и накапливать результаты по партиям (даже накапливать результаты для каждой партии), а затем вычислять конечный результат.

Для этого вам необходимо создать подкласс keras.metrics.Metric и реализуйте следующие методы:

  • update_state: обновляет состояние metri c, здесь вы в основном накапливаете результаты для каждой партии. Вы можете использовать self.add_weight для получения обновляемых переменных, если вы используете другой метод для определения своего состояния, вы также должны реализовать reset_states.
  • result: вычислить и вернуть заданный конечный показатель c все результаты для каждой партии.

Затем вы создаете экземпляр своей метри c и передаете его в model.compile. Есть много примеров метрик, реализованных с использованием этой структуры здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...