我无法理解python中的Hook的确切含义,tensorflow
_LearningRateSetterHook(tf.train.SessionRun**Hook**):
如果你向我解释,我将不胜感激。谢谢
这可能是关于钩子是什么的更普遍的问题。
钩子被恰当地命名,因为它们允许一种方式“钩入”程序执行的某些点。因此,您可以在代码的某个部分执行后触发函数或记录。
举个例子,我列出了你提到的SessionRunHook的描述以及它的文档链接。它特别允许您“钩住”上述点。
SessionRunHooks可用于跟踪培训,报告进度,请求提前停止等。 SessionRunHooks使用观察者模式并通知以下几点:
session.run()
之前session.run()
之后SessionRunHook封装了一段可重用/可组合的计算,可以捎带对MonitoredSession.run()
的调用。钩子可以向运行调用添加任何操作或张量/馈送,并且当运行调用成功完成时获取它请求的输出。允许钩子在hook.begin()
中将操作添加到图形中。调用begin()
方法后,图表将完成。
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/training/session_run_hook.py