在TensorFlow 1.10估算器中使用提前停止

时间:2018-09-12 17:22:43

标签: python tensorflow

在TensorFlow 1.10中为估算器引入了提前停止功能。我一直在努力使提早停止工作,但是,似乎它什么也没做。这是我的代码的样子:

classifier = tf.estimator.Estimator(
    model_fn=model_fn, 
    model_dir=f"./artifacts/{file_time}/checkpoints/")

os.makedirs(classifier.eval_dir())

early_stopping = tf.contrib.estimator.stop_if_no_decrease_hook(
    classifier,
    metric_name='loss',
    max_steps_without_decrease=100)

classifier.train(
    input_fn=lambda:train_input_fn(file_time),
    steps=40000,
    hooks=[early_stopping]
)

培训开始,但是培训永远不会被钩子停止,而是继续进行培训,直到classifier.train中定义的步骤为止。当它登录到控制台时,我可以看到损失没有进一步减少。我尝试将max_steps_without_decrease减少到100,以便尽快停止。对我可能在这里做错的任何想法?

0 个答案:

没有答案