此前,Google 在 TensorFlow 开发者大会 (TensorFlow Dev Summit) 上发布了 TensorFlow 2.0 的 Alpha 版本。经过近 7 个月的努力,今天,TensorFlow 2.0 正式版现已推出!TensorFlow 2.0 由社区推动,社区的声音让 Google 了解到开发者需求的是一个灵活、强大且易于使用的平台,并且支持部署 TensorFlow 2.0 到任何平台上。TensorFlow 2.0 为开发者、企业与研究人员提供了一个全面的生态系统,以推动最先进的机器学习研究与构建大规模的机器学习应用。—— 同时,跨象乘云™ 也提供了 TensorFlow 2.0 的实战课程。
TensorFlow 2.0 让 ML 应用的开发变得更容易。Keras 与 Eager Execution 更紧密地结合至 TensorFlow 并成为默认选项,并以原生 Python 的方式执行函数,TensorFlow 2.0 让开发应用的体验变得更接近于原生 Python 开发。对于想要推进机器学习进步的研究人员,Google 在 TensorFlow 底层 API 上投入了大量精力:Google 暴露了内部使用的所有算子 (ops),并且为关键概念(如变量和 checkpoints)提供了可继承的接口。这允许开发者基于 TensorFlow 内部方法进行开发,而不必重新编译 TensorFlow。

为了能够在不同运行时环境(如云、Web、浏览器、Node.js、移动端以及嵌入式系统)中运行模型,Google 使用了标准化的文件结构 SavedModel 。让开发者在TensorFlow 中运行模型的同时,可以通过 TensorFlow Serving 部署模型,通过 TensorFlow Lite 部署至移动或嵌入式系统中,并且在浏览器或 Node.js 中使用 TensorFlow.js 训练和运行模型。
对于高性能训练场景,您可以使用 Distribution Strategy API 进行分布训练,修改少量代码并获得出色的开箱即用 (out-of-the-box) 性能。支持使用 Keras Model.fit 进行分布式训练,并支持自定义训练循环 (custom training loops)。此外,现已提供多 GPU 支持。
TensorFlow 2.0 在 GPU 性能提升上也作出了很多努力。TensorFlow 2.0 通过使用 Volta 与 Turing GPU 混合精度,仅需几行代码,即可提升 3 倍训练性能(可见ResNet-50 与 BERT 模型的示例)。TensorFlow 2.0 紧密结合了 TensorRT ,通过使用改进的 API,提升了 NVIDIA T4 Cloud GPUs 在谷歌云的可用性与性能。
在使用 TensorFlow 建模时,有效获取训练和验证数据至关重要。为此,Google 引入了 TensorFlow Datasets ,为包含多种数据类型(如图像、文本、视频等)的大量数据集提供了标准接口。
虽然 Google 仍保留了传统的基于会话(Session)的开发模式,但 Google 建议使用基于 Eager Execution 的更接近原生 Python 的开发模式。使用 tf.function 将代码转换为可远程执行、序列化和性能优化的计算图。此外,Autograph 还可以将常规的 Python 控制流直接转换为 TensorFlow 控制流。
当然,如果您使用过 TensorFlow 1.x 并正在寻找 2.0 的迁移指南,Google 也已经在此发布。TensorFlow 2.0 正式版还包含一个自动转换脚本以帮助您入门。
Google 内部及 TensorFlow 社区的许多用户进行了合作,以测试 TensorFlow 2.0 的功能,Google 为收集到的反馈感到高兴:如 Google News 团队在 TensorFlow 2.0 中使用了基于 BERT 的语言理解模型,该模型大大提高了报道的覆盖率。TensorFlow 2.0 提供的灵活且易于使用的 API,可快速将新想法落地。模型培训和服务已无缝集成到现有基础架构中。
此外,ML 不仅适用于 Python 开发者 —— 有了 TensorFlow.js,JavaScript开发者也可以使用 TensorFlow 进行训练和推理,并且我们也持续在 Swift 上进行投入,通过 Swift for TensorFlow 使其作为一种构建模型的语言。
还有很多值得介绍的功能,为了帮助大家快速了解这些新功能,我们为 TensorFlow 2.0 中的所有新功能创建了便捷指南。不仅如此,为了使 TensorFlow 2.0 入门更加容易,我们在还发布了使用2.0 API 的几种常用 ML 模型的参考实现。
快速上手:请尝试使用 Google Cloud’s Deep Learning VM Images —— 无需进行设置,预先配置的虚拟机即可帮助您构建 TensorFlow 2.0 深度学习项目。