(1)软件准备
CAFFE源码:https://github.com/Microsoft/caffe;
CUDA及cuDNN:https://developer.nvidia.com/cudnn,CUDA及cuDNN的下载需要注册账户;同时,可通过以下网站查询CUDA支持的GPU型号及计算能力,https://developer.nvidia.com/cuda-gpus。编译支持GPU计算的CAFFE需要首先安装CUDA,安装完CUDA后,其环境变量也被自动设置好。新建一个文件夹,解压cuDNN包,并记录其路径,如"D:\caffe",CAFFE编译属性文件时需要。
编译支持Python及Matlab的版本,需要首先安装Python、Matlab,Python建议用Miniconda,其中Miniconda的安装见CAFFE源码下载地址中安装说明。
(2)编译属性文件设置
CAFFE源码即可编译Release版本、也可编译Debug版本。编译前最主要的设置,就是修改commonSetting.props文件,默认的CAFFE编译是不支持GPU、Python、Matlab的。
支持GPU的设置
//commonSetting.props
<UseCuDNN>true</UseCuDNN>
<CuDnnPath>D:\CAFFE</CuDnnPath> //cuDNN的解压缩位置
支持Python的设置
<PythonSupport>true</PythonSupport>
<PropertyGroup Condition="'$(PythonSupport)'=='true'">
<PythonDir>C:\ProgramData\Miniconda2\</PythonDir>
<LibraryPath>$(PythonDir)\libs;$(LibraryPath)</LibraryPath>
<IncludePath>$(PythonDir)\include;$(IncludePath)</IncludePath>
</PropertyGroup>
支持Matlab的设置
<MatlabSupport>true</MatlabSupport>
<PropertyGroup Condition="'$(MatlabSupport)'=='true'">
<MatlabDir>C:\Program Files\MATLAB\R2014a</MatlabDir>
<LibraryPath>$(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)</LibraryPath>
<IncludePath>$(MatlabDir)\extern\include;
/*需要查看gpu/mxGPUArray.h,文件是否在$(MatlabDir)\extern\include,下面;若版本比较新,gpu/mxGPUArray.h文件在(MatlabDir)\toolbox\distcomp\gpu\extern\include路径下面,需要将其添加到Include路径中,否则编译的时候回报找不到gpu/mxGPUArray.h的错误*/
$(MatlabDir)\toolbox\distcomp\gpu\extern\include;$(IncludePath)
</IncludePath>
</PropertyGroup>
(3)编译工程设置
关闭视警告为错误
关闭视警告为错误(即设置为No)如果不设置的话在编译boost库的时候会由于文字编码的警告而报错。libcaffe工程->PROJECT->Properties->Configuration->C/C++->General。
编译中遇到的一些问题解决
Debug情况下
缺少Python27_d.lib的解决方法,https://blog.csdn.net/junparadox/article/details/52704287。
Release情况下
未能加载文件或程序集“file:///E:\NugetPackages\OpenCV.2.4.10\build\native\private\coapp.NuGetNativeMSBuildTasks.dll”或它的某一个依赖项。系统找不到指定的文件。 请确认 声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现 Microsoft.Build.Framework.ITask 的公共类。解决方法https://blog.csdn.net/u011995719/article/details/78980503。