Python、テンソルフローでのフックの正確な意味を理解できませんでした
_LearningRateSetterHook(tf.train.SessionRun**Hook**):
ご説明いただければ幸いです。ありがとうございました
これは、フックとは何かについてのより一般的な質問である可能性があります。
フックは、プログラムの実行の特定のポイントに「フック」する方法を可能にするという意味で適切に名前が付けられています。したがって、コードの特定の部分が実行された後で、関数またはロギングをトリガーできます。
例として、あなたが言及したSessionRunHookの説明とそのドキュメントへのリンクをリストしました。具体的には、言及されたポイントに「フック」することができます。
SessionRunHooksは、トレーニングの追跡、進捗状況のレポート、早期停止のリクエストなどに役立ちます。 SessionRunHooksはオブザーバーパターンを使用し、次の時点で通知します。
session.run()
を呼び出す前session.run()
の呼び出し後SessionRunHookは、MonitoredSession.run()
への呼び出しを便乗させることができる再利用可能/合成可能な計算の一部をカプセル化します。フックは実行呼び出しにops-or-tensor/feedsを追加でき、実行呼び出しが正常に終了すると、要求された出力を取得します。フックはhook.begin()
のグラフに操作を追加できます。グラフは、begin()
メソッドが呼び出された後に確定されます。
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/training/session_run_hook.py