写在前面: 编译安装遇到问题真是个浪费时间的事,我捣鼓了两天,才算解决了问题。我想我这次安装跟网上各个大牛网友的区别在于解决了cant find caffe.pb.h 的问题
1、环境
现有的环境:win7 + VS2015 + Python2.7
原本我装的 python3.5, 但是官网显示 python3.5 的debug 编译失败,所以我重装了 2.7。
2、准备
Anaconda, 直接官网下载 2.7 版本 https://www.anaconda.com/download/
之后按照 github 上 caffe 的 windows 分支 中的 README 下载所需的 python 模块。
conda -yes install cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz
注意加环境变量:
your path\anaconda
your path\anaconda\Lib
your path\anaconda\Scripts
3、clone 代码
我是下载的 zip, 解压之后根目录是 caffe-windows
4、cmake-gui 编译
(注意,老教程里说 denpendencies 的 libraries_v140_x64_py27 网址不好用, 脚本下载会失败, 那是因为libraries_v140_x64_py27_1.01不好用,但是现在的libraries_v140_x64_py27_1.1.0 还是可以的,不过下载不下来就去对应的网址里下载,放到指定的 downdload 目录就行了)
source 就是 caffe 的根目录 (我的是caffe-windows )
build 就是 caffe-windows /build
点击 Configure, 会报错,因为 我本机没有 GPU的配置, 只要做个小改动 : 勾选 CPU_ONLY, 并且把 BLAS 修改为 open。
然后 Configure 就能成功了。
但是对于我来说是噩梦的开始。
Generate 之后会生成 caffe.sln 在 build 目录下。 打开之后 ALL_BUILD 出现很多个错误,但是原因是 cant find caffe.pb.h。
总之 经过一系列 排除方法,我找到了失败的原因: 下载的 libraries 里的 protoc.exe 运行失败。 这个很好检查, 在cmd 运行 C:\Users\Administrator\.caffe\dependencies\libraries_v140_x64_py27_1.1.0\libraries\bin\protoc 直接弹出运行出错窗口,那说明 protoc.exe 有问题。找个其他能用的替换一下就可以了。
替换过之后,编译成功。
接下来就可以进行下一步 debug 读源码的过程了。
只能说是悲催的失败了。
caffe.exe可用,caffe-d.exe不可用,用各种方法查,也没查出缺什么dll。
呵呵呵……卸载了2015,换了2013,但是并没有什么用,debug编译出来的caffe.exe依然打不开。最后在2013下,使用 release 版本进行调试。关闭优化选项,在 ‘调试’ 输入命令和参数,加断点就可以调试了。不是正经为了改代码的调试,只是为了读,所以先凑合一下。release 在 VS2015 加断点没断住,可能是没有手动加入命令行,但是现在已经把2015卸载了,等以后有时间再试。