TensorFlow 2.0终于迎来Release Candidate版本,新特性一览,附完整更新日志
本文转载自:专知
链接地址:http://mp.weixin.qq.com/s?src=11×tamp=1567181115&ver=1822&signature=t5n2AjpXgGKf51ckc386VEdV5Ie14eJaWVep6clBtpcP8VYfg9exhYWqXRHggLD4qpdXN-s2rUyw8ZHnoq97GfcEFdLIVvW9oibXrXlSXdvAFjwZKuCfBu85u0vp0k&new=1
【导读】经过长期的Alpha和Beta测试,TensorFlow 2.0终于迎来了rc(Release Candidate)版本。rc版本的大多数功能会被保留,最终作为TensorFlow 2.0正式版的功能。
TensorFlow官方对TF 2.0的宣传已经持续了很久,但TF 2.0却长期处于Alpha和Beta测试阶段,由于担心功能不稳定等因素,许多老用户一直不敢切换到TF 2.0。现在TF 2.0发布了2.0.0-rc0版本,新特性基本已经确定,用户们可以考虑切换到最新版本以体验TF 2.0给我们带来的友好的开发体验和强大的工程化特性。
根据 TF 2.0.0-rc0的发布日志,它包含的主要特性和提升有:
便捷的基于Keras和Eager Execution(动态图)的模型构建
在任何平台的产品中的鲁棒的模型部署
面向研究的强大的实验方法
通过减少重复API和移除废弃点获得的API简化
一些值得注意的特性:
TF 2.0将Keras作为核心的构建和训练模型的API。
TF 2.0可以用tf.distribute.Strategy API在最小代码改动的情况下实现分布式训练。
用Functions而不是Sessions。可以通过写普通Python函数加tf.function注解的方式来构建可以远程执行、序列化和性能优化的图。
统一tf.train.Optimizers和tf.keras.Optimizers。在TF 2.0中使用tf.keras.Optimizers。compute_gradients被从公共API中移除,现在用GradientTape来计算梯度。
AutoGraph将Python控制流翻译为TensorFlow表达式,允许用户在使用tf.function装饰的函数中使用普通的Python语句。
统一了SavedModel的交换格式。所有的TensorFlow生态圈项目(TensorFlow Lite, TensorFlow JS, TensorFlow Serving, TensorFlow Hub)都兼容SavedModels。
API变动:许多API被重命名或移除,或参数名被修改。许多改变的动机是考虑到一致性和清晰性。TF 1.x的API在compat.v1模块中依然可用。
API清理,包括tf.app、tf.flags和tf.logging,因为考虑到对absl-py的喜爱。
没有了全局变量,以及相应的帮助函数,比如tf.global_variables_initializer和tf.get_global_step。
附更新日志:
参考链接:
https://github.com/tensorflow/tensorflow/releases/tag/v2.0.0-rc0
《AI工匠BOOK》持续更新AI算法与最新应用,如果您感兴趣,欢迎关注AI工匠(AI算法与最新应用前沿研究)。