TensorFlow2.0标准化模型交换格式强化布署能力
由Google大脑开发而后开源的深度学习函数库TensorFlow,官方发布更多TensorFlow 2.0的消息,主要更新的大方向是要简化建模的程序,并强化了平台布署以及实验功能。新功能包括tf.keras、默认激活的Eager Execution以及布署函数库等,官方预计将会在今年初的时候发布公开预览版。
TensorFlow发展至今已经超过3岁,这过程TensorFlow新加入了许多组件,而在TensorFlow 2.0,这些组件将被打包成一个综合平台,以支持从训练到布署的机器学习工作流程。 TensorFlow 2.0主打的重点之一是让模型构建更加简单,最近类神经网络函数库Keras成为TensorFlow中央高阶API,能被用来构建和训练模型,官方认为,Keras API有助于TensorFlow的入门。 Keras提供了包括Sequential、Functional以及Subclassing等数种构建模型的API,开发者可以根据需求,选择适合的抽象层级用于项目中。
官方举例了使用Keras构建模型的工作流程,第一步可以使用tf.data载入数据,接着第二步以tf.keras构建、训练以及验证模型,官方提到,Keras与TensorFlow紧密集成,因此用户可以访问任何的TensorFlow功能,而且也可使用一系列标准套件模型,包括线性、逻辑回归或是梯度提升决策树等。如果不想从头开始训练模型,开发者也可以使用TensorFlow Hub的模块,接着训练Keras或是Estimator模型。
第三步以Eager Execution执行与调试,TensorFlow 2.0默认激活Eager Execution功能,开发者将能获得更流畅的调试体验,另外,tf.function也会将Python转换成TensorFlow图,以提供性能优化、远程执行、简易串列化、输出与布署等能力。
官方也提到,第四步开发者可以使用目前部分发布的分散策略(Distribution Strategy)API,执行大型机器学习任务,该API可以简化在不同硬件配置上分散训练模型的工作,而且不需要额外改变模型的定义。第五步则可以使用SavedModel输出模型,TensorFlow 2.0将会标准化模型成可交换格式,可在TensorFlow Serving、TensorFlow Lite、TensorFlow.js以及TensorFlow Hub等地方使用。
也由于在TensorFlow 2.0中,标准化交换格式以及一致的API,赋给模型更强大布署能力,提高了跨平台组件的兼容性。因此开发者从TensorFlow输出的模型,除了可以直接在应用程序中使用,也可以在TensorFlow Serving、TensorFlow Lite与TensorFlow.js等布署函数库中使用。
TensorFlow Serving允许模型以HTTP/REST或是gRPC/Protocol Buffers方式提供,而轻量级TensorFlow Lite针对行动与嵌入式设备,可在Android、iOS或是树莓派上布署模型。 TensorFlow.js则可以在JavaScript环境中布署模型,而TensorFlow也支持多种程序语言,现在有C、Java、Go、C#、Rust、Julia以及R等。
TensorFlow 2.0加入了一系列的功能,以帮助开发者快速的将想法转为程序代码,在不牺牲执行性能的情况下,定义和训练模型。 Keras Functional API以及Model Subclassing API,能让开发者创建复杂的拓扑,另外,开发者还可以自定义训练逻辑,使用tf.GradientTape和tf.custom_gradient对梯度计算进行精细度控制。
TensorFlow 2.0还加入了一些新功能,供研究人员和高端用户使用扩展进行实验,像是Ragged Tensors、TensorFlow Probability和Tensor2Tensor等。官方提到,结合Eager Execution、分散策略API以及AutoGraph,TensorFlow 2.0成为一个可高度自订,并且可扩展的平台。
TensorFlow 2.0与TensorFlow 1.x的差异,除了之前发布消息,将tf.contrib从TensorFlow存储库和构建程序中移除外,也改变了变数处理方式以及重命名部分API,另外也移除了队列执行器以及图集合。为了简化开发者从旧版本搬移到TensorFlow 2.0的步骤,官方发布转换工具,可以自动转换程序代码,并更换相对应的API,也会标记无法转换的程序代码。
另外,SavedModels和存储的GraphDefs将会向后兼容,也就是说TensorFlow 1.x输出的SavedModels将能继续于TensorFlow 2.x版本中使用。官方将继续为TensorFlow 1.x提供12个月的安全补丁,提供用户足够的过度时间。
相关文章
- 中国移动联通电信停止支持eSIM服务 运营商esim一号双终端最新进展消息!还会恢复吗?
- 华为新手机最新款2023即将新发布上市5G公认最好的折叠手机价格参数
- 抖音里的商城购物车怎么突然没有了?
- 苹果iPhone总销量公布:共卖出15亿台,卖得最好是哪一款?
- 华为首款5G折叠屏手机什么时候发布的 5G折叠屏手机详细配置参数处理器一览 手机笔记本双形态!
- 三星S10什么时候正式发布价格是多少钱?S10配置参数处理器屏幕外观详细分享 挖孔屏+顶尖屏幕,价格大部分人无法接受!
- 华为5G折叠屏手机什么时候在巴展发布价格是多少钱?5G折叠屏手机配置参数处理器详细分享
- 小米9和小米6很像,米9和米6的设计师是同一个人吗?似乎对米9的颜值多了一丝期待
- 2022年新低价荣耀Magic2乞丐版值得买入手吗?配置参数处理器怎么样
- 神舟RTX2060新品会在开学换新季迎来史上最低价吗?神舟RTX2060冰点价攻略