深度学习模型移植的移动端框架总结

截止2018年,主流移动端框架总结:

腾讯:ncnn与featurecnn对比,前者开源早,代码、文档完善;后者测试速度略微快一点

小米MACE:刚开源,可能会碰到很多问题

百度MDL:速度比ncnn慢

 

安卓 cpu类型:ARM,x86

ios cpu类型:ARM

 

1、 tensorflowLite

文档:https://tensorflow.google.cn/lite/ 

2、ncnn(腾讯)

如下是ncnn开源项目负责人nihui的采访:https://juejin.im/entry/599a5e136fb9a024a40430bb

a)       无任何第三方库

b)      纯c++实现,跨平台

c)       汇编级优化,计算速度极快 使用ARM NEON 指令实现卷积层,全连接层,池化层等大部分cnn关键层

d)      支持多核并行运算

e)       可扩展的模型设计,支持 8bit 量化和半精度浮点存储

f)        支持直接内存引用加载网络模型

g)      可注册自定义层实现并扩展

项目地址:https://github.com/Tencent/ncnn

3、MACE(Mobile AI Compute Engine ) 小米的开源框架

说明文档:https://mace.readthedocs.io/en/latest/

项目地址:https://github.com/xiaomi/mace

mdl、ncnn和tflite的对比:

相同点:

a. 只含推理(inference)功能,使用的模型文件需要通过离线的方式训练得到。

b. 最终生成的库尺寸较小,均小于500kB。

c. 为了提升执行速度,都使用了ARM NEON指令进行加速。

d. 跨平台,iOS和Android系统都支持。

不同点:

a. MDL和NCNN均是只支持Caffe框架生成的模型文件,而TfLite则只支持自家大哥TensorFlow框架生成的模型文件。

b. MDL支持利用iOS系统的Matal框架进行GPU加速,能够显著提升在iPhone上的运行速度,达到准实时的效果。而NCNN和TFLite还没有这个功能

4、paddle-mobile (百度)(老版称MDL)

项目地址:https://github.com/PaddlePaddle/paddle-mobile

猜你喜欢

转载自blog.csdn.net/weixin_41770169/article/details/85625443