2017-09-12 7 views
1

テンソルフローにビルトインの早期停止機能がありますか?私はtf.Estimatorによって提供されたフックをチェックし、何も見つけられません。あるいは自分で実装する必要がありますか?テンソルフロー推定器で停止するビルトインサポート

+0

おそらく[実験](https://www.tensorflow.org/api_docs/python/tf/contrib/learn/Experiment)では可能でしょうか。少なくとも、別々の検証セットで定期的な評価を実行できます。 –

+0

私は実験を見ました。 mybe私はmonitor:tf.contrib.learn.monitors.ValidationMonitorを実験に渡すことができます。私はそれを試し、結果を後で更新するつもりです。 –

答えて

0

@Maxime、 実験がうまくいきました!あなたが答えに興味がある場合は、ここに私のコードの一部です。 contribには機能があるため、安定していない可能性があります。

config = tf.contrib.learn.RunConfig(model_dir=FLAGS.train_dir) 
# config = config.replace(sess_config=sess_config) 
tf.logging.set_verbosity(logging.INFO) 
validation_monitor = monitors.ValidationMonitor(
    input_fn=functools.partial(input_fn, subset="evaluation"), 
    eval_steps=128, 
    every_n_steps=101, 
    early_stopping_metric="accuracy", 
    early_stopping_rounds = 1000 
) 
run_monitors = [validation_monitor] 
tf.contrib.learn.learn_runner.run(
    get_experiment_fn(train_input_fn=functools.partial(input_fn,subset="training"), 
         eval_input_fn=functools.partial(input_fn,subset="evaluation"), 
         train_steps=FLAGS.train_steps, 
         eval_steps=100, 
         train_hooks=run_monitors, 
         model_fn=model_fn_cnn 
        ), 
    run_config = config 
) 
関連する問題