Шаг 192.
Глубокое обучение на Python. Работа с Keras: глубокое погружение. Встроенные циклы обучения и оценки. Использование обратных вызовов (общие сведения)

    На этом шаге мы дадим краткую характеристику, что представляет собой обратный вызов.

    Запуск процедуры обучения продолжительностью в десятки эпох на большом наборе данных вызовом model.fit() напоминает запуск бумажного самолетика: придав начальный импульс, вы больше никак не управляете ни траекторией его полета, ни местом приземления. Чтобы избежать отрицательных результатов (и потери самолетика), лучше использовать не бумажный самолетик, а управляемый беспилотник, анализирующий окружающую обстановку, посылающий информацию о ней обратно оператору и автоматически управляющий рулями в зависимости от своего текущего состояния. Поддержка обратных вызовов в Keras поможет превратить вызов model.fit() из бумажного самолетика в интеллектуальный, автономный беспилотник, способный оценивать свое состояние и своевременно выполнять управляющие действия.

    Обратный вызов - это объект (экземпляр класса, реализующего конкретные методы), который передается в модель через вызов fit() и который будет вызываться моделью в разные моменты обучения. Он имеет доступ ко всей информации о состоянии модели и ее качестве и может предпринимать следующие действия: прерывать обучение, сохранять модель, загружать разные наборы весов или как-то иначе изменять состояние модели.

    Вот несколько примеров использования обратных вызовов:

    Модуль keras.callbacks включает ряд встроенных обратных вызовов. Вот далеко не полный список:

keras.callbacks.ModelCheckpoint
keras.callbacks.EarlyStopping
keras.callbacks.LearningRateScheduler
keras.callbacks.ReduceLROnPlateau
keras.callbacks.CSVLogger

    Рассмотрим некоторые из них, чтобы понять, как ими пользоваться: EarlyStopping и ModelCheckpoint.

    На следующем шаге мы рассмотрим два указанных выше обратных вызова.




Предыдущий шаг Содержание Следующий шаг