移动端深度学习框架对比(二. 分析与总结)

本文对比以下几种常见框架:
TF Lite,TEngine ,paddle lite ,mnn ,nnpack ,qnnpack ,ncnn ,FeatherCNN 以及MACE

本文为本人阅览资料总结而出,若对本文有任何疑问,欢迎评论区讨论,相互进步。

nnpack与qnnpack

从nnpack与qnnpack说起,两者均由facebook推出,常用于pytorch,caffe2中。与其说是完整的推理框架,不如说是两个加速库 Lib 更合适。

nnpack的加速原理是:用FFT与Winograd变换替换im2col的矩阵卷积操作。这确实会给大矩阵提供较大的加速,但缺点也十分明显:两种算法均仅能用于fp32,而不能用于int8以及二三值的模型,同时,只有较大kernel size时才能提供较大加速,这使得nnpack的提速领域十分受限。(当然也存在使两种算法应用于Int8的变式算法,在此不再赘述)。

qnnpack的加速原理是:间接卷积+GEMM,在推出后也同时发了文章。间接卷积,简单来说就是利用指针将矩阵数值间接引用出来使用,而不是原先im2col中直接copy,这样有效地减小了内存消耗并成功提速。
在这里插入图片描述
qnnpack与nnpack仅为库,而非完整的移动端框架,因此,若运用两者的推理框架中没有较好的图优化,算法优化等加速方法的话,速度一般是难以与其他专门为移动端设计的推理框架相比较的。

ncnn与FeatherCNN

ncnn与FeatherCNN均为腾讯推出,FeatherCNN来自腾讯AI平台部,ncnn来自腾讯优图。从目前的使用情况看来,ncnn的性能要在大部分场景下略好于FeatherCNN。

MNN vs NCNN vs MACE vs TF LITE vs Tengine vs PaddleLite

近些年各种移动端框架横空出世,其中包括百度的Paddle Lite,阿里的MNN,小米的MACE,腾讯的NCNN以及OPEN AI LAB的Tengine,看看这些框架与“老大哥” TF LITE 的对比吧。

MNN的开源时间较迟,据网友们反应,MNN确实具有“后起之势”,整体框架较为稳定,优化算法该有的都有,整体速度在官方数据上,也确实优于NCNN,MACE框架。

Paddle Lite褒贬不一,有人吹上天,也有人认为不好用。其中一大原因,我认为是框架不是很稳定:不用docker编译Paddle Lite的话,很难成功编译,也不晓得目前是否已经完善。但总体来说,paddle Lite也是非常优异的推理框架,这源于它迅速的推理速度。

MACE,NCNN两者开源得早,稳定性肯定是优于前两者的,若十分看中这一点,建议选择这两者。

Tegine的官方数据上,其推理速度是优于MNN的,但是由于Tegine目前仍然是部分开源,因此在此不多做评价。

TF LITE虽说是老大哥,但是推理速度确实不敢苟同,大多框架的数据对比,都会顺带上一个基准线:TF LITE,也可见在移动端推理上,Tensorflow有待改善。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值