実験でラップされたEstimatorを使用するときに保存されるモデルを選択する方法があるかどうか知りませんか? 'save_checkpoints_steps'ごとに、モデルは保存されますが、このモデルは必ずしも最良ではありません。Experiment Tensorflowに保存するモデルを選択しました
INFO:tensorflow:
def model_fn(features, labels, mode, params): predict = model_predict_() loss = model_loss() train_op = model_train_op(loss, mode) predictions = {"predictions": predict} return tf.estimator.EstimatorSpec( mode = mode, predictions = predictions, loss = loss, train_op = train_op, ) def experiment_fn(run_config, hparams): estimator = tf.estimator.Estimator( model_fn = model_fn, config = run_config, params = hparams ) return learn.Experiment( estimator = estimator, train_input_fn = train_input_fn, eval_input_fn = eval_input_fn, eval_metrics = None, train_steps = 1000, ) ex = learn_runner.run( experiment_fn = experiment_fn, run_config = run_config, schedule = "train_and_evaluate", hparams = hparams )
出力は以下の通りです。に401のためのチェックポイントを保存\ model.ckpt。
INFO:tensorflow:global_step /秒:0.157117 INFO:tensorflow:ステップ= 401、 損失= 2.95048(636.468秒)
INFO:tensorflow:06: 2017-09-05-20での評価を開始します:07 INFO:tensorflow: からパラメータを復元\ model.ckpt-401
INFO:tensorflow:評価[1/1] INFO:2017-09-05-20で終了評価 :tensorflow 06:09
INFO:テンソルフロー:グローバルステップのディクテーションを保存する 401:global_step = 401、損失= 7.20411
INFO:tensorflow:検証(ステップ401): global_step = 401、損失= 7.20411
INFO:tensorflow:トレーニング損失= 2.95048、ステップ= 401(315.393秒)
INFO:tensorflow:451のチェックポイントを 。\ model.ckptに保存します。
INFO:tensorflow:11:32
INFO:tensorflow:2017-09-05-20での評価を開始する。 からパラメータを復元\ model.ckpt-451
INFO:tensorflow:評価[1/1]
最後にモデルを保存するたびに、必ずしもベストではないことがわかります。
詳細を追加してください。これまでのことを教えてください。何が問題ですか。そうであるように、あなたの質問は理解できません。 –