在tensorflow中使用的hook的含义是什么

时间:2017-09-10 02:29:12

标签: python tensorflow machine-learning artificial-intelligence hook

我无法理解python中的Hook的确切含义,tensorflow

_LearningRateSetterHook(tf.train.SessionRun**Hook**):

如果你向我解释,我将不胜感激。 谢谢

1 个答案:

答案 0 :(得分:16)

这可能是关于什么是钩子的更普遍的问题。

Hooks的名称恰如其分,因为它们允许一种方式进入'程序执行的某些要点。因此,您可以在代码的某一部分执行后触发函数或记录。

举一个例子,我列出了你提到的SessionRunHook的描述及其文档的链接。它特别允许你勾选'进入上述要点。

SessionRunHooks可用于跟踪培训,报告进度,提前请求 停下来等等。 SessionRunHooks使用观察者模式并通知 以下几点:

  • 会话开始使用时
  • 在致电session.run()
  • 之前
  • 致电session.run()
  • 后 会议结束时

SessionRunHook封装了一段可重用/可组合的计算 可以捎带拨打MonitoredSession.run()。一个钩子可以添加任何 ops-or-tensor / feed运行调用,当运行调用成功完成时 获得它要求的输出。允许挂钩将操作添加到图中 hook.begin()。调用begin()方法后,图表将完成。

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/training/session_run_hook.py