移动端深度学习框架小结

0. 更新

2019-05-30更新
移动端深度学习框架有两篇文章总结的很全面:

当前主流的移动端深度学习框架一览

深度学习轻量级推理及加速

----------------下方是原文------------------

1. 起因

昨天看到小米开源了深度学习框架MACE(https://github.com/XiaoMi/mace
看到它有几个特点:异构加速、汇编级优化、支持各种框架的模型转换。

整体来看,料很足,特别是异构的支持,非常有诚意。
有了异构,就可以在CPU、GPU和DSP上跑不同的模型,实现真正的生产部署,比如人脸检测、人脸识别和人脸跟踪,可以同时跑在不同的硬件上。小米支持的GPU不限于高通,这点很通用,很好,比如瑞芯微的RK3299就可以同时发挥出cpu和GPU的好处来。

看到知乎上也有讨论:如何评价小米开源AI框架MACE?

贴张图
image

2. 说说其它几款移动端深度学习框架

既然是移动端的框架,基本不支持训练,只支持前向推理。

2.1 SNPE

这是骁龙的官方SDK,不开源。主要支持自家的DSP、GPU和CPU。

由于对DSP的支持,使得骁龙在没有NPU的情况下没有被华为甩太远。而且只要后续DSP够强,甩开NPU也未可知。

2.2 腾讯的FeatherCNN和ncnn

这两个框架都是腾讯出的,FeatherCNN来自腾讯AI平台部,ncnn来自腾讯优图。

重点是:都开源,都只支持cpu

ncnn开源早点,性能上有微弱优势(当前是201806),用的人多点。FeatherCNN开源晚,底子很好。

github: FeatherCNN, ncnn

知乎讨论:

如何评价腾讯开源高性能神经网络计算库 FeatherCNN?

ncnn与tensorflow lite相比有什么特有什么特点?

image

2.3 百度的mobile-deep-learning(MDL)

我不是很了解,主要从知乎和github上了解的。
看样子是支持cpu和gpu的,没看到DSP。

开源地址:https://github.com/baidu/mobile-deep-learning

知乎讨论(如何评价百度刚刚开源的mobile-deep-learning?)上,有人说它有很重的抄袭caffe的痕迹。

2.4 阿里的mnn

MNN官网:https://www.mnn.zone/
特点包括:

  • 通用性 - 支持TensorFlow、Caffe、ONNX等主流模型格式,支持CNN、RNN、GAN等常用网络。 高性能 -
  • 极致优化算子性能,全面支持CPU、GPU、NPU,充分发挥设备算力。 易用性 -
  • 转换、可视化、调试工具齐全,能方便地部署到移动设备和各种嵌入式设备中。

感觉还不错

2.4 其它

在移动端,caffe、tensorflow lite都可以考虑,只是可能没有上门的框架效率高。

另外商汤有PPL框架,这个是企业自用没有开源,听听就好。

国内杭州九言科技的开源方案(github),用的人不多,可以参考。

3. 总结

上面的大部分框架都是主要面向android的,但是用于arm-Linux也是可以的。

现在越来越多的厂商开源移动端的深度学习框架,对于从业者是好事,有更多的选择,不用从头造轮子。

我个人比较欣赏ncnn和阿里的mNN。 同事使用小米的框架说资料少坑还多,不推荐。

相信将来会有更多的技术手段用于移动端部署深度学习网络,包括模型压缩、异构加速、汇编优化等。

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值