版本记录
版本号 | 时间 |
---|---|
V1.0 | 2017.10.29 |
前言
目前世界上科技界的所有大佬一致认为人工智能是下一代科技革命,苹果作为科技界的巨头,当然也会紧跟新的科技革命的步伐,其中ios API 就新出了一个框架
Core ML
。ML是Machine Learning
的缩写,也就是机器学习,这正是现在很火的一个技术,它也是人工智能最核心的内容。感兴趣的可以看我写的下面几篇。
1. Core ML框架详细解析(一) —— Core ML基本概览
2. Core ML框架详细解析(二) —— 获取模型并集成到APP中
3. Core ML框架详细解析(三) —— 利用Vision和Core ML对图像进行分类
将训练模型转化为Core ML
我们要使用ios中的Core ML就涉及到模型,这其中很多模型是第三方提供的,将使用第三方机器学习工具创建的训练模型转换为Core ML模型格式。这个是使用Core ML首要做的工作,很多报错都是这方面格式没有转化带来的错误。
总体
如果您的模型是使用受支持的第三方机器学习工具创建和训练的,则可以使用Core ML Tools将其转换为Core ML模型格式。Table 1 列出了支持的模型和第三方工具。
注意:Core ML
工具是一个Python
包(coremltools)
,托管在Python包索引(PyPI)
上。 有关Python软件包的信息,请参阅Python Packaging User Guide。
转换你的模型
使用与模型的第三方工具相对应的Core ML转换器转换模型。 调用转换器的convert
方法并将生成的模型保存到Core ML模型格式(.mlmodel)
。
例如,如果您的模型是使用Caffe
创建的,请将Caffe模型(.caffemodel)
传递给coremltools.converters.caffe.convert
方法。
// Listing 1
import coremltools
coreml_model = coremltools.converters.caffe.convert('my_caffe_model.caffemodel')
现在将结果模型存储为Core ML
模型的格式。
// Listing 2
coreml_model.save('my_model.mlmodel')
根据您的模型,您可能需要更新输入,输出和标签,或者您可能需要声明图像名称,类型和格式。 转换工具捆绑有更多的文档,因为可用的选项因工具而异。 有关Core ML Tools的更多信息,请参阅 Package Documentation。
Alternatively, Write a Custom Conversion Tool - 替换方案:写一个自定义转换工具
当您需要转换不是表1所列工具支持的格式时,可以创建自己的转换工具。
编写自己的转换工具包括将模型的输入,输出和架构的描述转换为Core ML模型格式。 您可以通过定义模型架构的每一层及其与其他层的连接来实现。 使用Core ML Tools 提供的转换工具作为示例;他们演示了如何从第三方工具创建的各种模型类型转换为Core ML模型格式。
注意:Core ML
模型格式由一组协议缓冲区文件定义,并在Core ML Model Specification中进行了详细描述。
后记
未完,待续~~~