windows在编译caffe有两种途径,
第一直接从github上clone windows分支的源码,根据提供的cmakeLIsts开始编译,这种方法自由选择编译器、依赖的库文件版本等,可能自由度更大,但是也有比较多的问题;
https://github.com/BVLC/caffe/tree/windows
第二是从整理好的vs工程开始编译,比如Microsoft和happynear整理的vs工程。
https://github.com/Microsoft/caffe
https://github.com/happynear/caffe-windows
1.首先从源码编译开始:
参考博客:http://zhangxiaoya.github.io/2017/02/04/Caffe-windows-vs2015/
1.1bian环境
windows10
vs2015
cuda8.0
cudnn v5.1
python 2.7
cmake 3.8
cmake和python一定要添加到PATH里面。
1.2.clone caffe 的windows分支:https://github.com/BVLC/caffe/tree/windows。
1.3.python的一些依赖库安装的时候根据提示自行安装,我的环境numpy,six等之前已经安装配置完成。
1.4.编译的过程中需要下载依赖项,这里事先下载好,https://github.com/willyd/caffe-builder/releases/download/v1.1.0/libraries_v140_x64_py27_1.1.0.tar.bz2;下载完成后放在C:\Users\USERNAME\.caffe\dependencies\download
1.5.进入scripts文件夹,把build_win.cmd的备份一下,复制一份,然后用编辑器打开,修改一些参数:
比如74行的,if NOT DEFINED WITH_NINJA set WITH_NINJA=0,设置为0,不用ninja编译器
76行,if NOT DEFINED CPU_ONLY set CPU_ONLY=0,设置为0,用GPU
83行,if NOT DEFINED USE_NCCL set USE_NCCL=0,设置为0,多个GPU才设置NCCL为非零
91行,if NOT DEFINED BUILD_MATLAB set BUILD_MATLAB=1,设置为1,编译matlab的接口
1.6.在未删除的文件157-172段中添加
-DCUDNN_ROOT=C:/Projects/caffe/cudnn-8.0-windows10-x64-v5.1/cuda ^
设置cudnn的路径,下载的cudnn版本5.1比较合适,版本6可能会导致编译错误。
1.7.然后进入script目录下,运行./build_win.cmd,开始编译。
1.8.编译完成后生成caffe.sln,用vs2015打开,然后编译。
接下来编译caffe的动态链接库:
caffe.binde编译出来的dll就是可以直接使用的动态链接库。
当然也可以自己暴露接口,然后编译
2.从整理好的vs工程开始编译,这里我用的是haapynear的project。
如果从Microsoft的工程,参考blog:http://blog.csdn.net/xierhacker/article/details/51834563
2.1环境
windows10
vs2015
cuda8.0
cudnn v5.1
python 2.7
cmake 3.8
cmake和python一定要添加到PATH里面。
2.2 复制CommonSettings.props.example并重命名为CommonSettings.props,修改配置,比如cuda的版本,cudnn的位置,GPU还是CPU,python和matlab接口,以及python和matlab的安装路径。
2.3 设置完成后,用匹配的vs版本打开Caffe.sln解决方案,考试编译,这时候在caffe_master目录下的build文件夹下会生成相应的编译文件,按照之前的博客配置python和matlab接口就可以使用了。
要想使用c++ 的接口还需要编译caffe 的动态链接库。
还有一篇参考博客:http://blog.csdn.net/akashaicrecorder/article/details/71016942