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

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

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

如何在客户端本地集成Core ML Model

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

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

重点关注代码:

图像处理Vision

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

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

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

性能

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

时间: 2024-09-19 09:24:38

iOS11新特性 之 Core ML [机器学习]的相关文章

在iOS11中使用Core ML 和TensorFlow对手势进行智能识别

在计算机科学中,手势识别是通过数学算法来识别人类手势的一个议题.用户可以使用简单的手势来控制或与设备交互,让计算机理解人类的行为. 这篇文章将带领你实现在你自己的应用中使用深度学习来识别复杂的手势,比如心形.复选标记或移动设备上的笑脸.我还将介绍和使用苹果的Core ML框架(iOS11中的新框架). 在屏幕上随便划动两下,手机就会对复杂的手势进行实时识别 这项技术使用机器学习来识别手势.本文中的一些内容是特定于iOS系统的,但是Android开发者仍然可以找到一些有用的信息. 完成项目的源代码

iOS11开发新特性

索引 iOS11开发新特性之网络部分 前言 ECN 什么是 ECN ? ECN 的实现细节 IPv6 Networking stack changes 网络协议分层 MutliPath TCP NEDNSProxyProvider WKWebView Cookie 管理 URLSession Adaptable Connectivity API URLSessionTask Scheduling API iOS11开发新特性之Xcode9 新特性 功能更全的 Git 支持 创建新的颜色 asse

EntityFramework Core 1.1有哪些新特性呢?我们需要知道

前言 在项目中用到EntityFramework Core都是现学现用,及时发现问题及时测试,私下利用休闲时间也会去学习其他未曾遇到过或者用过的特性,本节我们来讲讲在EntityFramework Core 1.1中出现了哪些新特性供我们使用. EntityFramework Core 1.1新特性探讨 DbSet.Find 在EF 6.x中也有此方法的实现,在EF Core 1.1中也同样对此方法进行了实现,为什么要拿出来讲呢,当然也有其道理,我们一起来看看.在仓储中我们实现Find这个方法,

Oracle 12.2新特性掌上手册 - 第三卷 Core Improvements

编辑手记:Oracle 12.2 在内核上有许多创造性的改进,这些改进让数据库的操作更加高效便捷,同时一些面向智能运维和大数据的改进,则迈出了云和大数据时代的重要一步.在今年的DB-Engines的评选中,Oracle位居榜首,而我们从12.2的这些更新中便知道,Oracle是DBMS当之无愧的领导者. 注:文章内容来自官方文档翻译.若需要了解更多,请查阅官方文档. 1.Partition-Specific Near Real-Time Indexes(近实时索引的配置) 12.2中可以在分区级

开发者所需要知道的 iOS 11 SDK 新特性

年纪大了过了能熬夜看 WWDC 的时代了,但是还是在小小宝的哭闹和妈妈大人换尿布的催促中起了个大早.于是算趁着"热乎"把 WWDC 2017 的 Keynote 看完了.和往年差不多,虽然 WWDC 是一个开发者会议,但是 Keynote 并不是专门针对我们开发者的,它还承担了公司状况说明,新品发布等功能.作为技术人员,可能接下来的 session 会更有意义.要用一句话来评价今年 Keynote 所展现出来的内容的话,就是小步革新.大的技术方面可以说只有 ARKit 可堪研究,但是我

开发者所需要知道的iOS 11 SDK新特性

年纪大了过了能熬夜看 WWDC 的时代了,但是还是在小小宝的哭闹和妈妈大人换尿布的催促中起了个大早.于是算趁着"热乎"把 WWDC 2017 的 Keynote 看完了.和往年差不多,虽然 WWDC 是一个开发者会议,但是 Keynote 并不是专门针对我们开发者的,它还承担了公司状况说明,新品发布等功能.作为技术人员,可能接下来的 session 会更有意义.要用一句话来评价今年 Keynote 所展现出来的内容的话,就是小步革新.大的技术方面可以说只有 ARKit 可堪研究,但是我

Oracle Database 18c 的10大新特性一览

在 2017 Oracle OpenWorld大会上,关于 Oracle 18c 的一系列新特性已经被披露出来,借助分散在各个会场的公开分享主题和内容.OOW提供的PPT下载,我们和大家抢鲜分享一下 18c 中极具吸引力的新特性. 注意:标题里提到的10仅为约数,文章中提到的新特性不仅10个,分列也只是为了阅读便利,这些特性可能随着版本发布发生改变,仅供参考. 1.自治数据库 - Autonomous Database 首先,从最高级别上,Oracle 18c 将是一个『自治数据库 - Auto

Spark1.2新特性概述

[编者按]在2014年,Spark开源生态系统得到了大幅增长,已成为大数据领域最活跃的开源项目之一,当下已活跃在Hortonworks.IBM.Cloudera.MapR和Pivotal等众多知名大数据公司,更拥有Spark SQL.Spark Streaming.MLlib.GraphX等多个相关项目.那么如此多的关注下,Spark又会有什么样的变化,下面我们一起看Spark Contributor.Spark布道者陈超总结的Spark 1.2版本新特性: 下为原文 1.2居然真的在12月份发

神经网络API、Kotlin支持,那些你必须知道的Android 8.1预览版和Android Studio 3.0新特性

谷歌2017发布会更新了挺多内容的,而且也发布了AndroidStudio3.0预览版,一些功能先睹为快. 过去的五个月里, Kotlin一直是我们反复谈论的重点.现在要告诉大家的是,Android Studio 3.0可以将Kotlin添加到您的项目中了.最新版本的Android Studio在支持Java 8语言功能上得到了改进,另外一个亮点是,有了用于Gradle 3.0.0的Android插件. 好,下面步入正文. 曾仅用 55 秒发布会的 Android 8.0 Oreo 在时隔两个月