深度 | 详解苹果Core ML:如何为iOS创建机器学习应用?
|
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
![]() 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 协议来使用该结构来为你的模型提供输入特征。
![]() 更多有关GMIS 2017大会的内容,请点击「阅读原文」查看机器之心官网↓↓↓ 责任编辑: (编辑:无忧刷机网 - 51刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


