1. 程式人生 > >深度學習模型移植的移動端框架總結

深度學習模型移植的移動端框架總結

截止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