tf.estimator.experimental.stop_if_no_increase_hook
Stay organized with collections
Save and categorize content based on your preferences.
Creates hook to stop if metric does not increase within given max steps.
View aliases
Compat aliases for migration
See
Migration guide for
more details.
`tf.compat.v1.estimator.experimental.stop_if_no_increase_hook`
tf.estimator.experimental.stop_if_no_increase_hook(
estimator,
metric_name,
max_steps_without_increase,
eval_dir=None,
min_steps=0,
run_every_secs=60,
run_every_steps=None
)
Usage example:
estimator = ...
# Hook to stop training if accuracy does not increase in over 100000 steps.
hook = early_stopping.stop_if_no_increase_hook(estimator, "accuracy", 100000)
train_spec = tf.estimator.TrainSpec(..., hooks=[hook])
tf.estimator.train_and_evaluate(estimator, train_spec, ...)
Caveat: Current implementation supports early-stopping both training and
evaluation in local mode. In distributed mode, training can be stopped but
evaluation (where it's a separate job) will indefinitely wait for new model
checkpoints to evaluate, so you will need other means to detect and stop it.
Early-stopping evaluation in distributed mode requires changes in
train_and_evaluate
API and will be addressed in a future revision.
Args |
estimator
|
A tf.estimator.Estimator instance.
|
metric_name
|
str , metric to track. "loss", "accuracy", etc.
|
max_steps_without_increase
|
int , maximum number of training steps with no
increase in the given metric.
|
eval_dir
|
If set, directory containing summary files with eval metrics. By
default, estimator.eval_dir() will be used.
|
min_steps
|
int , stop is never requested if global step is less than this
value. Defaults to 0.
|
run_every_secs
|
If specified, calls should_stop_fn at an interval of
run_every_secs seconds. Defaults to 60 seconds. Either this or
run_every_steps must be set.
|
run_every_steps
|
If specified, calls should_stop_fn every
run_every_steps steps. Either this or run_every_secs must be set.
|
Returns |
An early-stopping hook of type SessionRunHook that periodically checks
if the given metric shows no increase over given maximum number of
training steps, and initiates early stopping if true.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2023-10-06 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-10-06 UTC."],[],[]]