作者:TensorFlow
编译:ronghuaiyang
TensorFlow2.0将聚焦于易用性,Keras成为了推荐的模型构建API,还有大家可能更加关心的1.x到2.0的迁移的问题,这里给你个完整的解答。
多亏了一个令人难以置信的、多样化的社区,TensorFlow已经成长为世界上最受欢迎的ML平台之一,这个社区包括:
去年11月,TensorFlow庆祝了它的3岁生日回顾了多年来添加的特性。我们对另一个重要里程碑TensorFlow 2.0感到兴奋。
TensorFlow 2.0将专注于简单易用,并提供如下更新:
在过去的几年里,我们向TensorFlow添加了许多组件。使用TensorFlow 2.0,这些将打包到一个全面的平台中,支持从训练到部署的机器学习工作流。让我们用一个简化的概念图来看看TensorFlow 2.0的新架构,如下图所示:
在最近的一篇博客文章中,我们宣布Keras,一个用户友好的机器学习API标准,将成为用于构建和训练模型的核心高级API。Keras API使开始使用TensorFlow变得很容易。重要的是,Keras提供了几个模型构建api(顺序的、功能的和子类化的),因此你可以为你的项目选择正确的抽象级别。TensorFlow的实现包含增强功能,包括快速执行、即时迭代和直观调试,以及tf.data,用于构建可扩展的输入pipelines。
下面是一个工作流程示例(在接下来的几个月里,我们将更新下面链接的指南):
TensorFlow一直为生产提供直接的途径。无论是在服务器、边缘设备还是web上,TensorFlow都允许你轻松地训练和部署模型,无论使用何种语言或平台。在TensorFlow 2.0中,通过标准化交换格式和对齐的api,我们正在改进跨平台和组件之间的兼容性和对称性。
一旦你训练并保存了你的模型,你就可以直接在你的应用程序中执行它,或者使用其中一个部署库来提供服务:
TensorFlow还支持其他语言,包括 C, Java, Go, C#, Rust, Julia, R等等。
TensorFlow使新想法从概念到代码、从模型到发布变得容易。TensorFlow 2.0包含了许多特性,可以在不牺牲速度或性能的前提下定义和训练最先进的模型:
TensorFlow 2.0引入了一些新的扩展,允许研究人员和高级用户进行实验,使用了丰富的扩展,如Ragged Tensors、TensorFlow Probability、Tensor2Tensor等。
使用这些功能,TensorFlow提供执行简单的原型设计与调试,分布式策略API和自动图,并支持tpu ,使TensorFlow 2.0一个易于使用的,可定制的,高度可扩展的平台,以及进行先进的ML研究和翻译研究生产pipelines。
自从我们第一次开源TensorFlow以来,已经有了许多版本和API迭代。随着ML的快速发展,该平台已经得到了极大的发展,现在支持不同需求的不同用户组合。使用TensorFlow 2.0,我们有机会基于语义版本控制清理和模块化平台。
以下是一些更大的变化:
此外,将从核心TensorFlow存储库和构建流程中删除tf.contrib。TensorFlow的contrib模块已经超出了单个存储库中可以维护和支持的范围。较大的项目最好单独维护,而较小的扩展将逐步扩展到核心TensorFlow代码。已经成立了一个特别兴趣小组(SIG)来维持和进一步发展一些更重要的计划项目。如果您有兴趣投稿,请参与这个RFC。
为了简化到TensorFlow 2.0的迁移,将有一个更新TensorFlow 1的转换工具。使用TensorFlow 2.0兼容api的Python代码,或者标记代码不能自动转换的情况。
并不是所有的更改都可以完全自动完成。例如,一些不推荐的api没有直接对应的api。这就是为什么我们引入了TensorFlow .compat.v1兼容模块,它保留了对完整TensorFlow 1的支持。(不包括tf.contrib)。此模块将在TensorFlow 2的生命周期内进行维护。并将允许使用TensorFlow 1编写代码。保持功能。
此外,SavedModels或已存储的GraphDefs将向后兼容。SavedModels用1.x保存。将继续加载并在2.x中执行。但是,2.0中的更改将意味着原始检查点中的变量名可能会更改,因此使用包含已转换为2.0的代码的2.0前检查点并不保证能够工作。有关详细信息,请参阅Effective TensorFlow 2.0指南。
我们相信TensorFlow 2.0将给社区带来巨大的好处,并且我们已经投入了大量的努力使转换尽可能容易。然而,我们也认识到迁移当前的pipeline需要时间,并且我们非常关心社区在学习和使用TensorFlow方面的当前投资。我们将提供12个月的安全补丁到最后一个1.x。为了给我们现有的用户足够的时间进行转换,并获得TensorFlow 2.0的所有好处。
TensorFlow 2.0将在今年年初作为公众预览版发布。但是为什么要等呢?你已经可以使用 tf.keras以TensorFlow 2.0的方式进行开发了。keras和即时执行,预打包的模型和部署库,分布式策略API今天也已经部分可用。
我们对TensorFlow 2.0和即将到来的变化非常兴奋。TensorFlow已经从一个用于深度学习的软件库成长为一个适用于所有类型ML的完整生态系统。
英文原文:https://medium.com/tensorflow/whats-coming-in-tensorflow-2-0-d3663832e9b8
请长按或扫描二维码关注本公众号