小米開源自研移動端深度學習框架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/maceMACE 文檔
鏈接: 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種方式載入:
- 模型圖和張量數據都是外部動態載入的(默認情況下,來自文件系統,但用戶可以自由選擇自己的實現,例如,使用壓縮或加密)。這種方法提供了最大的靈活性,但卻是最薄弱的模型保護。
- 模型圖和張量數據都轉換為C++代碼並通過執行編譯的代碼載入。這種方法提供了最強大的模型保護和最簡單的部署。
- 模型圖轉換為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的出現,還是一件很有意義的事情,國內能做深度學習框架開源的公司真不多!
(溫馨提示)國內有自研開源深度學習框架的公司有:
- PaddlePaddle(百度)
- Angel(騰訊)
- Other
小米開源MACE,這絕對是一件很正能量的事情,工業界和學術界都應該鼓勵和支持!就如左上角所示,有222位關注者,也說明了大家對這件事情的期待。
鏈接:
如何評價小米開源的移動端深度學習框架MACE?如何評價小米開源AI框架MACE?【論文速遞】專題回顧
[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公眾號!
http://weixin.qq.com/r/NioZAUbEpRvarQJi938k (二維碼自動識別)
推薦閱讀:
※我們都被騙了!小米8才是小米真正的殺手鐧
※戴不起勞力士不要緊,年輕人的第一次可以試試它
※小米6X真機真的很美!
※性價比首選,小米電視4A 55寸新品上市!
※小米小愛音箱 mini 深度評測:除了 99 元超低價,還有小米 IoT 巨大的野心
TAG:深度學習DeepLearning | 機器學習 | 小米產品 |