将已训练模型转换为Core ML

将由第三方机器学习工具所创建的已训练模型,转换为 Core ML 模型格式。

概述

如果您已经使用了第三方机器学习工具来创建和训练模型,只要这个工具是受支持的,那么就 可以使用 Core ML Tools 或者第三方工具(如: MXNet converter 或者 TensorFlow converter)来将这些模型转换为 Core ML 模型格式。否则你只能自己创建转换工具。

使用Core ML Tools

Core ML Tools 是⼀一个 Python 包 (coremltools),并挂载在 Python Package Index (PyPI) 上。 要了了解关于 Python 包的更更多信息,请参阅 Python Packaging User Guide。

表 1 列出了我们支持的模型和第三方工具。

Table 1 

Models and third-party frameworks supported by Core ML Tools

 

Model type

Supported models

Supported frameworks

Neural networks

Feedforward, convolutional, recurrent

Caffe v1

Keras 1.2.2+

Tree ensembles

Random forests, boosted trees, decision trees

scikit-learn 0.18

XGBoost 0.6

Support vector machines

Scalar regression, multiclass classification

scikit-learn 0.18

LIBSVM 3.22

Generalized linear models

Linear regression, logistic regression

scikit-learn 0.18

Feature engineering

Sparse vectorization, dense vectorization, categorical processing

scikit-learn 0.18

Pipeline models

Sequentially chained models 

scikit-learn 0.18

 

模型转换

您可以使用 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 模型格式。 

coremltools.utils.save_spec(coreml_model, 'my_model.mlmodel')
 

根据您模型的不同,您可能会需要更新输入、输出以及相关的参数标签,或者您还可能会需要声明图片名称、类型以及格式。转换⼯具内置更详细的文档,因为可用的选项因工具而异。更详细的Core ML Tools参考:https://apple.github.io/coremltools/

或者,还可以编写自定义的转换工具

如果您需要转换的格式不在表 1 当中,那么您可以创建自己的转换工具。

编写自定义的转换工具,包括了将模型的输入、输出和架构表示转换为 Core ML 模型格式。 您可以通过将每一层模型架构,以及层之间的连接关系进⾏定义,来实现这个操作。您可以通 过 Core ML Tools 所提供的转换⼯工具作为参考;它们演⽰了如何将各种第三⽅工具创建的模型类型,转换为 Core ML 模型格式。

注意
Core ML 模型格式由一系列 Protocol Buffer文件所定义,具体信息请参见 Core ML Model Specification。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值