手把手 | 如何在你的iPhone上建立第一个机器学习模型(Apple最新CoreML框架入门)

本文介绍了如何利用Apple的CoreML框架在iPhone上构建机器学习模型,特别是通过开发一个垃圾短信分类app来实践。CoreML提供了一个简单接口,可以在iOS设备上无缝运行,同时利用CPU和GPU进行优化。文章涵盖了CoreML的背景、如何搭建开发环境、如何将预先训练的模型转换为CoreML的.mlmodel格式,以及如何在Xcode中构建和使用模型的详细步骤。此外,文章还讨论了CoreML的优缺点,如在设备上运行以保护用户隐私,但也指出其仅支持有监督学习和有限的模型训练能力。
摘要由CSDN通过智能技术生成

大数据文摘作品

作者:MOHD SANAD ZAKI RIZVI

编译:Happen,Chloe,笪洁琼,魏子敏


引言


作为一名数据科学家,我一直有一个梦想——顶级科技公司在与我相关的领域不断推出新产品。


如果你观看了Apple公司最新的iPhone X发布会,你会发现iPhone X具有非常酷的特性,比如FaceID、动态表情、增强现实,这些特性都使用了机器学习。作为一名骇客,我决定亲自上手探索一下如何建立那样的系统。


进一步调查后我发现了一个很有趣的工具,那就是Apple官方面向开发者推出的机器学习框架工具CoreML。它可以在iPhone、Macbook、Apple TV、Apple watch等任何一个苹果设备上使用。


另一个有趣的发现是Apple在最新的iPhone手机上设计了一个定制GPU,以及一个带有神经引擎的A11先进仿生学处理芯片,以便用于优化机器学习。


随着核心组件计算引擎功能日益强大,iPhone将开辟机器学习的新途径,CoreML在未来的意义将越来越重要。


读完这篇文章,大家将会了解Apple CoreML是什么以及为何它势头正猛。我们也将通过开发一款iPhone上的垃圾短信分类app来与大家一起一探CoreML的实现细节。


同时,我们也会通过客观评价CoreML的利弊来结束本篇文章。



文章目录:

1.CoreML是什么?

2.建立系统

3.案例学习:实现一个iPhone上的垃圾短信分类app

4.使用CoreML的利弊


01

CoreML是什么?



今年,Apple公司在每年一次的全球开发者大会WWDC(类似于谷歌的I/O会议)上大肆宣传CoreML。为了更好地理解CoreML的作用,我们需要了解一些背景。


CoreML的背景


有趣的是,这并不是Apple公司第一次发布移动端机器学习框架。去年它就发布了一些同样的框架库:


1.Accelerate 框架和基本神经网络子程序(BNNS)——高效利用CPU并使用卷积神经网络进行预测。


2.Metal Performance Shaders CNN(MPSCNN)——高效利用GPU并使用卷积神经网络进行预测。


这两个框架库的区别在于,一个针对CPU优化而另一个针对GPU。这是因为有时在inference(推断)过程中CPU比GPU计算更快,而在training(训练)过程中几乎每次都是GPU计算更快。


但为了提高性能,框架会非常接近底层硬件,使得这些混合框架对开发者造成混乱,从而很难编程。


走进CoreML



CoreML 会在之前提到的两个库上面提供一个抽象层,并且还会提供一个简单的接口,以达到同样的效率。另一个好处是,在我们的app运行时,CoreML充分照顾到了CPU与GPU之间的上下文切换。


换句话说,假如我们有一个耗内存的任务,它涉及文本处理(自然语言处理),CoreML将自动在CPU运行;而如果我们有一个计算繁重的任务,例如图像识别,它将使用GPU;当app包含这两种功能的时候,它又会自动切换从而使得两者都得到最大化的利用。



CoreML还将提供什么?


CoreML顶层还附带了三个库:


1.Vision:这个库提供了高性能图像分析与计算机视觉技术,用于人脸识别、特征检测以及图像与视频中的场景识别。


2.Foundation(NLP):顾名思义,它提供了自然语言处理的一些功能


3.Gameplay Kit:用于游戏开发的库,此外它还提供了AI,并运用决策树。


以上提到的所有库都可以用一些简单的接口轻松使用,可用于完成一系列任务。通过上述的库,CoreML最终框架图如下:



注意,上述设计给iOS应用程序提供了一个很好的模块化结构。你可以使用不同层进行不同的任务,也可以用多种方式使用它们(例如,在app中使用NLP进行图像分类)。了解更多:Vision、Foundation与GameplayKit。好了,现在我们有了足够的理论知识,是时候实践一下了!


“微信排版限制,需要代码的同学请看文末的原文链接自行查找”


02

建立系统


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值