iOS11新特性 之 Core ML [机器学习]

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

看到今年的WWDC推出一系列机器学习框架,激动的不行。其实iOS10就有 Accelerate and BNNS。都是更基础的API。 iOS11搭载了封装更好用的Core ML, 而且在Core ML还有封装了更为强大的图像识别处理库Vision, 文本处理的NSLinguisticTagger

iOS11新特性 之 Core ML [机器学习]

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的冠军。

iOS11新特性 之 Core ML [机器学习]
虽然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](
https://developer.apple.com/documentation/coreml/integrating_a_core_ml_model_into_your_app)

苹果提供了一个小Demo,run起来看比较简单啦, 加载本地的Model,只有3个feature,来预测火星探测器的价格。feature很少,模型也是逻辑回归,内存和cpu都没啥压力。
iOS11新特性 之 Core ML [机器学习]

Run完的交互UI,选完特征,输出价格:
iOS11新特性 之 Core ML [机器学习]

重点关注代码:
iOS11新特性 之 Core ML [机器学习]

图像处理Vision

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

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

图像识别、跟踪 (想想另一个刚出来的 ARKit中的跟踪是传感器跟踪,陀螺仪啦,陀螺仪跟踪消耗小容易跟丢,图像跟踪性能有挑战但更准);用于机器学习的图像特征提取、分类;文本识别;二维码检测和识别都来了。。。

性能

Core ML 号称特为移动设备做过性能优化。周末有空拿复杂的几个Model和Vision玩玩. 未完待续.....

上一篇:Oracle高可用之dataguard


下一篇:.NET 云原生架构师训练营(模块二 基础巩固 EF Core 查询)--学习笔记