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

Sou*_*uck 12 python hook artificial-intelligence machine-learning tensorflow

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

_LearningRateSetterHook(tf.train.SessionRun**Hook**):
Run Code Online (Sandbox Code Playgroud)

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

Luc*_*ren 17

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

钩子被恰当地命名,因为它们允许一种方式"钩入"程序执行的某些点.因此,您可以在代码的某个部分执行后触发函数或记录.

举个例子,我列出了你提到的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