雷锋网 AI 科技评论按,虽然 TensorFlow 2.0 还没有正式发布,但日前,TensorFlow 团队发布一篇文章,宣布了 TensorFlow 2.0 里面将会有的新变化,雷锋网 AI 科技评论编译整理如下:
由于令人难以置信的多样化社区,TensorFlow 已经发展成为世界上最受欢迎和广泛采用的 ML 平台之一。这个社区包括:
研究人员(例如,
预测地震余震
和检测乳腺癌)
开发人员(例如,开发应用程序以识别患病植物和帮助人们减肥)
公司(例如,通过 eBay、Dropbox 和 AirBnB 改善客户体验)
其它
去年 11 月,TensorFlow 庆祝了它的第三个生日,并回顾了这些年来增加的功能。我们很高兴迎来了另一个重要的里程碑:TensorFlow2.0。
TensorFlow 2.0 将重点放在简单和易用性上,它做了以下更新:
用 Keras 建立简单的模型并执行
在任何平台上的生产中进行强大的模型部署
强大的研究实验
通过清除不推荐使用的 API 和减少重复来简化 API
在过去的几年中,我们在 TensorFlow 中添加了许多组件。在 TensorFlow 2.0 中,这些组件将被打包成一个综合性平台,支持从训练到部署的机器学习工作流。让我们用一张简化的概念图来看看 TensorFlow2.0 的新架构,如下所示:
注意:尽管本图的训练部分侧重于 Python API,但TensorFlow.js也支持训练模型。它不同程度地支持其它语言,这些语言包括:Swift、R 和 Julia。
简单的模型构建
下面是一个工作流示例(在接下来的几个月里,我们将努力更新下面链接的指南):
在任何平台上的生产中进行强大的模型部署
一直以来,TensorFlow 为生产提供了直接途径。无论是在服务器、边缘设备还是网络上,使用何种语言或平台,TensorFlow 都可以让您轻松地训练和部署模型。在 TensorFlow 2.0 中,我们通过标准化交换格式和调整 API 来改进平台和组件之间的兼容性和奇偶性。
一旦您训练并保存了模型,就可以直接在应用程序中执行它,或者使用部署库为其提供服务:
TensorFlow 还支持其他语言(一些由更广泛的社区维护),包括 C、Java、Go、C#、Rust、Julia、R 等。
强大的研究实验
TensorFlow 2.0 包含了许多功能,可以在不牺牲速度或性能的情况下定义和训练最先进的模型:
TensorFlow 1.x 和 2.0 之间的差异
此外,tf.contrib 将从核心 TensorFlow 存储库和构建过程中删除。TensorFlow 的 contrib 模块已经超出了在单个存储库中可以维护和支持的范围。较大的项目单独维护会更好,而较小的扩展将整合到核心 TensorFlow 代码。
兼容性和连续性
为了简化代码迁移到 TensorFlow 2.0 的过程,将有一个转换工具,它可以更新 TensorFlow 1.x Python 代码以使用与 TensorFlow 2.0 兼容的 API,并将无法自动转换的代码标记出来。
此外,SavedModel 和 GraphDef 将向后兼容。用 1.x 版本保存的 SavedModel 格式的模型将继续在 2.x 版本中加载和执行。但是,2.0 版本中的变更将意味着原始检查点中的变量名可能会更改,因此使用 2.0 版本之前的检查点(代码已转换为 2.0 版本)并不能保证正常工作。有关详细信息,请参阅 TensorFlow 2.0 指南。
TensorFlow 2.0 的时间线
TensorFlow 2.0 将于今年年初公开发布。但为什么要等到那个时候?您已经可以使用 tf.keras 和 Eager execution、预打包模型和部署库来进行 TensorFlow2.0 的开发。今天,部分分发策略 API 也已经可用。
我们对 TensorFlow2.0 和它即将带来的变化感到非常兴奋。TensorFlow 已经从一个用于深度学习的软件库成长为所有包括类型机器学习的整个生态系统。对所有平台上的所有用户来说,TensorFlow 2.0 将简单且易用。
雷锋网
领取专属 10元无门槛券
私享最新 技术干货