974
京東網上商城
iOS11新特性 之 Core ML [機器學習]
https://developer.apple.com/documentation/coreml
看到今年的WWDC推出一係列機器學習框架,激動的不行。其實iOS10就有 Accelerate and BNNS。都是更基礎的API。 iOS11搭載了封裝更好用的Core ML, 而且在Core ML還有封裝了更為強大的圖像識別處理庫Vision, 文本處理的NSLinguisticTagger
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的冠軍。
雖然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
蘋果提供了一個小Demo,run起來看比較簡單啦, 加載本地的Model,隻有3個feature,來預測火星探測器的價格。feature很少,模型也是邏輯回歸,內存和cpu都沒啥壓力。
圖像處理Vision
Vision 看起來更6了。看看它的API。
https://developer.apple.com/documentation/vision
圖像識別、跟蹤 (想想另一個剛出來的 ARKit中的跟蹤是傳感器跟蹤,陀螺儀啦,陀螺儀跟蹤消耗小容易跟丟,圖像跟蹤性能有挑戰但更準);用於機器學習的圖像特征提取、分類;文本識別;二維碼檢測和識別都來了。。。
性能
Core ML 號稱特為移動設備做過性能優化。周末有空拿複雜的幾個Model和Vision玩玩. 未完待續.....
最後更新:2017-06-13 11:31:46