谷歌重磅发布TensorFlow 2.0正式版,高度集成Keras,大量性能改进
机器之心Pro
作者:杜伟、一鸣
今年 3 月份,谷歌在加州举办的 TensorFlow 开发者峰会(TensorFlow Dev Summit)上正式发布了 Tensorflow 2.0 Alpha 版。今天,谷歌推出 TensorFlow 2.0 正式版,真乃开发者社区的一大盛事。TensorFlow 2.0 安装指南:https://www.tensorflow.org/installTensorFlow 2.0 的发布得益于开发者社区的推动,他们想要拥有一个灵活且强大的易用平台,并且希望 TensorFlow 支持部署到任何平台。因此,TensorFlow 2.0 为开发者、企业和研究者提供了一个全面的工具生态系统,为他们推动机器学习领域(ML)的 SOTA 进展以及构建可扩展 ML 赋能的应用提供便利。
谷歌重磅发布TensorFlow 2.0正式版,高度集成Keras,大量性能改进
使用 TensorFlow 2.0 进行模型构建TensorFlow 2.0 使得 ML 应用的开发更加方便。借助于高度集成的 Keras、默认的 Eager Execution(一种命令式编程环境,可立即评估操作,无需构建图)以及 Pythonic 功能执行,TensorFlow 2.0 使得 Python 开发者能够尽可能地熟悉开发应用的经验。针对那些想要突破 ML 界限的研究者,谷歌在 TensorFlow 的低级 API 上投入了大量精力:现在可以导出内部使用的所有 ops,并提供关于变量和检查点等重要概念的可继承界面(inheritable interface)。

deeplearning.ai 教程地址:https://www.coursera.org/learn/introduction-tensorflow
Udacity 教程地址:https://cn.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187
2.0 正式版有哪些更新主要特性和改进
使用 Keras 和 eager 模式进行更新
在任何平台上都可以进行稳健的模型部署
性能更好的研究实验
简化多种 API
重大更新许多后端不兼容的 API 更新已经被清理,使得它们更为稳定,更改的 API 包括:tf.contrib 已经被移除,其功能已被并入核心的 TensorFlow 的 API 中;
tf.contrib.timeseries 在 TF distribution 的依赖已经被移除;
contrib 的相关索引已经被 tf.estimator.experimental.*替代。
tf.estimator:tf.keras.optimizers 代替了之前在 tf.estimator.DNN/Linear/DNNLinearCombined 中使用的 estimator——tf.compat.v1.train.Optimizers;
Estimator.export_savedmodel 已更名为 export_saved_model;
当保存模型时,Estimators 会自动去除默认的算子属性。如果需要使用默认属性用于模型,可使用 tf.compat.v1.Estimator;
特征栏已经更新,更适合 Eager 模式,并能够和 Keras 一起使用。
tf.keras:OMP_NUM_THREADS 不再被用于默认的 Keras 设置项了。要设置进程数量,可使用 tf.config.threading;
tf.keras.model.save_model 和 model.save 是默认的模型保存 API,但 HDF5 依然支持;
tf.keras.experimental.export_saved_model 和 tf.keras.experimental.function 被移除。请使用 tf.keras.models.save_model(..., save_format='tf') 和 tf.keras.models.load_model;
层设置默认为 float32,并自动按照输入进行调整。如果某一个模型使用的是 float64,在 2.0 中会直接被改成 float32,并提示:Layer 已被改变。要解决这个问题,可使用 tf.keras.backend.set_floatx('float64') 进行设置,或在每一层被构建的时候声明 dtype='float64'。
tf.lite:lite.OpHint, lite.experimental 和 lite.constant 都被移除了。
此外还有一系列 Bug 修复和其他改进。如何使用 TF 2.0安装用户可使用 pip 进行安装。CPU 版本为:pip install tensorflowGPU 版本为:
pip install tensorflow-gpu
示例代码因为使用 Keras 高级 API,TensorFlow2.0 的搭建和编译模型也非常简单,基本就是调用已有的成熟方法就行了。其中搭建模型架构可以像堆积木那样完成,编译只需要给定最优化器、损失函数和度量方法三个关键要素就行了。

下面,我们可以看看模型训练与评估的风格。没有 tf.Session()、没有 sess.run()、没有各种占位符的 feed_dict,一切都只要简单的一行代码。训练完模型后,最后就是做推断了:
机器之心「SOTA模型」最新上线:15大领域、127个任务,机器学习 SOTA 研究一网打尽。