Tensorflow Estimator Early Stoping挂钩参数

时间:2019-01-14 09:38:35

标签: tensorflow tensorflow-estimator

有人可以帮助说明Tensorflow Estimator的早期停止如何工作吗?

我使用的是早期停止钩子(请参见下文),但似乎并没有做太多-它不会停止,即使模型明显过拟合,也只训练给定的纪元。

我想知道如何准确设置 max_steps_without_decrease min_steps 。我习惯于设置耐心参数,该参数指示如果评估集的损失(或其他指标)对于x个纪元数没有改善,则停止训练。我不确定如何将其映射到这些新参数-我对如何设置它们没有直觉。

early_stop = tf.contrib.estimator.stop_if_no_decrease_hook(estimator, 'loss', 1000)

train_spec = tf.estimator.TrainSpec(input_fn=train_input_fn, max_steps=2000, hooks=[early_stop])

eval_spec = tf.estimator.EvalSpec(input_fn=eval_input_fn, steps=1, exporters=exporter)

exporter = tf.estimator.BestExporter(
        name="best_exporter",
        serving_input_receiver_fn=serving_fn,
        exports_to_keep=5
    )  

tf.estimator.train_and_evaluate(
            estimator,
            train_spec=train_spec,
            eval_spec=eval_spec)

0 个答案:

没有答案