閱讀974 返回首頁    go 京東網上商城


iOS11新特性 之 Core ML [機器學習]

https://developer.apple.com/documentation/coreml

看到今年的WWDC推出一係列機器學習框架,激動的不行。其實iOS10就有 Accelerate and BNNS。都是更基礎的API。 iOS11搭載了封裝更好用的Core ML, 而且在Core ML還有封裝了更為強大的圖像識別處理庫Vision, 文本處理的NSLinguisticTagger

image.png

Core ML Model

是的,iPhone上將會出現大批的App在客戶端本地跑機器學習、深度學習的Model。其實Prisma, DJI-GO內部都有一些機器學習引擎,內置一些神經網絡模型。隻是現在,蘋果粑粑也要來參賽了。

蘋果說Core ML 支持很多種模型,神經網絡、集成學習、SVM、廣義線性模型。蘋果自己也提供了四個模型,都是經典, GoogLeNet是ILSVRC 2014的冠軍,22 層卷積神經網絡構成的模型,Google出品。CNN 架構——殘差網絡,微軟出品,ImageNet 競賽時達到了 3.57% 的誤差率。VGG Network,牛津大學出品,ILSVR(ImageNet)2014的冠軍。

image.png
雖然VGG16模型的500多M大小對移動開發看起來很嚇人,可以用GoogLeNet嘛。以後客戶端跑本地模型,大勢所趨...想象空間好大。

如果以前自己的模型是用第三方工具訓練出來的,也可以用蘋果工具Core ML Tools 做模型格式轉換. 對,它用Python寫的。一行命令安裝,隻是要注意依賴的包numpy和protobuf版本。

sudo pip install -U coremltools

不過,第三方支持有限:

Modeltype Supported models Supported tools
Neural networks Feedforward, convolutional, recurrent Caffe Keras 1.2.2
Tree ensembles Random forests,boosted trees, decision trees scikit-learn 0.18 XGBoost 0.6
Support vector machines Scalar regression, multiclass classification scikit-learn 0.18 LIBSVM 3.22
Generalized linear models Linear regression, logistic regression scikit-learn 0.18
Feature engineering Sparse vectorization, dense vectorization, categorical processing scikit-learn 0.18
Pipeline models Sequentially chained models scikit-learn 0.18

如何在客戶端本地使用Core ML Model

如何在客戶端本地集成Core ML Model

蘋果提供了一個小Demo,run起來看比較簡單啦, 加載本地的Model,隻有3個feature,來預測火星探測器的價格。feature很少,模型也是邏輯回歸,內存和cpu都沒啥壓力。
image.png

Run完的交互UI,選完特征,輸出價格:
image.png

重點關注代碼:
image.png

圖像處理Vision

Vision 看起來更6了。看看它的API。

https://developer.apple.com/documentation/vision

圖像識別、跟蹤 (想想另一個剛出來的 ARKit中的跟蹤是傳感器跟蹤,陀螺儀啦,陀螺儀跟蹤消耗小容易跟丟,圖像跟蹤性能有挑戰但更準);用於機器學習的圖像特征提取、分類;文本識別;二維碼檢測和識別都來了。。。

性能

Core ML 號稱特為移動設備做過性能優化。周末有空拿複雜的幾個Model和Vision玩玩. 未完待續.....

最後更新:2017-06-13 11:31:46

  上一篇:go  天貓超市進軍香港,天貓618次日達還包郵驚呆剁手黨
  下一篇:go  SQL Server 索引維護常用方法總結