tf.estimator.experimental.stop_if_higher_hook
| View source on GitHub |
Создаёт хук, останавливающий процесс, если заданный метрический показатель превышает порог.
tf.estimator.experimental.stop_if_higher_hook(
estimator, metric_name, threshold, eval_dir=None, min_steps=0,
run_every_secs=60, run_every_steps=None
)
Пример использования:
estimator = ... # Hook to stop training if accuracy becomes higher than 0.9. hook = early_stopping.stop_if_higher_hook(estimator, "accuracy", 0.9) train_spec = tf.estimator.TrainSpec(..., hooks=[hook]) tf.estimator.train_and_evaluate(estimator, train_spec, ...)
Примечание: текущая реализация поддерживает раннее прерывание как обучения, так и оценки в локальном режиме. В распределённом режиме обучение может быть остановлено, но оценка (которая является отдельной задачей) будет неопределённо ждать новых контрольных точек модели для оценки, поэтому вам потребуются другие методы для обнаружения и остановки. Раннее прерывание оценки в распределённом режиме требует изменений в train_and_evaluate API и будет рассмотрено в будущих ревизиях.
| Аргументы | |
|---|---|
estimator |
Экземпляр tf.estimator.Estimator. |
metric_name |
str, метрика для отслеживания. "loss", "accuracy" и т.д. |
threshold |
Числовой порог для заданной метрики. |
eval_dir |
Если задано, каталог, содержащий файлы сводки с метриками оценки. По умолчанию используется estimator.eval_dir(). |
min_steps |
int, остановка никогда не запрашивается, если глобальный шаг меньше этого значения. По умолчанию 0. |
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 , который периодически проверяет, не превышает ли заданная метрика указанный порог, и инициирует раннее прерывание, если это так. |
© 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/stop_if_higher_hook