TensorFlow2.0的架构

qinggedada 发表于 2020/10/29 15:27:49 2020/10/29
【摘要】 本章主要是阐述Tensorflow2.0的架构,并选取了两个重要的API进行简单介绍。作为全球最受欢迎、使用最为广泛的机器学习平台之一,TensorFlow在其发展的三年时间也是机器学习和人工智能发展最为迅猛的三年。TensorFlow2.0是一个重要的里程碑,其重心放在了简单性和易用性上,尽量降低用户使用的门槛。TensorFlow团队为其添加了许多的组件,在TensorFlow2.0里,...

本章主要是阐述Tensorflow2.0的架构,并选取了两个重要的API进行简单介绍。

作为全球最受欢迎、使用最为广泛的机器学习平台之一,TensorFlow在其发展的三年时间也是机器学习和人工智能发展最为迅猛的三年。TensorFlow2.0是一个重要的里程碑,其重心放在了简单性和易用性上,尽量降低用户使用的门槛。TensorFlow团队为其添加了许多的组件,在TensorFlow2.0里,这些组件被打包成了一个全面的平台,它支持从训练到部署的标准化的机器学习流程。下图是TensorFlow2.0架构的简化概念图。

tf2架构tf2架构.png

根据TensorFlow的官方文档我们将重点介绍一下“tf.data”和“tf.keras”这两个API。

1.使用tf.data加载数据——使用tf.data所创建的输入管道来读取训练数据,并可以通过tf.feature_column来指定特征列或者交叉特征。

2.使用tf.kerasPremade Estimators构建、训练和验证模型作为TensorFlow的核心高级API。使用tf.keras可以简单、快捷地构建模型。

3.使用Eager Execution运行和调试模型,以及使用tf.function充分利用计算图的优势,在Eager Execution模式下,可以更加方便地编写和调试代码,在TensorFlow2.0中,该模式是默认开启的。我们可以使用tf.function来将Python程序转换为TensorFlow的静态计算图,这样就可以保留TensorFlow1.x版本中的静态计算图的优势。

4.使用Distribution Strategies进行分布式训练对于大规模的机器学习训练任务,tf.distribute.Strategy API旨在让用户只需要对现有的模型和代码做最少的更改就可以实现分布式的训练。TensorFlow支持CPU、GPU以及TPU等硬件加速器,可以将训练任务分配到单节点、多加速器及多节点或多加速器。

5.使用SavedModel存储模型在TensorFlow中有两种模型存储的格式:一个是检查点(Checkpoints),另一个是SavedModel,前者依赖于创建模型的源代码,而后者则与创建模型的源代码无关,因此标准化后的SavedModel可以作为TensorFlow Serving、TensorFlowLite、TensorFlow.js或者其他编程语言的交换格式。

基本结构介绍后,下一篇就是TensorFlow2.0的正式使用。敬请期待!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。