Caffe 源码阅读 (一) ---- Windows7 + VS2015 + Python2.7 安装 (CPU only)

时间:2022-06-09 20:29:40

 写在前面: 编译安装遇到问题真是个浪费时间的事,我捣鼓了两天,才算解决了问题。我想我这次安装跟网上各个大牛网友的区别在于解决了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卸载了,等以后有时间再试。