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玩玩. 未完待续.....

相关文章
|
安全 Android开发 iOS开发
探索安卓与iOS开发的差异:平台特性与用户体验的深度对比
在移动应用开发的广阔天地中,安卓和iOS两大平台各占半壁江山。本文旨在通过数据驱动的分析方法,深入探讨这两大操作系统在开发环境、用户界面设计及市场表现等方面的差异。引用最新的行业报告和科研数据,结合技术专家的观点,本文将提供对开发者和市场分析师均有价值的洞见。
|
10月前
|
安全 Android开发 iOS开发
安卓与iOS的较量:技术特性与用户体验的深度解析
在移动操作系统的战场上,安卓和iOS一直占据着主导地位。本文将深入探讨这两大平台的核心技术特性,以及它们如何影响用户的体验。我们将从系统架构、应用生态、安全性能和创新功能四个方面进行比较,帮助读者更好地理解这两个系统的异同。
199 30
|
12月前
|
Android开发 Swift iOS开发
探索Android与iOS开发的差异性:平台特性与用户体验的深度剖析
【7月更文挑战第27天】在移动应用开发的广阔天地中,Android和iOS两大阵营各自占据半壁江山。本文将深入探讨这两个平台在开发过程中的关键差异,从编程语言、工具集到用户界面设计原则,以及它们如何影响最终的用户体验。通过对比分析,我们将揭示每个平台的独特优势,并讨论如何在这些差异中寻找平衡点,以实现跨平台的成功。
|
8月前
|
数据安全/隐私保护 iOS开发 开发者
iOS 14隐私保护新特性深度解析####
随着数字时代的到来,隐私保护已成为全球用户最为关注的问题之一。苹果在最新的iOS 14系统中引入了一系列创新功能,旨在增强用户的隐私和数据安全。本文将深入探讨iOS 14中的几大隐私保护新特性,包括App跟踪透明度、剪贴板访问通知和智能防追踪功能,分析这些功能如何提升用户隐私保护,并评估它们对开发者和用户体验的影响。 ####
|
8月前
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
169 9
|
8月前
|
安全 定位技术 数据安全/隐私保护
深入探索iOS 15新特性:用户体验与隐私保护的革新
本文将深入探讨苹果公司最新操作系统iOS 15带来的创新功能,特别是那些对用户日常体验和数据隐私产生重大影响的特性。我们将重点分析FaceTime的新功能、通知管理的改进、以及隐私保护的增强措施,展示这些更新如何提升用户的生活质量和信息安全。
|
10月前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
495 6
|
10月前
|
安全 Android开发 iOS开发
安卓与iOS的较量:技术特性与用户体验的深度剖析
在移动操作系统的战场上,安卓和iOS一直是两个重量级选手。本文将深入探讨两者的技术架构、安全性、应用生态以及用户体验等方面的差异,并尝试从用户和开发者的角度出发,分析这两个系统的优势与不足。通过比较,我们不仅能更好地理解各自的特点,还能洞察未来移动技术的发展趋势。
153 3
|
9月前
|
开发工具 Android开发 iOS开发
移动应用开发的艺术:探索Android与iOS的操作系统特性
【9月更文挑战第33天】在数字时代的浪潮中,移动应用已成为我们日常生活不可或缺的一部分。本文将深入探讨两个主流移动操作系统——Android和iOS——的独特特性,并分析它们如何影响移动应用的开发过程。我们将通过比较这两个系统的设计哲学、用户界面(UI)设计、开发工具以及市场策略,来揭示开发者如何在这些不同的平台上打造出色的用户体验。无论你是开发者还是对移动技术感兴趣的读者,这篇文章都将为你提供宝贵的见解。
|
12月前
|
Android开发 Swift iOS开发
探索Android与iOS开发的差异:平台特性与用户体验
【7月更文挑战第30天】在移动应用开发的广阔天地中,Android与iOS两大平台各自展现出独特的魅力与挑战。本文将深入探讨这两个操作系统在开发环境、编程语言、用户界面设计以及发布流程等方面的主要差异,旨在为开发者提供一个清晰的对比视角,帮助他们根据项目需求和目标受众做出更明智的开发决策。
106 13

热门文章

最新文章