tf.estimator.experimental.make_early_stopping_hook
| Просмотреть исходный код на GitHub |
Создаёт хук для ранней остановки.
tf.estimator.experimental.make_early_stopping_hook(
estimator, should_stop_fn, run_every_secs=60, run_every_steps=None
)
Возвращает SessionRunHook, который останавливает обучение, когда should_stop_fn возвращает True.
Пример использования:
estimator = ...
hook = early_stopping.make_early_stopping_hook(
estimator, should_stop_fn=make_stop_fn(...))
train_spec = tf.estimator.TrainSpec(..., hooks=[hook])
tf.estimator.train_and_evaluate(estimator, train_spec, ...)
Примечание: текущая реализация поддерживает раннюю остановку как обучения, так и оценки в локальном режиме. В распределённом режиме обучение можно остановить, но оценка (если это отдельная задача) будет бесконечно ждать новых контрольных точек модели для оценки, поэтому вам потребуются другие способы её обнаружения и остановки. Ранняя остановка оценки в распределённом режиме требует изменений в train_and_evaluate API и будет реализована в будущей версии.
| Аргументы | |
|---|---|
estimator | Экземпляр tf.estimator.Estimator. |
should_stop_fn | callable, функция без аргументов, возвращающая bool. Если функция возвращает True, остановка будет инициирована лидером. |
run_every_secs | Если указано, вызывает should_stop_fn с интервалом run_every_secs секунд. По умолчанию 60 секунд. Нужно установить либо это, либо run_every_steps. |
run_every_steps | Если указано, вызывает should_stop_fn каждые run_every_steps шагов. Нужно установить либо это, либо run_every_secs. |
| Возвращает | |
|---|---|
SessionRunHook, который периодически выполняет should_stop_fn и инициирует раннюю остановку, если функция возвращает True. |
| Исключения | |
|---|---|
TypeError | Если estimator не является экземпляром tf.estimator.Estimator. |
ValueError | Если оба run_every_secs и run_every_steps заданы. |
© 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/r2.3/api_docs/python/tf/estimator/experimental/make_early_stopping_hook