您好、欢迎来到现金彩票网!
当前位置:秒速牛牛官方网站 > 调试模型 >

业界 谷歌发布tfdbg:让TensorFlow机器学习模型调试更简单

发布时间:2019-07-17 09:36 来源:未知 编辑:admin

  原标题:业界 谷歌发布tfdbg:让TensorFlow机器学习模型调试更简单

  随着 2 月 16 日谷歌开发者大会上 的发布,这一最流行的深度学习框架迈进了新的时代。昨天,谷歌宣布开源 TensorFlow Debugger,一个专用于调试TensorFlow 代码的新工具,希望以此让开发者们能够更轻松地构建机器学习项目。

  TensorFlow 是谷歌开源的机器学习框架,它基于数据流图。构建一个典型的 TensorFlow 机器学习项目需要经历两个步骤:

  为了了解这种情况,请注意标准的 Python debugger,Session.run() 调用是一个单独的语句,不会暴露流图的内部结构(节点及其连接)和状态(输出数组或节点的张量)。一些低级的 debugger,如 gdb 无法理解 TensorFlow 流图的堆栈结构和变量值。所以,一个专用的运行环境调试器(debugger)是目前 TensorFlow 用户所急需的工具。

  tfdbg 的出现完美解决了运行环境调试器的需求。让我们看看它在一个简短的,用于运行简单线性方程梯度下降的代码片段中的表现。

  正如代码高亮处所示,会话对象被包装为 debugging(LocalCLIDebugWrapperSession),因此调用 run() 方式将启动 tfdbg 的命令行界面(CLI)。使用鼠标点击或输入命令,你可以继续进行连续调用,检查流图节点和它们的属性,通过中间张量显示流图中执行所有相关节点的完整历史记录。通过使用 invoke_stepper 命令,你可以在「步进模式」中执行 Session.run() 调用。在该模式下,您可以跳转到所选节点,观察和修改它们的输出,然后继续检查下一步,这类似于程序语言的 debug(就像在 gdb 或 pdb 中)。

  在开发 TensorFlow 机器学习模型时,我们经常会遇到的问题是由于溢出、被零除、log0 等情况下出现的错误值(无穷大和 NaN)在大型 TensorFlow 流图中,寻找这样的错误是费时费力的。但现在通过 tfdbgCLI,你可以很快地找到罪魁祸首。以下视频展示了如何使用 tfdbg 解决神经网络代码中的无穷大/NaN 问题。

  相比于其他 debug 选择,比如 Print Ops,tfdbg 需要更少的代码行变化,还能提供对 graph 更全面的覆盖,以及更交互的 debug 体验。tfdbg 能够加速模型开发、debug 工作流程。它还提供了其他的特征,比如对服务器环境中废弃张量(dumped tensors)的离线 debug,还有融合trib.learn 的特征。在你开始的时候,可以先浏览这一文档:

  摘要:可调试性在机器学习系统的开发中非常重要。包括 TensorFlow 和 Theano 在内的多个普遍使用的机器学习框架都是基于数据流图的(dataflow graph)。虽然数据流图能提供分布式训练这样的便利,但这种范式也使得模型问题的 debugg 相比于传统的程序式模型的 debugg 更难。在此论文中,我们提出了 TensorFlow Debugger(tfdbg) 设计,为 TensorFlow 中的机器学习模型专门设计的 debugger。tfdbg 提供的特征包括检验运行时数据流图和媒介图形元素(张量,trensors),以及模拟在图上的步骤。我们将会讨论该 debugger 在开发和测试使用案例中的应用。

http://sec-ir.com/diaoshimoxing/607.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有