加入收藏 | 设为首页 | 会员中心 | 我要投稿 无忧刷机网 - 51刷机网 (https://www.51shuaji.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 苹果频道 > 苹果资讯 > 正文

深度 | 详解苹果Core ML:如何为iOS创建机器学习应用?

发布时间:2017-06-07 12:15:49 所属栏目:苹果资讯 来源:www.sohu.com
导读:原标题:深度|详解苹果CoreML:如何为iOS创建机器学习应用?选自developer.apple机器之心编译参与:吴攀在昨天开幕的WWDC2017开发者大会上,苹果宣布了一系列新的面向开发者的机器学习API,包括面部识别的视觉API、自然语言处...

Xcode 可以将该 Core ML 模型编译成一个资源(resource),其已经为设备上的运行进行了优化。这种优化了的模型的表示被包含在你的应用捆绑(app bundle)中,而且该应用在设备上运行时会使用这个模型来进行预测。

将训练好的模型转换成 Core ML

如果你的模型是使用支持的第三方机器学习工具创建和训练的,那么你可以使用 Core ML Tools(https://developer.apple.com/machine-learning)将其转换成 Core ML 模型格式。下表给出了支持的模型和第三方工具。

Core ML Tools 是一个 Python 包(coremltools),托管在 Python Package Index (PyPI) 上。要了解更多有关 Python 包的信息,请参阅:https://packaging.python.org

  

深度 | 详解苹果Core ML:如何为iOS创建机器学习应用?

1. 转换你的模型

使用对应你的模型的第三方工具的 Core ML 转换器转换你的模型。调用该转换器的 convert 方法,并将结果保存为 Core ML 模型格式(.mlmodel)。比如,如果你的模型是用 Caffe 创建的,那么将该 Caffe 模型(.caffemodel)转递给 coremltools.converters.caffe.convert:

import coremltools

coreml_model = coremltools.converters.caffe.convert('my_caffe_model.caffemodel')

然后将所得到的模型保存为 Core ML 模型格式:

coreml_model.save('my_model.mlmodel')

根据你模型的需要,你可能需要更新输入、输出和标签,或者你可能需要声明图像名、类型、格式。这些转换工具捆绑了更多文档,因工具不同,其提供的选项也有所不同。

2. 你也可以编写自定义的转换工具

当你需要转换一个不在上表中的格式的模型时,你也可以创建你自己的转换工具。

编写你自己的转换工具涉及到将你的模型的输入、输出和架构的表示(representation)翻译成 Core ML 模型格式。你需要定义该模型架构的每一层以及它们与其它层的连接。使用 Core ML Tools 提供的转换工具为例;它们演示了通过第三方工具创建的多种类型的模型被转换成 Core ML 模型格式的方法。

注:Core ML 模型格式是由一些协议缓冲文件(protocol buffer files)定义的,具体描述请参阅:https://developer.apple.com/machine-learning

Core ML API

这个文档包含了正在开发中的 API 和相关技术的初步信息。这些信息可能会发生变化,遵循这个文档实现的软件应该在最后的操作系统软件上进行测试。了解更多使用苹果 Beta 软件的信息,访问:https://developer.apple.com/support/beta-software/

在大多数案例中,你仅需要与你的模型的动态生成的接口进行交互,这些接口是 Xcode 自动生成的。你可以使用 Core ML API 直接支持自定义的工作流和高级的用例。比如,如果你需要做预测,同时异步地将输入数据收集到一个自定义的结构中,你可以通过采用 MLFeatureProvider 协议来使用该结构来为你的模型提供输入特征。

  

深度 | 详解苹果Core ML:如何为iOS创建机器学习应用?

更多有关GMIS 2017大会的内容,请点击「阅读原文」查看机器之心官网↓↓↓

责任编辑:

(编辑:无忧刷机网 - 51刷机网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读