TensorFlowDebugger(tfdbg)命令行界面教程.PDFVIP

  • 213
  • 0
  • 约8.66千字
  • 约 7页
  • 2018-10-13 发布于湖北
  • 举报
TensorFlow Debugger(tfdbg)命令行界面教程:MNIST 用tfdbg包装TensorFlow会话 原文链接 : /programme 使用tfdbg调试模型训练 rs_guide/debugger tfdbg CLI常用命令 调试tf学习估计器 译文链接 : http://www.apache.wiki/pages/viewpag 离线调试远程运行的会话 e.action?pageId tfdbg CLI的其他功能 经常问的问题 贡献者 : 片刻 ApacheCN Apache中文网 (实验) TensorFlow调试器(tfdbg )是TensorFlow的专用调试器。它提供了运行TensorFlow图的内部结构和状态的可见性。从这种可见性获得的洞 察力应该有助于在训练和推理期间调试各种类型的模型错误。 本教程将展示tfdbg命令行界面(CLI)的功能,重点是如何调试TensorFlow模型开发中经常遇到的一种错误:导致培训失败的不良数值(nan s和infs)。 要观察此类问题,请运行以下代码,而无需调试器: python -m tensorflow.python.debug.examples.debug_mnist NNMNIST 抓住你的头,你怀疑训练图中的某些节点产生了不正确的数值,如infs和nans。TensorFlow的计算图模式使用Python等通用调试器调试这种 模型内部状态是不寻常的pdb。 tfdbg专门诊断这些类型的问题,并精确定位问题第一次出现的确切节点。 用tfdbg包装TensorFlow会话 为了在我们的示例中添加对tfdbg的支持,我们只需要添加以下三行代码,当--debug提供标志时,它将包含调用器包装器的Session对象包起 来: # Let your BUILD target depend on //tensorflow/python/debug:debug_py # (You dont need to worry about the BUILD dependency if you are using a pip # install of open-source TensorFlow.) from tensorflow.python import debug as tf_debug sess = tf_debug.LocalCLIDebugWrapperSession(sess) sess.add_tensor_filter(has_inf_or_nan, tf_debug.has_inf_or_nan) Session 在每次run()调用之前和之后启动基于终端的用户界面(UI) ,让您控制执行并检查图形的内部状态。 允许您为张量值注册特殊的“过滤器”,以便于诊断问题。 在这个例子中,我们正在注册称为张量滤波器 tfdbg.has_inf_or_nan ,其简单地确定是否有任何nan或inf在图形的任何中间张量的值。 (这个过滤器是我们与debug_data 模块一起运送的常见的用例 ) def has_inf_or_nan(datum, tensor): return np.any(np.isnan(tensor)) or np.any(np.isinf(tensor)) API DebugDumpDir.find() 使用tfdbg调试模型训练 让我们尝试训练模型再次启用调试。从上面执行命令,此时加--debug标志: python -m tensorflow.python.debug.examples.debug_mnist --debug run() 这就是我们所说的run-start

文档评论(0)

1亿VIP精品文档

相关文档