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

简介: https://developer.apple.com/documentation/coreml#topics 看到今年的WWDC推出一系列机器学习框架,激动的不行。其实iOS10就有 [Accelerate](https://developer.apple.com/documentation/accelerate) and [BNNS](https://developer.appl

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

不过,第三方支持有限:

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都没啥压力。
image.png

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

重点关注代码:
image.png

图像处理Vision

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

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

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

性能

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

相关文章
|
3月前
|
存储 数据建模 iOS开发
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
32 1
|
3月前
|
定位技术 iOS开发
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
19 0
|
6月前
|
机器学习/深度学习 算法 数据挖掘
ML |机器学习模型如何检测和预防过拟合?
ML |机器学习模型如何检测和预防过拟合?
92 0
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
26 0
|
3月前
|
iOS开发
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
101 0
|
8月前
|
机器学习/深度学习 存储 算法
【使用机器学习和深度学习对城市声音进行分类】基于两种技术(ML和DL)对音频数据(城市声音)进行分类(Matlab代码实现)
【使用机器学习和深度学习对城市声音进行分类】基于两种技术(ML和DL)对音频数据(城市声音)进行分类(Matlab代码实现)
171 0
|
11月前
|
机器学习/深度学习 人工智能 算法
【机器学习】机器学习(ML)开发平台概述
【机器学习】机器学习(ML)开发平台概述
|
11月前
|
机器学习/深度学习 人工智能 算法
ML如何做科学发现?牛津大学268页博士论文详述科学机器学习内涵
ML如何做科学发现?牛津大学268页博士论文详述科学机器学习内涵
|
26天前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
81 3