常用移動端深度學習框架

2021-09-05 01:20:23 字數 2507 閱讀 8105

深度學習發展很快,最近又出現了幾個新的移動端前向框架,例如tengine和 tvm.

我們還沒有對這兩個框架進行深入研究,但是在對應的wiki中,可以看到這兩個框架的速度對於現有框架都具有一定優勢,通過短暫的了解,tengine還是很不錯的,支援op跟模型種類都比較豐富,還支援gpu運算。感興趣的讀者可以多了解一下。

---------------- 2018.12.07 分割線 ----------------

各大公司開源了自己的移動端深度學習框架,其中包括tensorflow lite、caffe2、mace、paddle-mobile(mdl)、feathercnn、ncnn等。我們參考開源的測試結果,結合自己整理的資料,針對主流的異動單深度學習框架進行簡單對比及介紹。

框架機構

支援平台

cpu:kryo&2.15ghz*2 (ms)框架

squeezenet_v1.1

mobilenet_v1

resnet18

ncnn

47.64

68.71

142.28

feathercnn

36.39

58.92

100.13

mace

42.37

65.18

160.7

2. paddle-mobile (mdl)

cpu:高通835 (ms)框架

squeezenet

mobilenet_v1

googlenet_v1

1 thread

82.41

105.43

341.25

2 threads

56.17

62.75

233.35

4 threads

36.45

37.13

158.55

框架整合成本

庫檔案大小

模型支援程度

文件完整程度

速度caffe2

一般良好

優秀良好

一般tf_lite

一般良好

優秀良好

優秀mace

良好優秀

良好良好

優秀mdl

優秀優秀

良好良好

良好feathercnn

良好優秀

良好良好

優秀ncnn

優秀優秀

良好優秀

優秀移動端的框架,基本不支援訓練,只支援前向推理。

重點是:都開源,都只支援cpu

ncnn開源早點,文件、相關**豐富一些,使用者相對多一些。feathercnn開源晚,底子很好,從測試結果看,速度具有微弱優勢。

mdl可以支援cpu和gpu,fpga在開發中。

3.小公尺的 mace

它有幾個特點:異構加速、彙編級優化、支援各種框架的模型轉換。

小公尺支援的gpu不限於高通,這點很通用,很好,比如瑞芯微的rk3299就可以同時發揮出cpu和gpu的好處來。

4.其它

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

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

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

5.總結

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

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

相信將來會有更多的技術手段用於移動端部署深度學習網路,包括模型壓縮、異構加速、彙編優化等。

針對目前開源的移動端深度學習前向框架,結合我們使用、測試的結果,我們推薦以下幾個框架。

1.ncnn

第乙個高效使用的移動端開源庫,支援模型豐富,更新快,文件逐漸完善,被大家採用較多,遇到坑相對少。

2.mace

效能優秀,支援gpu,但是剛剛開源,可能會遇到一些開發問題。

3.mdl移動端深度學習框架小結

ncnn效能分析

ncnn效能對比

mace、ncnn、feathercnn效能對比

移動端深度學習框架彙總

目前的主流移動端推理框架包括 名稱背景 廠家 底層簡述 tf lite google float型別呼叫eigen,int8型別呼叫gemmlowp core ml 蘋果cpu accelerate gpu metal performance shaders caffe2 facebook qnnp...

移動端DL框架 當前主流的移動端深度學習框架一覽

在這個專欄中,我們會介紹與移動端的模型訓練和部署有關的框架的使用。作者 編輯 言有三 深度學習模型要落地,比如要部署到手機等移動端平台,之前給大家介紹的用於訓練的框架就不能直接使用了,我們需要相應的移動端框架,目前國內外各大公司紛紛開源自家的框架。tensorflow lite使用android n...

移動端常用UI框架

作為乙個前端人員來說,總結幾款相對來說不錯的用於移動端開發的ui框架是非常必要的,以下幾種移動端ui框架就能基本滿足工作中開發需要,根據專案需求,選用合適的框架搭建專案,更能容易提高開發效率。一 mui mui不依賴任何第三方js庫,壓縮後的js和css檔案僅有100 k和60 k,鑑於之前的很多前...