首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈Apple Core ML 2和Google ML Kit

在2018年举行的苹果全球开发者大会(WWDC2018)上,苹果公司宣布了Core ML 2,这是一个用于iOS设备的机器学习软件开发工具包(SDK)新版本。但这并不是苹果一家的游戏——就在几个月前,谷歌曾宣布了一款面向iOS和安卓设备的跨平台人工智能SDK。这两种工具箱都旨在优化大型人工智能模型和数据集开发负担的开发工具。那么它们有什么不同呢?该如何选择呢?

Core ML

苹果的Core ML在2017年6月首次亮相,旨在提高开发者将机器学习模型集成到iOS应用的效率。Core ML 2的目的也是一样的,但是它更有效率:苹果表示Core ML 2速度快了30%,这要归功于批量处理预测,而且它可以将模型的大小缩小到75%。

Apple Core ML 2

然而,它并不完美。与Google的ML套件不同,它不是跨平台的(它不支持Android),而且它是一个绝对的离线服务——云托管的模型和版本控制需要像IBM的Watson Studio这样的第三方服务。

Core ML 2在其他方面也受到了限制。最新版本支持16位浮点数,这可以大大减少人工智能模型的大小。但是它不能将机器学习模型压缩到更小的包中,并且它不能在运行时更新模型。经过加工的模型被加载到苹果的Xcode开发环境中,并打包成应用程序包。

当然,这并不是要减少 Core ML的优势。它附带了四个基于现阶段流行的开源项目和转换器的预建机器学习模型,支持Facebook的Caffe和Caffe2、Keras、scikit-learn、XGBoost、LibSVM和Google的TensorFlow Lite。开发人员还可以为不受支持的框架创建自定义转换器

苹果也像开发者兜售Core ML的保密隐私优势,应用程序不需要通过网络传递数据,并且强调, Core ML是为了提高效率而优化的。

ML是一种新的gpu加速工具,在Mac电脑上进行人工智能模型训练,支持视觉和自然语言。而且因为它是用Swift编写的,开发者可以使用拖放式编程接口,比如Xcode Playgrounds来训练模型。

Google ML Kit

在今年5月举行的谷歌开发者大会上,谷歌推出了针对其Firebase移动开发平台的跨平台机器学习工具ML工具包。ML Kit在Android设备上使用了神经网络API,旨在压缩和优化移动设备的机器学习模型。

Google ML Kit

ML Kit和Core ML之间的主要区别是对设备和云api的支持。不像Core ML,ML Kit不能本地部署需要互联网接入的模型,ML Kit利用了Google云平台的机器学习技术来提高“增强”的准确性。例如,谷歌的设备图像标签服务有大约400个标签,而基于云的版本则有超过1万个。

ML Kit为基础使用者提供了一些易于使用的api:文本识别、人脸检测、条形码扫描、图像标记和地标识别。谷歌表示,新的API将于2018年晚些时候推出,其中包括一个支持应用内上下文息回复的智能回复API,以及一个带有高密度人脸轮廓的增强人脸检测API。

ML Kit 没有限制开发人员预先构建机器学习模型。使用TensorFlow Lite自定义模型,谷歌的轻量级离线机器学习框架,可以通过Firebase控制台部署ML工具包,(谷歌表示,他们还在开发一种压缩工具,可将完整的TensorFlow模型转换为TensorFlow Lite模型)。

开发人员可以选择将机器学习模型与应用程序分离,并在运行时为它们提供服务,从而减少应用安装规模的大小,确保模型始终保持最新。

ML Kit与Firebase功能类似,比如a/b测试,它允许用户动态测试不同的机器学习模型,以及存储图像标签和其他数据的Cloud Firestore。

哪一个更好?

那么,哪个机器学习框架占了上风呢?

各有所长吧。

当然,Core ML 2并不支持Android,熟悉谷歌Firebase的开发者可能更喜欢ML Kit。同样,Xcode用户可能倾向于使用Core ML 2。

也许两者之间最大的不同是第一方的即插即用支持:Google提供了大量预先构建的机器学习模型和api可供选择,包括用于上下文消息回复和条形码扫描的api;再看苹果,则更加开放。

所以,在Core ML 2和ML Kit之间进行选择主要是个人偏好的问题——以及开发人员是否更喜欢像Firebase这样从头到底的全面解决方案,或者像Create ML这样的零散化逐个开发的解决方案。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606A1S7FA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券