tensorflower delegate介绍

为什么要使用delegate

  • delegate是什么意思?
image-20221212144653727

性能优化的方法:

  1. 量化
  2. 剪枝
  3. 权重聚集
  4. 利用硬件加速器

其中,当我们使用硬件加速器的时候,可以获得相应硬件的特性,提高性能,降低功耗。但是硬件加速器有很多种,究竟该用哪一种,这么多种该如何管理。

怀揣着管理和维护加速委托的目的,这个时候delegate就应运而生。 本质是一种OP的实现管理机制。

如果说GPU的kenel, CPU的kenel,DSP的kenerl都实现了ADD这个OP,但是真正运行的实际,到底采用哪个硬件的的OP呢?

delegate就可以进行选择,在一个比如我有一个新硬件NPU,哪NPU实现的OP又该如何注册呢?这个时候还是delegate。

image-20221212142317176 image-20221212142335972 image-20221212144725848

如何使用delegate

说到这里的话,其实直接看官网的文档是最好的,这里列举二个官网源代码中的例子来说明。

TfLiteContext 一个接口,连接tflit delegate运行时的。

image-20221212142538185

  • 简单举例说明delegate工作原理

假设delegate 仅支持add op,在运行该模型的时候,run time的分割算法,会将node拆分成二个集合。一个是delegate,另一个则不是delegate。

image-20221212142905798

  1. 理由1:deletae
  2. 理由2:

之后:

image-20221212145031113

image-20221212143247810

image-20221212143404208

目前官网都有哪些delegate

硬件加速器的抽象层:NNAPI(Android)

image-20221212144919287 image-20221212143454376 image-20221212143545121 image-20221212143630248 image-20221212143725379

如何决定是否使用delegate

image-20221212143835177 image-20221212143854479 image-20221212143946239 image-20221212145237864

参考资料

【GITHUB】TensorFlow Lite C++ image classification demo

【DOC】TFLITE Delegate document

【DOC】TensorFlow Lite 委托

Delefate YouTobe

YouTube TFLITE delegate

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早睡的叶子

你的鼓励就是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值