TensorFlow2.0的架构
本章主要是阐述Tensorflow2.0的架构,并选取了两个重要的API进行简单介绍。
作为全球最受欢迎、使用最为广泛的机器学习平台之一,TensorFlow在其发展的三年时间也是机器学习和人工智能发展最为迅猛的三年。TensorFlow2.0是一个重要的里程碑,其重心放在了简单性和易用性上,尽量降低用户使用的门槛。TensorFlow团队为其添加了许多的组件,在TensorFlow2.0里,这些组件被打包成了一个全面的平台,它支持从训练到部署的标准化的机器学习流程。下图是TensorFlow2.0架构的简化概念图。
根据TensorFlow的官方文档我们将重点介绍一下“tf.data”和“tf.keras”这两个API。
1.使用tf.data加载数据——使用tf.data所创建的输入管道来读取训练数据,并可以通过tf.feature_column来指定特征列或者交叉特征。
2.使用tf.keras或Premade 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或者其他编程语言的交换格式。
- 点赞
- 收藏
- 关注作者
评论(0)