一、编译环境
1.下载caffe windows版源码
https://github.com/BVLC/caffe/tree/windows
2.CUDA
CUDA 7.5 or 8.0 (use CUDA 8 if using Visual Studio 2015)
3.cuDNN v4
将下载的bin,include及lib拷贝到CUDA对应的目录(我的为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5)。
4.Matlab
R2016b(我的版本)
5.Anaconda Python 2.7
https://conda.io/miniconda.html
下载后双击可执行程序安装到C:\Miniconda2。
安装完毕后启动cmd.exe,输入conda list可以看到一些安装包;
更新conda包
conda update conda
安装numpy
conda install numpy
二、编译
进入caffe\windows目录,复制CommonSettings.props.example文件为CommonSettings.props(粗体字部分为修改处),其内容如下
$(SolutionDir)..\Build true false 7.5 true true compute_35,sm_35;compute_52,sm_52 $(SolutionDir)\scripts cublas.lib;cuda.lib;curand.lib;cudart.lib cudnn.lib;$(CudaDependencies) $(CuDnnPath)\lib\x64;$(LibraryPath) $(CuDnnPath)\include;$(IncludePath) $(BuildDir)\$(Platform)\$(Configuration)\ $(BuildDir)\Int\$(ProjectName)\$(Platform)\$(Configuration)\ $(OutDir);$(CUDA_PATH)\lib\$(Platform);$(LibraryPath) $(SolutionDir)..\include;$(SolutionDir)..\include\caffe\proto;$(CUDA_PATH)\include;$(IncludePath) C:\Miniconda2 $(PythonDir)\libs;$(LibraryPath) $(PythonDir)\include;$(PythonDir)\Lib\site-packages\numpy\core;$(IncludePath) C:\Program Files\MATLAB\R2016b $(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath) $(MatlabDir)\extern\include;$(MatlabDir)\toolbox\distcomp\gpu\extern\include;$(IncludePath) CPU_ONLY;%(PreprocessorDefinitions) USE_CUDNN;%(PreprocessorDefinitions) USE_CUDNN WITH_PYTHON_LAYER;BOOST_PYTHON_STATIC_LIB;%(PreprocessorDefinitions) MATLAB_MEX_FILE;%(PreprocessorDefinitions) false true _SCL_SECURE_NO_WARNINGS;USE_OPENCV;USE_LEVELDB;USE_LMDB;%(PreprocessorDefinitions) true Full NDEBUG;%(PreprocessorDefinitions) MultiThreadedDLL true true true UseLinkTimeCodeGeneration true Disabled _DEBUG;%(PreprocessorDefinitions) MultiThreadedDebugDLL true
注意:<CuDnnPath></CuDnnPath>之间不要输入任何路径,否则编译libcaffe时会报如下错误:
错误 1 error MSB3073: 命令“"D:\caffe-windows\windows\\scripts\BinplaceCudaDependencies.cmd" "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin" "" false true "D:\caffe-windows\windows\..\Build\x64\Debug\"
:VCEnd”已退出,代码为 1。 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 132 5 libcaffe