1、检查python版本
因mac电脑自动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版本
3、安装Anacoda
然后在终端输入指令 安装对应Python版本
conda install python=2.7.13
再输入
conda update python
看到Python的版本信息是2.7.13,说明已经版本切换成功
4、模型转换
然后通过conda 开辟一个然后通过conda 开辟一个空间(空间名字flowerrec),在终端输入
conda create --name flowerrec
如果没有安装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里面模型解释下
image_input_names='data' 输入数据
class_labels='class_labels.txt' 输出结果
转换的时候在终端可以看到下面信息,Layer代表模型有多少层,已经每一层的输入输出
最后在终端看到 >>> 看到他 才是模型生成完了(需要等几分钟)
5、保存模型
coreml_model.save('Flowers.mlmodel')
最后在对应路径可以可以看到我们转换后的模型文件,可以直接拖到Xcode使用