

图:苹果官网
概述
如果你的模型是由受第三方支持的机器学习工具创建和训练的,那么你就可以使用Core ML Tools将其转换至Core ML模型格式。下表列出了支持的型号和第三方工具。
注意
Core ML Tools是一个Python包(coremltools),托管在Python包索引(PyPI)上。 有关Python软件包的信息,请参阅“Python包装用户指南”。

表 Core ML Tools支持的模型和第三方工具
转换你的模型
使用与你模型的第三方工具相对应的Core ML转换器转换模型。 调用转换器的convert方法并将生成的模型保存到Core ML模型格式(.mlmodel)中去。
例如,如果你的模型是使用Caffe创建的,那么你就可以将Caffe模型(.caffemodel)传递给coremltools.converters.caffe.convert方法。

现在将结果模型保存在Core ML模型格式中。
依据你的模型,你可能需要对输入、输出和标签进行更新,或者需要标明图像的名称、类型和格式。由于可用的选项是因工具而异的,所以转换工具捆绑带有更多的文档。
或者,编写自定义转换工具
当你需要转换一个模型,而它却不是表1所列工具支持的格式时,你可以选择创建自己的转换工具。
编写自己的转换工具包括将模型的输入、输出和架构的表示转换为Core ML模型格式。你可以通过定义模型架构的每一层及其与其他层的连接来实现来实现这一点。我们使用由Core ML Tools提供的转换工具作为示例,来演示由第三方工具创建的各种模型类型是如何转换为Core ML模型格式的。
注意
Core ML模型格式由一组协议缓冲区文件定义,并在Core ML模型说明书中进行了详细描述。
来源:https://developer.apple.com/machine-learning/