目に止まった分だけ。
tf.Session() と tf.InteractiveSession()
違いがわからなかったが、こちらが解決してくれた。tf.train.Supervisorのmanaged_session()
公式によると、tf.train.Supervisor
は
モデルのチェックポイントとサマリ計算のためのヘルパークラスで、
訓練に必要な面倒をみてくれるCoordinator, Saver, SessionManagerなどのラッパー。
1.12ではdeprecatedなので代わりにtf.train.MonitoredTrainingSession
を使えとのこと。tf.train.MonitoredTrainingSession
MonitoredSession
を作る-
tf.train.MonitoredSession
公式によると、
初期化、リカバリ、フックを扱うセッションライクオブジェクト、とのこと。
初期化、実行、終了のタイミングで、それぞれチェックポイントから値をリストアしたり、フック関数を呼んだりしてくれるらしい。
tf.Sessionとは違って、- デフォルトセッションとしてセットしたり
- saver.saveに送ったり、
- tf.train.start_queue_runnersに送ったりできない