谷歌移動端神經網路架構MobileNet的CoreML實現
選自GitHub
機器之心編譯
作者:Matthijs Hollemans
參與:李澤南
6 月 5 日開幕的 WWDC 2017 開發者大會上,蘋果正式推出了一系列新的面向開發者的機器學習 API,包括面部識別的視覺 API、自然語言處理 API,這些 API 的背後都有 Core ML 機器學習框架的身影。蘋果軟體主管兼高級副總裁 Craig Federighi 在大會上介紹說,Core ML 致力於加速在 iPhone、iPad、Apple Watch 等移動設備上的人工智慧任務,支持深度神經網路、循環神經網路、卷積神經網路、支持向量機、樹集成、線性模型等。這一框架的易用性如何?大會之後,開源社區中很快就出現了有關 Core ML 的實現。
MobileNet 在 CoreML 上的實現
MobileNet 是谷歌在 2017 年 4 月發表的一項研究,它是一種高效、小尺寸的神經網路架構,適用於構建手機/移動設備上的低延遲深度學習應用,並可以完成多種不同任務。
CoreML 實現鏈接:https://github.com/hollance/MobileNet-CoreML
本實現是論文《MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications》中神經網路架構 MobileNet 的蘋果 CoreML 框架實現。它使用了 MobileNet-Caffe 中的預訓練內容。
想使用這個 app,請在 Xcode 9 中打開 MobileNetCoreML.xcodeproj,並在 iOS11 系統或同版本的模擬器中運行。目前,它只能用於預測貓的圖片,實時視頻的識別將在稍後加入(可以看看 Forge:https://github.com/hollance/Forge,一個用於 iOS10 的 Metal 神經網路工具包,和 MobileNet 共同使用可以處理視頻)。
模型遷移
這個版本已經包含了完整的 MobileNet.mlmodel,所以你不必遵循這一章節的所有步驟。當然,如果你希望嘗試,以下是如何將原版 Caffe 模型轉換到.mlmodel 文件中的方法:
1. 從 Caffemodel 文件中下載模型,放到本項目中的根目錄下。(注意,你不必下載 mobilenet_deploy.prototxt,它在本項目中已經存在。該實現作者還在尾部加入了一個原版缺失的 Softmax 層)
原 Caffe 實現連接:https://github.com/shicai/MobileNet-Caffe
2. 在終端加入如下代碼:
$ virtualenv -p /usr/bin/python2.7 env
使用/usr/bin/python2.7 設置虛擬環境非常重要,如果你在使用其他版本的 Python,則轉換腳本會崩潰——Fatal Python error: PyThreadState_Get: no current thread;同時,你需要使用 Keras 1.2.2 版本,而不是更新的 2.0 版。
3. 運行 coreml.py 腳本進行轉換:
$ python coreml.py
這會生成 MobileNet.mlmodel 文件。
4. 通過禁止 virtualenv 進行清理:
$ deactivate
論文:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
論文鏈接:https://arxiv.org/abs/1704.04861v1
摘要
我們提出了 MobileNets:一種用於移動端和嵌入式視覺應用的新模型。它基於一種流線型架構,使用深度可分離卷積方法來構建輕量級深度神經網路。我們引入了兩個簡單的全局超參數,可以在延遲和準確性之間找到平衡點。這些超參數允許模型開發者針對應用面臨的局限性選擇正確尺寸的模型。在 ImageNet 分類任務中,我們的模型具有資源消耗和精度的平衡性,並展示了頗具競爭力的性能。我們也展示了 MobileNets 在多種不同應用中的有效性,其中包括物體檢測、粒度分類、面部屬性和大規模地理定位。
MobileNets 可以應用於多種識別任務,讓設備實現智能化
※百度提出互動式學習方法:讓人工智慧代理在對話中學習說話
※深度學習C語言修改器DeepFix:用人工智慧加「;」
※關係推理超越人類:DeepMind全新神經網路推理預測技術
※基於Metal的框架Bender:可在iOS上運行TF模型
TAG:機器之心 |
※結合符號主義和DL:DeepMind提出端到端神經網路架構PrediNet
※NVMe Over Fabrics架構概述
※Salesforce架構師的網路最佳實踐
※語義分割網路DeepLab-v3的架構設計思想和TensorFlow實現
※Ceph存儲後端ObjectStore架構和技術演進
※結合符號主義和深度學習,DeepMind提出新型端到端神經網路架構 PrediNet
※斯坦福大學教授Christopher Manning提出全可微神經網路架構MAC:可用於機器推理
※ELK 架構之 Logstash和Filebeat 安裝配置
※Occipital推出MR架構和創作工具Bridge Engine
※Docker Harbor+Keepalived+LVS+共享存儲高可用架構
※乾貨分享!CynosDB for PostgreSQL 架構淺析
※使用Istio控制Serverless架構Fn Project中的函數間流量路由
※神話還是現實?Docker 和 Kubernetes 的完美架構
※談談微服務架構中的基礎設施:Service Mesh與Istio
※超越MnasNet、Proxyless:小米開源全新神經架構搜索演算法FairNAS
※ICLR 2018 | 斯坦福大學教授Christopher Manning提出全可微神經網路架構MAC:可用於機器推理
※緩存架構SpringBoot集成Curator實現zookeeper分散式鎖
※平台本身被變更!Intel基於Cascade Lake-SP架構的Xeon系列處理器泄漏
※兩種網路通信架構:socket與RPC
※Firefox 的User Agent 將移除 CPU 架構信息