当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.estimator.experimental.make_early_stopping_hook用法及代码示例


创建 early-stopping 挂钩。

用法

tf.estimator.experimental.make_early_stopping_hook(
    estimator, should_stop_fn, run_every_secs=60, run_every_steps=None
)

参数

  • estimator tf.estimator.Estimator 实例。
  • should_stop_fn callable ,不带参数并返回 bool 的函数。如果函数返回 True ,停止将由酋长发起。
  • run_every_secs 如果指定,则以 run_every_secs 秒的间隔调用 should_stop_fn。默认为 60 秒。必须设置这个或run_every_steps
  • run_every_steps 如果指定,则每 run_every_steps 步骤调用 should_stop_fn。必须设置这个或run_every_secs

返回

  • SessionRunHook 定期执行 should_stop_fn 并在函数返回 True 时启动提前停止。

抛出

  • TypeError 如果 estimator 不是 tf.estimator.Estimator 类型。
  • ValueError 如果同时设置了run_every_secsrun_every_steps

返回当 should_stop_fn 返回 True 时停止训练的 SessionRunHook

使用示例:

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, ...)

警告:当前实现支持 early-stopping 在本地模式下进行训练和评估。在分布式模式下,可以停止训练,但评估(这是一项单独的工作)将无限期地等待新模型检查点的评估,因此您将需要其他方法来检测和停止它。分布式模式下的Early-stopping 评估需要更改train_and_evaluate API,并将在未来的修订版中解决。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.estimator.experimental.make_early_stopping_hook。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。