私はこのexample from Googleを見ていて、MonitoredSessionを利用しています。これは、nステップごとに要約を保存するのに便利なクラスのようです。ドキュメントによれば、次のスニペットが表示されます。Tensorflowフックafter_runが呼び出されていない
with tf.train.MonitoredTrainingSession(master=target,
is_chief=is_chief,
checkpoint_dir=job_dir,
save_checkpoint_secs=None,
save_summaries_steps=20) as session:
while True:
// do training
20ステップごとに要約を保存する必要があります。そして、ほとんどの場合、私の要約は救われないこともありますが、これは本当に問題です。
内部では、MonitoredSessionはSummarySaverHookクラスを作成します.n global_stepごとにbefore_run/after_runコールバックが1回呼び出されることが期待されます。それは事実のようです。
私が気づいたことは、コールバックが同じスレッドによって呼び出されていないことです。だから私はこれが問題の原因になると思っていますが、実際に何が起こっているのか分かりません。 。
私の質問には明確さが欠けて申し訳ありませんが、実際に何が起こっているのかを理解するのに苦労しています。誰もこれまでに似たような状況に陥っているのですか?
は
もう少しコンテキストを提供できますか?これを確実に再現できますか?もしそうなら、githubにバグを報告してください!ありがとう! – saeta