小米開源自研移動端深度學習框架MACE

導言android

Mobile AI Compute Engine (MACE) 是一個專爲移動端異構計算平臺優化的神經網絡計算框架。MACE 支持 TensorFlow 和 Caffe 模型,提供轉換工具,能夠將訓練好的模型轉換成專有的模型數據文件,同時還能夠選擇將模型轉換成C++代碼,支持生成動態庫或者靜態庫,提升模型保密性。git




Mobile AI Compute Engine (MACE) github


Mobile AI Compute Engine (MACE) 是一個專爲移動端異構計算平臺優化的神經網絡計算框架。主要從如下的角度作了專門的優化:算法

  • 性能api

    • 代碼通過NEON指令,OpenCL以及Hexagon HVX專門優化,而且採用 Winograd算法來進行卷積操做的加速。 此外,還對啓動速度進行了專門的優化。數組

  • 功耗微信

    • 支持芯片的功耗管理,例如ARM的big.LITTLE調度,以及高通Adreno GPU功耗選項。網絡

  • 系統響應架構

    • 支持自動拆解長時間的OpenCL計算任務,來保證UI渲染任務可以作到較好的搶佔調度, 從而保證系統UI的相應和用戶體驗。框架

  • 內存佔用

    • 經過運用內存依賴分析技術,以及內存複用,減小內存的佔用。另外,保持儘可能少的外部 依賴,保證代碼尺寸精簡。

  • 模型加密與保護

    • 模型保護是重要設計目標之一。支持將模型轉換成C++代碼,以及關鍵常量字符混淆,增長逆向的難度。

  • 硬件支持範圍

    • 支持高通,聯發科,以及松果等系列芯片的CPU,GPU與DSP(目前僅支持Hexagon)計算加速。 同時支持在具備POSIX接口的系統的CPU上運行。


地址:https://github.com/XiaoMi/mace



MACE 文檔

連接: https://mace.readthedocs.io/en/latest/

打開MACE 在線文檔網頁,引入眼簾的是:

  • Getting started

  • Development

  • FAQ



這裏簡單介紹一下Getting started中的Introduction內容:


移動AI計算引擎(MACE)是一種針對移動異構計算平臺優化的深度學習推理框架。 下圖顯示了總體架構。




模型格式(Model format)


MACE定義了與Caffe2相似的自定義模型格式。MACE模型能夠由TensorFlow和Caffe的導出模型轉換。YAML文件用於描述模型部署詳細信息。在下一章中,有詳細的指導說明如何建立這個YAML文件。



模型轉換(Model conversion)


目前,咱們爲TensorFlow和Caffe提供模型轉換器。將來將支持更多框架。


模型加載(Model loading)


MACE模型格式包含兩部分:模型圖定義和模型參數張量。圖形部分使用協議緩衝區進行序列化。全部模型參數張量一塊兒鏈接成一個連續的字節數組,咱們在下面的段落中稱這個數組張量數據(array tensor data)。在模型圖中,記錄張量數據偏移和長度。


模型能夠經過3種方式加載:


  1. 模型圖和張量數據都是外部動態加載的(默認狀況下,來自文件系統,但用戶能夠自由選擇本身的實現,例如,使用壓縮或加密)。這種方法提供了最大的靈活性,但倒是最薄弱的模型保護。

  2. 模型圖和張量數據都轉換爲C++代碼並經過執行編譯的代碼加載。這種方法提供了最強大的模型保護和最簡單的部署。

  3. 模型圖轉換爲C++代碼並構造爲第二種方法,張量數據做爲第一種方法在外部加載。



MACE Model Zoo

隨着MACE一塊兒開源的還有MACE Model Zoo項目,目前包含了物體識別,場景語義分割,圖像風格化等多個公開模型。

連接: https://github.com/XiaoMi/mace-models

打開上述連接看到下述畫面,着實蠻震撼的!這裏簡單介紹一下部分現有的model:

  • CNN

    • inception-v1-v2-v3

    • resnet-v2-50

    • vgg16

    • mobilenet-v1-v2(輕量級)

    • squeezenet(輕量級)

  • 圖像分割

    • deeplab-v3-plus



MACE Demo

MACE 目前還提供了Android的示例程序,你們能夠下載編譯好的APK文件進行安裝,快速感覺一下MACE的魅力。

連接: https://cnbj1.fds.api.xiaomi.com/mace/demo/mace_android_demo.apk


Amusi 這不立刻就下載好,測試感覺一下,下面是測試結果。


Refrigerator



Laptop



Amusi 我的以爲識別率通常般,並且是隻輸出Top1的結果。識別速度嘛,還能夠吧,畢竟是魅族Mx6上跑CPU模式。若是換上驍龍845處理器的手機,應該...


如何評價小米開源的移動端深度學習框架MACE?


小米忽然開源了自家的深度學習框架,是否是在爲「上市」作準備呢?


讓咱們看一下知乎上大佬們怎麼看待這個事件?




截止2018-06-29,只有兩我的回答了該問題,你們的反映並非很熱烈,也許知道這件事情的人很少吧。但 Amusi 以爲MACE的出現,仍是一件頗有意義的事情,國內能作深度學習框架開源的公司真很少!


(舒適提示)國內有自研開源深度學習框架的公司有:


小米開源MACE,這絕對是一件很正能量的事情,工業界和學術界都應該鼓勵和支持!就如左上角所示,有222位關注者,也說明了你們對這件事情的期待。


連接: https://www.zhihu.com/question/283030623



若喜歡「深度學習與神經網絡」推送的文章,請掃描下方二維碼關注公衆號!



您好,歡迎關注深度學習與神經網絡。本公衆號會按期推送深度學習的教程以及人工智能最新發展狀況。感謝你們的支持!
回覆「教程」能夠看到最新的深度學習教程。
回覆「加羣」能夠加入深度學習交流羣。
投稿或合做請加微信:sdxxqbf

本文分享自微信公衆號 - AI MOOC人工智能平臺(AIMOOC_XLAB)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索