禅世界论坛

<- 社交登陆。【论坛使用帮助】
这才是ai 谷歌重磅发布TensorF...
 
Notifications
Clear all

这才是ai 谷歌重磅发布TensorFlow 2.0正式版

1
1 Users
0 Reactions
1,986 查看
 Many
(@many)
Illustrious Member Admin Registered
已加入: 9 年 前
帖子: 12287
Topic starter  

谷歌重磅发布TensorFlow 2.0正式版,高度集成Keras,大量性能改进

 

作者:杜伟、一鸣

今年 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 赋能的应用提供便利。

 

 

 

视频:TensorFlow2.0正式版发布。
使用 TensorFlow 2.0 进行模型构建TensorFlow 2.0 使得 ML 应用的开发更加方便。借助于高度集成的 Keras、默认的 Eager Execution(一种命令式编程环境,可立即评估操作,无需构建图)以及 Pythonic 功能执行,TensorFlow 2.0 使得 Python 开发者能够尽可能地熟悉开发应用的经验。针对那些想要突破 ML 界限的研究者,谷歌在 TensorFlow 的低级 API 上投入了大量精力:现在可以导出内部使用的所有 ops,并提供关于变量和检查点等重要概念的可继承界面(inheritable interface)。

TensorFlow 2.0 在 GPU 上有很多性能改进。通过几行代码,并利用 Volta 和图灵 GPU 上的混合精度,TensorFlow 2.0 的训练性能最高提升 3 倍。TensorFlow 2.0 高度集成 TensorRT,并在谷歌云的英伟达 T4 云 GPU 的推理过程中通过改进的 API 实现更好的使用性和高性能。TensorFlow 中构建模型至关重要的一点是对训练和验证数据的有效访问。因此,谷歌推出了 TensorFlow Datasets,从而为包含图像、文本、视频等各类数据的众多数据集提供一个标准访问界面。TensorFlow Datasets 地址: https://www.tensorflow.org/guide/dataTensorFlow 2.0 虽然依然保留了传统的基于会话的编程模型,谷歌建议用户使用具有 Eager Execution 的常规 Python 开发。tf.function 装饰器可用于将代码转化为图,从而可以实现远程执行、序列化和性能优化。这得益于 Autograph 的补充,它可以将常规的 Python 控制流直接转化为 TensorFlow 控制流。Autograph 地址: https://www.tensorflow.org/guide/function当然,为了消除用户对于从 1.x 迁移到 2.0 版本的顾虑,谷歌推出了一份迁移指南。2.0 版本同时也包含了自动转换脚本,帮助用户进行迁移。指南地址: https://www.tensorflow.org/guide/migrate谷歌表示,在 TensorFlow2.0 的开发中,开发团队和其他合作伙伴进行广泛的沟通。例如,TensorFlow2.0 帮助谷歌新闻部门部署了一个 BERT 模型,显著减少了内存占用。同时,对于非 Python 语言的开发者而言,TensorFlow2.0 也提供了 TensorFlow.js ( https://www.tensorflow.org/js),官方表示 Swift 语言的版本也在开发中。为了方便初学者和开发者进行学习,官方在 deeplearning.ai 和 Udacity 都提供了相关教程。

deeplearning.ai 教程地址: https://www.coursera.org/learn/introduction-tensorflow

Udacity 教程地址: https://cn.udacity.com/course/intro-to-tensorflow-for-deep-learning--ud187

2.0 正式版有哪些更新

主要特性和改进

TensorFlow 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 tensorflow

GPU 版本为:

pip install tensorflow-gpu

示例代码因为使用 Keras 高级 API,TensorFlow2.0 的搭建和编译模型也非常简单,基本就是调用已有的成熟方法就行了。其中搭建模型架构可以像堆积木那样完成,编译只需要给定最优化器、损失函数和度量方法三个关键要素就行了。

下面,我们可以看看模型训练与评估的风格。没有 tf.Session()、没有 sess.run()、没有各种占位符的 feed_dict,一切都只要简单的一行代码。

 

训练完模型后,最后就是做推断了:

 

机器之心「SOTA模型」最新上线:15大领域、127个任务,机器学习 SOTA 研究一网打尽。



   
引用
Share:

【声明】:禅世界论坛尊重言论自由,任何人可讨论佛法、政经、生活和科技等话题。言论发表前请根据常识和法规自审。论坛管理员和版主有权删除任何不当内容。使用本论坛即表示接受【禅世界论坛规则】【论坛使用帮助】。 【禅世界免责声明】


【Chanworld.org】2017.06.06-2021.04.30-2025.04.10-MG-RM

用谷歌Google帐号等登录发帖和评论!了知社会是正念禅修的一部分。

欢迎各国朋友!把禅世界分享给您的亲朋好友!

将禅世界网站分享给您的亲朋好友,就是对我们的支持。谢谢。

您能影响这个世界!

 

×
退出移动版