第五部分:TensorFlowLite介绍

tensorflowLite是google推出的一个端侧深度学习模型、推理框架,关注业务本身模型的优化。tensorflowlite缩写简称tflite。
本章覆盖的知识点:

  • TensorFlow Lite简介
  • TensorFlow Lite的Android部署
  • TensorFlow Lite 的IOS部署
  • TensorFlow Lite与边缘智能

TensorFlow Lite简介

**特性:**轻量化、低延迟、隐私保护、高效模型、功耗节能、预训练模型。
TensorFlow lite的组件:
转换器(to TensorFlow lite format):将Tensorflow模型,转换为可被解释器有效可读的形式。引入优化功能,以提高二进制大小模型的性能和减少模型大小。
解释器(Core):支持多种平台(Android.iOS、嵌入式Linux和微控制器),用于加速推理的平台API。
架构:
第五部分:TensorFlowLite介绍_第1张图片
性能:
第五部分:TensorFlowLite介绍_第2张图片
tensorflow lite 支持采用一些设备的加速库或者API来加速任务的执行。

TensorFlow Lite Delegates加速方式:
第五部分:TensorFlowLite介绍_第3张图片
它为tflite 提供了一下计算专用模型推理算子的接口,比如:GPU、DSP,在这个tflite运行推理时,计算图会根据算子的Detegates的实际情况为不同的硬件分配任务,从而实现局部的算子加速。为此tflite还提供了一个支持实验性的delegates,它可以在GPU上加速模型。
具体内容链接:https://tensorflow.google.cn/lite/performance/gpu

关键技术:
第五部分:TensorFlowLite介绍_第4张图片
量化是指我原来有一般的神经网络,它用的是浮点数运算,当然也可以是低精度的八浮点位或16位的定点进行加速。
剪枝它能把模型的体积变得更小,利用了稀疏表示的方法实现把冗余的节点去掉。

为什么要进行量化处理?

  • 支持所有可用的CPU平台
  • 降低延迟和推理成本
  • 低内存占用率
  • 允许在受限或优化的硬件上执行定点操作
  • 专用硬件加速器(TPU)的优化模型
    总结:
    第五部分:TensorFlowLite介绍_第5张图片

TensorFlow Lite 的模型转换:

转换流程:
第五部分:TensorFlowLite介绍_第6张图片
前面课程里我们了解了tensorflow lite 的一些优点特性,它能够帮助我们在移动终端或者低功耗、嵌入式设备上运行机器学习,并且还提供了模型转换和优化的工具,这节我们将进一步了解tflite 转换工具,怎么把模型从tensorflow转换成tf lite的格式以及如何在转换过程中做一些简单的模型优化。
基本的转化流程:
先在tensorflow开发环境中训练出一个机器学习模型,并准备部署这个环境时往往会将模型以saved model的这种格式进行存储,然后我们tf lite converter 这个工具将模型转化到tf lite 的模型格式上,就可以在移动端的tf框架中运行这些模型。

模型转换的基本框架:
第五部分:TensorFlowLite介绍_第7张图片
两种不同类型机器学习的搭建接口:
一种是基于tf.Keras的高阶API,这套接口对算子的封装颗粒度比较大,适合快速验证训练环境对模型的影响的场景。
另一种是原生的底层的tensorflow的Api,这种api适合于对模型的层次修改比较深的场景。
对这两种接口提供了统一的模型格式Savedmodel,有利于将网络嵌套到任意的搭建的网络模型中。
参数转换接口:
第五部分:TensorFlowLite介绍_第8张图片
在tensorflow 中使用python搭建机器学习模型时,能够使用的模型参数和转换的函数接口,支持以上三种不同的格式转换。
SavedModel

  • TensorFlow 模型序列化的标准形式
  • 计算元图(MetaGraph)包含元数据(metadata)
  • 保存训练模型快照(包括权重参数和计算方式)
  • 无需模型构建代码
  • 支持模型版本控制
    提供了查看SaveModel的指令:
    第五部分:TensorFlowLite介绍_第9张图片
    第五部分:TensorFlowLite介绍_第10张图片
    第五部分:TensorFlowLite介绍_第11张图片
    Example 1 :
    第五部分:TensorFlowLite介绍_第12张图片
    第五部分:TensorFlowLite介绍_第13张图片
    Example 2:

第五部分:TensorFlowLite介绍_第14张图片
命令行的转换方式:
第五部分:TensorFlowLite介绍_第15张图片
Example 3:
第五部分:TensorFlowLite介绍_第16张图片
预测图片链接:https://medium.com/tensorflow/introducing-the-model-optimization-toolkit-for-tensorflow-254aca1ba0a3

代码如下:
第五部分:TensorFlowLite介绍_第17张图片
转换流程:
第五部分:TensorFlowLite介绍_第18张图片
Calibration进行量化。
第五部分:TensorFlowLite介绍_第19张图片
第五部分:TensorFlowLite介绍_第20张图片

TF-Select:
学习链接:https://tensorflow.google.cn/lite/guide/ops_select
第五部分:TensorFlowLite介绍_第21张图片

验证转化后的模型是否有效:

第五部分:TensorFlowLite介绍_第22张图片

你可能感兴趣的:(人工智能,tensorflow,机器学习,线性回归)