专栏名称: 谷歌开发者
Google中国官方账号。汇集Android, Chrome, Angular等移动和网络开发技术、Google Play和AdMob等开发者成长、优化和变现平台。
目录
相关文章推荐
雷科技  ·  USB-C,太乱了!!! ·  昨天  
51好读  ›  专栏  ›  谷歌开发者

TensorFlow调试程序介绍

谷歌开发者  · 公众号  · 科技媒体  · 2017-03-02 19:31

正文

请到「今天看啥」查看全文


如果在第二阶段(即 TensorFlow 运行时)出现错误和缺陷,将难以进行调试。


要了解出现这种情况的原因,请注意对标准 Python 调试程序而言,Session.run() 调用实际上是单个语句,它并不会公开运行中图表的内部结构(节点及其连接)和状态(节点的输出数组 或 张量)。gdb 等较低级别的调试程序在组织堆叠框架和变量值时无法令其与 TensorFlow 图表操作产生关联。专业级运行时调试程序是 TensorFlow 用户最常提出的功能请求之一。


tfdbg 满足了这一运行时调试需求。让我们通过一段简短的代码来了解 tfdbg 的实用效果,这段代码的作用是建立并运行一个简单的 TensorFlow 图表,以通过梯度下降法拟合一个简单的线性方程。



正如本例中突出显示的线条所示,会话对象包装成一个用于调试的类 (LocalCLIDebugWrapperSession),因此调用 run() 方法会启动 tfdbg 的命令行界面 (CLI)。您可以利用鼠标点击或命令执行一遍连续运行调用,检查图表的节点及其属性,通过中间张量列表将图表中所有相关节点完整的执行历史记录可视化。通过使用 invoke_stepper 命令,您可以让 Session.run() 调用在“步进器模式”下执行,在这种模式下,您可以步进到自己选择的节点,观察并修改其输出,然后再执行进一步的分步调试,其运行方式与调试过程语言(例如 gdb 或 pdb)类似。







请到「今天看啥」查看全文