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

问题描述 投票:11回答:1

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

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

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

python tensorflow machine-learning artificial-intelligence hook
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.