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

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

來自專欄計算機視覺論文速遞9 人贊了文章

導言

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

新聞來源:微信公眾號CVer

編輯: Amusi

校稿: Amusi

Mobile AI Compute Engine (MACE)

Mobile AI Compute Engine (MACE) 是一個專為移動端異構計算平台優化的神經網路計算框架。主要從以下的角度做了專門的優化:

  • 性能
    • 代碼經過NEON指令,OpenCL以及Hexagon HVX專門優化,並且採用 Winograd演算法來進行卷積操作的加速。 此外,還對啟動速度進行了專門的優化。
  • 功耗
    • 支持晶元的功耗管理,例如ARM的big.LITTLE調度,以及高通Adreno GPU功耗選項。
  • 系統響應
    • 支持自動拆解長時間的OpenCL計算任務,來保證UI渲染任務能夠做到較好的搶佔調度, 從而保證系統UI的相應和用戶體驗。
  • 內存佔用
    • 通過運用內存依賴分析技術,以及內存復用,減少內存的佔用。另外,保持盡量少的外部 依賴,保證代碼尺寸精簡。
  • 模型加密與保護
    • 模型保護是重要設計目標之一。支持將模型轉換成C++代碼,以及關鍵常量字元混淆,增加逆向的難度。
  • 硬體支持範圍
    • 支持高通,聯發科,以及松果等系列晶元的CPU,GPU與DSP(目前僅支持Hexagon)計算加速。 同時支持在具有POSIX介面的系統的CPU上運行。

MACE github鏈接:

XiaoMi/mace?

github.com圖標

MACE 文檔

鏈接: mace.readthedocs.io/en/

打開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項目,目前包含了物體識別,場景語義分割,圖像風格化等多個公開模型。

鏈接: github.com/XiaoMi/mace-

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

  • CNN
    • inception-v1-v2-v3
    • resnet-v2-50
    • vgg16
    • mobilenet-v1-v2(輕量級)
    • squeezenet(輕量級)
  • 圖像分割
    • deeplab-v3-plus

MACE Demo

MACE 目前還提供了Android的示常式序,大家可以下載編譯好的APK文件進行安裝,快速感受一下MACE的魅力。

鏈接: cnbj1.fds.api.xiaomi.com

Amusi 這不馬上就下載好,測試感受一下,下面是測試結果。

Refrigerator

Laptop

Amusi 個人覺得識別率一般般,而且是只輸出Top1的結果。識別速度嘛,還可以吧,畢竟是魅族Mx6上跑CPU模式。如果換上驍龍845處理器的手機,應該...

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

小米突然開源了自家的深度學習框架,是不是在為「上市」做準備呢?

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

截止2018-06-29,只有兩個人回答了該問題,大家的反映並不是很熱烈,也許知道這件事情的人不多吧。但 Amusi 覺得MACE的出現,還是一件很有意義的事情,國內能做深度學習框架開源的公司真不多!

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

  • PaddlePaddle(百度)
  • Angel(騰訊)
  • Other

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

鏈接:

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

www.zhihu.com圖標如何評價小米開源AI框架MACE??

www.zhihu.com圖標

【論文速遞】專題回顧

[1] [計算機視覺論文速遞] 2018-06-23 CVPR 2018專場

[2] [計算機視覺論文速遞] 2018-06-19 目標檢測專場

[3] [計算機視覺論文速遞] 2018-06-15 人臉專場

[4] [計算機視覺論文速遞] 2018-06-13 圖像分割專場

【推薦文章】

[1] GitHub:目標檢測最全論文集錦

[2] 重磅 | 吳恩達的機器學習書籍又雙叒更新啦!

[3] 重磅:TensorFlow實現YOLOv3(內含福利)

[4] 重磅 | TensorFlow學習資料最全集錦

[5] 人工智慧 | 中國計算機學會推薦國際學術刊物/會議

[6] 計算機視覺 | 中國計算機學會推薦國際學術刊物/會議

[7] 深度學習的卷積演算法指南[1] 卷積和池化簡介

[8] 深度學習的卷積演算法指南[2] 卷積詳解

【CVPR 2018】專題

[1] 【CVPR 2018】979篇錄用論文合集下載

[2] CVPR 2018 獲獎名單:最佳論文和最佳學生論文共計5大獎項

[3] 谷歌CVPR 2018最全總結:45篇論文,Ian Goodfellow GAN演講PPT下載

若喜歡Amusi推送的文章,請掃描下方二維碼關注CVer公眾號!

weixin.qq.com/r/NioZAUb (二維碼自動識別)


推薦閱讀:

我們都被騙了!小米8才是小米真正的殺手鐧
戴不起勞力士不要緊,年輕人的第一次可以試試它
小米6X真機真的很美!
性價比首選,小米電視4A 55寸新品上市!
小米小愛音箱 mini 深度評測:除了 99 元超低價,還有小米 IoT 巨大的野心

TAG:深度學習DeepLearning | 機器學習 | 小米產品 |