注意:python采用的是2.7版本,vs用的是2013版的,别的版本不保证成功。
吐槽一波,因为装的时间太晚,csdn上有关的文章都显示的比较新,这些大部分体现复读机本质,各种出错,安装了我3天,艹。然后后来运气好从一些博客上弄到比较老的博客有关caffe的安装解析,以下放上有用的参考。
1.【caffe-Windows】微软官方caffe之 Python接口配置及图片生成实例
2.【caffe-Windows】caffe+VS2013+Windows无GPU快速配置教程
3.Windows+CPU only+VS2013安装caffe以及配置Python接口
4.Windows Caffe python接口配置
5.windows+anaconda环境下的caffe python安装配置
6.Caffe在Windows10下CPU版本的安装(cpu+anaconda3+vs2013+pycaffe)
菜鸡如我,找了这么多(其实远远比这多,windows、linux都试过了)。
以下是正文部分:
安装
- 首先是链接5,在anaconda下创建python=2.7的环境:(如果不建环境可以跳过该小节1、2步骤)
- 在prompt输入:
conda create -n caffe python=2.7
建议先设成清华的镜像,快一些。
- 接着输入:
activate caffe
激活caffe环境
- 最后执行以下命令安装依赖库:
pip install cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz matplotlib
- 再是链接6,从其中得到部分安装包:
网盘链接 提取码:op95
这个里面你只要把NugetPackages解压就好(我感觉,它原文里的caffe包可能有点问题),该包作用文中有,不细说。
- 然后再是链接2,我也下的是微软的包:
网盘链接 密码: bv67
-
将刚才下的NugetPackages文件夹丢到现在下的caffe文件夹中
-
下载caffe官网提供的工具包,复制Windows下CommonSettings.props.example,后缀改为CommonSettings.props,如下:
-
由于我电脑无GPU,所以修改复制过来的CommonSettings.props配置文件:
然后,由于我们是要导到anaconda里面用python跑,那么链接2之后的就没啥用了。
- 再就是链接1:
- 编译caffe接口,修改配置文件CommonSettings.props(就是上面刚改过的那个)的第13行:
<PythonSupport>true</PythonSupport>
这当然是因为要作为可与python接口啊。
- 第48行:
<PythonDir>C:\Program Files\anaconda3\</PythonDir>
这里很值得注意,就是这个地方我就依葫芦画瓢直接写的我的anaconda下载的地方,然后,就算按照链接1说的弄成release版本,还是报错出现python27_d.lib找不到。
理由是:PythonDir写入python.exe文件路径。
但我先前是在anaconda下创的环境,所以应该深入到所创建的caffe环境下的python执行文件的那个文件夹!这个对应就应该在envs目录下的caffe里面才对。(当然你不建环境直接弄那就要下载anaconda对应python2.7版本的,那样就可以直接按照他的来)
- 在刚才改CommonSettings.props的那个目录下将caffe.sln用vs打开,将其设置为release版:
在libcaffe处右击选择属性(properties):
修改完后对libcaffe生成解决方案,然后再对pycaffe生成解决方案:
- 等编译完成后,在Build文件夹下找x64/release下有个pycaffe,把该文件夹丢到刚才创建的caffe环境对应的文件夹下就好,即:anaconda3/envs/caffe/Lib/site-packages即可。(当然如果你用的base环境,你就直接找Lib/site-packages)。
测试:
直接在prompt里面激活caffe环境后输入python,然后:
import caffe
如果没报错就OK,其实链接5也是没报错,但是没报错!=配置好了,因为我当时需要caffe.Net类,然后一输入:
caffe.Net
就给我说没有此模块???只好重弄。一般输出:
<class 'caffe._caffe.Net'>
是没错的,但这只是一般!!!因为我运行以下代码时(用的别人自己声称是编译好的caffe),程序崩溃了。。。代码链接
所以下好之后最好试试能不能用,不要以为import caffe不报错就万事大吉!