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

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

看到今年的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

不过,第三方支持有限:

ModeltypeSupported modelsSupported tools
Neural networksFeedforward, convolutional, recurrentCaffe Keras 1.2.2
Tree ensemblesRandom forests,boosted trees, decision treesscikit-learn 0.18 XGBoost 0.6
Support vector machinesScalar regression, multiclass classificationscikit-learn 0.18 LIBSVM 3.22
Generalized linear modelsLinear regression, logistic regressionscikit-learn 0.18
Feature engineeringSparse vectorization, dense vectorization, categorical processingscikit-learn 0.18
Pipeline modelsSequentially chained modelsscikit-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都没啥压力。
image.png

Run完的交互UI,选完特征,输出价格:
image.png

重点关注代码:
image.png

图像处理Vision

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

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

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

性能

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值