专栏名称: 机器之心
目录
相关文章推荐
爱可可-爱生活  ·  优化思维:探索大模型推理能力的最佳计算规模 ... ·  23 小时前  
机器学习研究组订阅  ·  英伟达下场,首次优化DeepSeek-R1! ... ·  昨天  
黄建同学  ·  我的担心暂时是多余的 Cursor ... ·  昨天  
歸藏的AI工具箱  ·  Claude 3.7 Sonnet ... ·  2 天前  
歸藏的AI工具箱  ·  Claude 3.7 Sonnet ... ·  2 天前  
51好读  ›  专栏  ›  机器之心

TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了

机器之心  · 掘金  · AI  · 2018-09-21 06:51

正文

阅读 28

TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了

机器之心报道,作者:邱陆陆。

8 月中旬,谷歌大脑成员 Martin Wicke 在一封公开邮件中宣布,新版本开源框架——TensorFlow 2.0 预览版将在年底之前正式发布。今日,在上海谷歌开发者大会上,机器之心独家了解到一个重大的改变将会把 Eager Execution 变为 TensorFlow 默认的执行模式。这意味着 TensorFlow 如同 PyTorch 那样,由编写静态计算图全面转向了动态计算图。


谷歌开发者大会

在谷歌开发者大会的第二天,主会场全天都将进行 TensorFlow 专场的演讲。

来自 Google Brain 的软件工程师冯亦菲在分享 TensorFlow 编程接口的新动态时着重介绍了 tf.keras,tf.data 等高层库,总结了 TensorFlow 团队对开发者使用 TensorFlow 的一系列建议,包括:

  • 用 Eager 模式搭建原型

  • 用 Datasets 处理数据

  • 用 Feature Columns 提取特征

  • 用 Keras 搭建模型

  • 借用 Canned Estimators

  • 用 SavedModel 打包模型

其中,在介绍 Eager 模式时,她提到,在 TensorFlow 2.0 版本中,Eager 模式会成为默认执行模式,让开发者更简洁高效地搭建原型。

在演讲结束后的交流中,冯亦菲提到 TensorFlow 2.0 beta 版将会在今年年底公开,而正式版预计于明年 Q1 或 Q2 问世。Eager 模式变为默认设置之后,开发者可以在原型搭建完成后,利用 AutoGraph 把在 Eager 模式下搭建的模型自动变成计算图。开发者也可以进一步对 AutoGraph 生成的计算图进行优化,或者关掉 Eager 模式自己构建计算图。

我们注意到,在两个月之前刚刚发布的 AutoGraph 已经离开 tf.contrib 成为了正式的 TF 库的一部分,在设计文档中,工程师提到,「为了 TF 2.0 做准备,我们将 AutoGraph 从 tensorflow / contrib / autograph 移动到了 tensorflow / python / autograph。AutoGraph 仍可在 tensorflow.contrib.autograph 下访问,直到 tensorflow.contrib 被取消。」

谷歌开发者大会的「熟面孔」,Google AI 软件工程师金安娜同样出现在了今年的主题演讲中,她提到 TensorFlow 工程师会将自己的最新的设计提议放在 TensorFlow Community 的 Request for Comments 中,她鼓励开发者前往浏览,并针对工程师的最新设计思路给出自己的意见。

例如,Martin Wicke 关于 sunset tf.contrib 的提议就仍然在反馈阶段,有诸多开发者在该条 pull request 下提出了自己的意见。

RFC 的地址如下:

github.com/tensorflow/…

在今天下午的演讲中,会有更多来自谷歌的工程师分享与 Eager 模式相关的设计思路和设计细节。


TensorFlow 历程

TensorFlow 是由 Google Brain 团队在谷歌内部第一代 DL 系统 DistBelief 的基础上改进而得到的,这一通用计算框架目前已经成为最流行的机器学习开源工具。

TensorFlow 的前身 DistBelief 是谷歌 2011 年开发的内部 DL 工具,基于 DistBelief 的 Inception 网络获得了 2014 年的 ImageNet 挑战赛冠军。虽然 DistBelief 当时在谷歌内部已经应用于非常多的产品,但它过度依赖于谷歌内部的系统架构,因此很难对外开源。经过对 DistBelief 的改进与调整,谷歌于 2015 年 11 月正式发布了开源计算框架 TensorFlow 0.5.0。相比于 DistBelief,TensorFlow 的计算框架更加通用、计算资源安排更加合理,同时支持更多的深度学习算法与平台。

在 TensorFlow 开源后,基于 TF 的项目在第一年里面层出不穷:超过 480 人为 TF 做出了直接贡献,其中包括谷歌开发者、外部研究者、独立开发者、学生和其它公司的资深开发者。当时,TensorFlow 已经成为了 GitHub 上最受欢迎的机器学习项目。

在开源的第一年中,TensorFlow 增加了对分布式训练、iOS、树莓派开发板的支持,并且还与广泛使用的大数据架构相结合。此外,谷歌还发布了当时表现最好的图像分类模型 Inception-ResNet-v2,并且还回答了 GitHub、StackOverflow 和 TensorFlow mailing list 上数以千计的问题。

去年 2 月份在首届 TensorFlow 开发者大会中,谷歌正式发布了 TensorFlow 1.0。在速度上,它在 64 个 GPU 上分布式训练 Inception v3 获得了 58 倍提速。在灵活性上,TensorFlow 1.0 引入了高层 API,例如 tf.layers、tf.metrics 和 tf.losses 等模块,同时通过 tf.keras 将 Keras 库正式整合进 TF 中。

此后,TensorFlow 发布了非常多的重要更新,包括动态图机制 Eager Execution、移动端深度学习框架 TensorFlow Lite、面向 JavaScript 开发者的机器学习框架 TensorFlow.js,以及自动将 Python 转化为 TF 计算图的 AutoGraph 等。

在 TensorFlow 2.0 的规划中,Eager Execution 变为默认执行模式可能对开发者有比较大的影响,因为我们不再需要编写完整的静态计算图,并打开会话(Session)运行它。相反,与 PyTorch 一样,Eager Execution 是一个由运行定义的接口,这意味着我们在 Python 上调用它进行计算可以直接得出结果。这种方式非常符合人类直觉,因此可以预想 TensorFlow 的入门在以后会简单地多。







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