3Windows平台下caffe的python接口配置及测试
(3)Windows平台下caffe的python接口配置及测试
一、前言
在博文 中我介绍了怎样在windows上安装微软封装的caffe。但是为了避免出现问题,安装的时候我们是将PythonSupport设置为false。python使我们机器学习和深度学习爱好者最常使用的语言,我们经常需要在python中使用caffe。在这篇博客中,我们就来学习怎样在python中配置caffe。在这里还是要使用到安装caffe时使用的caffe-master和VS2013。
二、配置python接口
2.1 修改配置文件
修改配置文件CommonSettings.props,这里有两处需要修改。首先是修改PythonSupport为true,然后在PythonDir设置python.exe(注意是python2)所在的位置。完成后保存。
2.2 安装需要的python库
activate py2 #启动配置caffe的python虚拟环境
conda install numpy #安装numpy库
conda install protobuf #安装protobuf
不安装numpy和protobuf编译可能会出现错误。
2.3 编译和使用pycaffe
选择解决方案caffe下的pycaffe,然后生成Release版本pycaffe。
生成成功后在caffe-master\Build\x64\Release\pycaffe文件夹下会生成caffe文件夹和一些文件。
直接将生成的caffe文件夹拷贝到python安装的根目录下的Lib\site-packages文件夹下即可。到此就将caffe配置在python中了。
三、测试python中的caffe配置
3.1 在python中导入caffe模块测试
在cmd中进入python,然后导入caffe模块。可能会提示缺少某些module,只需要根据提示把缺少的module安装上即可。
还可能会出现 ImportError: No module named google.protobuf.internal ,只需要输入如下命令安装protobuf 模块即可。
conda install protobuf
安装完所有依赖的包之后再导入caffe将不会再出现异常。
3.2 训练模型测试
还是使用上一篇博客 中使用的mnist数据集。数据处理部分已将在上一篇博客中介绍,不再介绍。进入caffe-master文件夹,新建demo.py,并将如下代码拷贝到其中。
import caffe
caffe.set_mode_cpu()
solver = caffe.SGDSolver('examples/mnist/lenet_solver.prototxt')
solver.solve()
然后进入cmd输入python demo.py,执行python脚本。开始训练模型。
训练过程中会输出一些信息。输出Optimization Done. 表示训练结束。并且会输出训练好的模型。
四、后记
在配置好python接口后,我在使用的过程中,发现C++接口又不好使了。使用命令行
caffe.exe train --solver=''
进行训练,弹出
应用程序无法正常启动0xc000007b
此时我想到,之前还是好用的,我除了打开python接口重新编译了pycaffe,其他什么都没有更改。所以我把python接口关闭,重新编译整个解决方案,提示成功编译16个项目。此时C++接口 caffe.exe可以正常工作。由于之前pycaffe下的caffe已经拷贝进python的环境下,此时python接口也是正常的。至此caffe-windows配置结束。