tf.train.SessionRunHook()クラスの詳細

1487 ワード

公式文書の定義は次のとおりです.
Sessionの1つの処理の初期化、回復とhooksの機能に類似します
Args:
  •   session_creator:返信を作成するためのChiefSessionCreator
  • を作成する
  •   hooks:tf.train.SessionRunHook()インスタンスのリスト
  • Returns:          
    MonitoredSessionのインスタンスです.
    Example usage:
    saver_hook = CheckpointSaverHook(...)
    summary_hook = SummarySaverHook(...)
    with MonitoredSession(session_creator=ChiefSessionCreator(...),
                          hooks=[saver_hook, summary_hook]) as sess:
        while not sess.should_stop():
            sess.run(train_op)

    初期化:MonitoredSessionを作成すると、次の操作が順次実行されます.
  • [Hooks]リストの各Hookのbegin()関数
  • を呼び出す
  • はscaffoldを通過する.finalize()完了図graphの定義
  • セッション
  • を作成
  • は、モデル
  • を初期化するためにScaffoldによって提供される初期化動作(op)を用いる.
  • checkpoint_が与えられた場合dirにcheckpointファイルが存在する場合、checkpointで変数
  • を復元する.
  • キュースレッド
  • を開始
  • はhookを呼び出す.after_create_session()

  •  
    Run:run()関数が呼び出されると、次の操作が順番に実行されます.
  • はhookを呼び出す.before_run()
  • 合併後のfetchesとfeed_dictはTensorFlowのセッションを呼び出す.run()(ここでは実際にtf.Sessionを呼び出す).run(fetches ,feed_dict))
  • はhookを呼び出す.after_run()
  • は、ユーザが必要とするセッションを返す.run()の結果
  • AbortedErrorまたはUnavailableErrorが発生した場合、run()を再実行する前にセッション
  • をリカバリまたは再初期化する.
    Exit:close()を呼び出して終了すると、次の手順に従います.
  • はhookを呼び出す.end()
  • キュースレッドqueuerunnersおよびセッションセッションセッション
  • を閉じる
  • monitored_セッションのコンテキストでは,すべての入力を処理したために投げ出されたOutOf Rangeエラーを抑制する.

  • 変換元:https://blog.csdn.net/MrR1ght/article/details/81006343