1. 程式人生 > >移動端深度學習框架小結

移動端深度學習框架小結

1. 起因
昨天看到小米開源了深度學習框架MACE(https://github.com/XiaoMi/mace) 
看到它有幾個特點:異構加速、彙編級優化、支援各種框架的模型轉換。

整體來看,料很足,特別是異構的支援,非常有誠意。 
有了異構,就可以在CPU、GPU和DSP上跑不同的模型,實現真正的生產部署,比如人臉檢測、人臉識別和人臉跟蹤,可以同時跑在不同的硬體上。小米支援的GPU不限於高通,這點很通用,很好,比如瑞芯微的RK3299就可以同時發揮出cpu和GPU的好處來。

看到知乎上也有討論:如何評價小米開源AI框架MACE?

貼張圖 

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相比有什麼特有什麼特點?

2.3 百度的mobile-deep-learning(MDL)
我不是很瞭解,主要從知乎和github上了解的。 
看樣子是支援cpu和gpu的,沒看到DSP。

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

知乎討論(如何評價百度剛剛開源的mobile-deep-learning?)上,有人說它有很重的抄襲caffe的痕跡。

2.4 其它
在移動端,caffe、tensorflow lite都可以考慮,只是可能沒有上門的框架效率高。

另外據說支付寶有xNN的深度框架,商湯有PPL框架,這兩個都是企業自用沒有開源,聽聽就好。

國內杭州九言科技的開源方案(github),用的人不多,可以參考。

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

現在越來越多的廠商開源移動端的深度學習框架,對於從業者是好事,有更多的選擇,不用從頭造輪子。

我個人比較欣賞ncnn和小米的MACE,比較欣賞其異構加速能力,只是MACE剛開源,可能還有不少坑。

相信將來會有更多的技術手段用於移動端部署深度學習網路,包括模型壓縮、異構加速、彙編優化等。
--------------------- 
作者:yuanlulu 
來源:CSDN 
原文:https://blog.csdn.net/yuanlulu/article/details/80857211?utm_source=copy 
版權宣告:本文為博主原創文章,轉載請附上博文連結!