首页 评论

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

 

将训练好的模型转换成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

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 协议来使用该结构来为你的模型提供输入特征。

官方微博/微信

每日头条、业界资讯、热点资讯、八卦爆料,全天跟踪微博播报。各种爆料、内幕、花边、资讯一网打尽。百万互联网粉丝互动参与,TechWeb官方微博期待您的关注。

↑扫描二维码

想在手机上看科技资讯和科技八卦吗?

想第一时间看独家爆料和深度报道吗?

请关注TechWeb官方微信公众帐号:

1.用手机扫左侧二维码;

2.在添加朋友里,搜索关注TechWeb。

手机游戏更多