如何将模型转换成Core ML格式

1、检查python版本

因mac电脑自动python 环境,在终端我们可以通过指令检查先python版本

python

检查下当前的python版本

2、通过Anacoda更新和切换Python版本

如果你当前的Python 版本不是 2.7.13(苹果在这里要求是2.7.13版本),我们可以通过Anacoda(conda is a tool for managing and deploying applications, environments and packages.)工具来管理或更新我们的Python版本,可以在官网(https://www.anaconda.com/download/)下载2.7版本


如何将模型转换成Core ML格式_第1张图片
Anoconda

3、安装Anacoda

如何将模型转换成Core ML格式_第2张图片
一直点下一步安装Anacoda


如何将模型转换成Core ML格式_第3张图片
安装完后打开终端来用

然后在终端输入指令 安装对应Python版本

conda install python=2.7.13

如何将模型转换成Core ML格式_第4张图片
我这是举例从2.13切换到2.14版本

再输入

conda update python

看到Python的版本信息是2.7.13,说明已经版本切换成功

4、模型转换

然后通过conda 开辟一个然后通过conda 开辟一个空间(空间名字flowerrec),在终端输入

conda create --name flowerrec


如何将模型转换成Core ML格式_第5张图片
开辟空间后的图片

如果没有安装pip 先输入这个指令conda 按照一个pip,这个pip 相当于我们使用pod 一样,里面是Python用来安装包的指令

easy_install pip //如果没有安装pip 先输入这个指令

pip install -U coremltools

conda create --name flowerrec开辟空间之后系统会提示,输入source activate flowerrec

source activate flowerrec

输入指令后 终端信息的前面出现 flowerrec 说明进入空间成功

选择下载后的模型文件(这里是一个识别花的模型):

deploy.prototxt: 描述神经网络的结构

oxford102.caffemodel:coffe格式的数据训练模型

class_labels.txt:识别出來的花的种类


模型文件

通过终端cd 指令进入上面模型文件所在路径,在flowerre有前缀下在终端输入python

python

再导入Core ML Tools

import coremltools

再CoreMLTools下面converters.caffe.convert这个包下通过指令进行转换(在python环境,coreml_model变量不需要申明类型,直接将转换之后的值赋给他就可以)

coreml_model = coremltools.converters.caffe.convert(('oxford102.caffemodel', 'deploy.prototxt'), image_input_names='data', class_labels='class_labels.txt')

对比Xcode里面模型解释下


如何将模型转换成Core ML格式_第6张图片
在Xcod里面打开CoreML模型

image_input_names='data' 输入数据

class_labels='class_labels.txt' 输出结果

转换的时候在终端可以看到下面信息,Layer代表模型有多少层,已经每一层的输入输出

如何将模型转换成Core ML格式_第7张图片
模型转换时的信息Layer Input Output等等

最后在终端看到 >>> 看到他 才是模型生成完了(需要等几分钟)

5、保存模型

coreml_model.save('Flowers.mlmodel')

将模型命名为Flowers

最后在对应路径可以可以看到我们转换后的模型文件,可以直接拖到Xcode使用


转换后的模型

你可能感兴趣的:(如何将模型转换成Core ML格式)