admin管理员组

文章数量:1530079




经过一番努力,终于成功的在windows7下对caffe进行配置及编译,中间经历各种坑,写这篇文章的主要目的是为了把这详细的过程写下来,让后面想完成这工作的少走些歪路.

  1. 环境确定:windows 7,右击计算机属性、设备管理器查看显示适配器电脑是否配置GPU,如果有,建议配置GPUCaffe运行速度会快很多。

  2. 确定自己是否安装VisualStudio 2013,因为caffe需要vs2013编译器才行。

3、下载官方caffe-windows并解压,我下载的版本链接https://github/ happynear/caffe-windows,打开文件夹caffe-master/windows,复制备份CommonSettings.props.example,并改名为CommonSettings.props,如下图所示。

建议在vs2013打开CommonSettings.props文件,需要设置的地方如下所示。

<?xmlversion="1.0"encoding="utf-8"?>

<ProjectToolsVersion="4.0"xmlns="http://schemas.microsoft/developer/msbuild/2003">

   <ImportGroupLabel="PropertySheets" />

   <PropertyGroupLabel="UserMacros">

       <BuildDir>$(SolutionDir)..\Build</BuildDir>

       <!--NOTE: CpuOnlyBuild andUseCuDNN flags can't be set at the same time.-->

    <CpuOnlyBuild>false</CpuOnlyBuild> //设置启用GPU还是CPU,这里将CuDNN设置为ture

       <UseCuDNN>true</UseCuDNN> //启用GPU

       <CudaVersion>7.5</CudaVersion>//这里下载Cuda版本为7.5

       <!-- NOTE: If Pythonsupport is enabled, PythonDir (below) needs to be

        set to the root of yourPython installation. If your Python installation

        does not contain debuglibraries, debug build will not work. -->

    <PythonSupport>true</PythonSupport>//是否支持python,因后期用到Python,设置true

       <!-- NOTE: If Matlabsupport is enabled, MatlabDir (below) needs to be

        set to the root of yourMatlab installation. -->

       <MatlabSupport>false</MatlabSupport>//是否支持matlab,这里未用到,设置false

       <CudaDependencies></CudaDependencies>

       <!-- Set CUDA architecturesuitable for your GPU.

        Setting proper architectureis important to mimize your run and compile time.-->

       <CudaArchitecture>compute_35,sm_35;compute_52,sm_52</CudaArchitecture>

       <!-- CuDNN 4 and 5 aresupported-->

       <CuDnnPath></CuDnnPath>

       <ScriptsDir>$(SolutionDir)\scripts</ScriptsDir>

   </PropertyGroup>

   <PropertyGroupCondition="'$(CpuOnlyBuild)'=='false'">

       <CudaDependencies>cublas.lib;cuda.lib;curand.lib;cudart.lib</CudaDependencies>

<IncludePath>$(SolutionDir)..\include;$(SolutionDir)..\include\caffe\proto;$(CUDA_PATH)\include;$(IncludePath)</IncludePath>

   </PropertyGroup>

   <PropertyGroupCondition="'$(PythonSupport)'=='true'">

       <PythonDir>D:\Health_install\python2\</PythonDir>//python安装路径

       <LibraryPath>$(PythonDir)\libs;$(LibraryPath)</LibraryPath>

       <IncludePath>$(PythonDir)\include;$(IncludePath)</IncludePath>

   </PropertyGroup>

   <PropertyGroupCondition="'$(MatlabSupport)'=='true'">

       <MatlabDir>C:\Program Files\MATLAB\R2014b</MatlabDir>//matlab安装路径      <LibraryPath>$(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)</LibraryPth

       <IncludePath>$(MatlabDir)\extern\include;$(IncludePath)</IncludePath>

 

  1. GPU计算环境准备(没有GPU的同学可以跳过此步),下载并安装CUDA7.5,链接:

https://developer.nvidia/cuda-75-downloads-archive,下载界面如下图所示。

 5、下载cuDNN,官网下载cuDNN需要先注册,而且要填一些调查表,建议直接从链接:http://download.csdn/detail/guoyk1990/9661583下载,下载后解压会有三个文件夹binincludelib。将这三个文件夹复制到cuda的安装目录中\NVIDIA GPU ComputingToolkit \CUDA\v7.5。(cuda的安装目录中也有这三个文件夹,将这三个文件夹分别与原来存在的文件夹合并,如下图所示)。

  1. 环境配置完,开始编译caffe-windows

    编译用vs2013打开.\windows\Caffe.sln并将解决方案的配置改为release,点菜单栏上的“生成->生成解决方案”,会将整个项目全部生成,这个时间会比较长(由于官方caffe-windows的版本使用了NuGet管理第三方开发包,所以需要在vs2013上安装NuGet,官方网站下载速度比较慢,可以在我的资源里下载)。生成成功之后的文件都在.\Build\x64\Release中。

    过程中出现如下问题:

    E:\NugetPackages\boost.1.59.0.0\lib\native\include\boost/format/alt_sstream_impl.hpperror C2220: 警告被视为错误 - 没有生成“object”文件 (..\..\ src\caffe\util\math_functions.cpp)

  网上查到,原因是math_functions.cpp文件代码为英文,而我们的系统通常是中文,也就是编码方式的错误。解决方案:

  1. VisualStudio直接打开math_functions.cpp,保存即可。

  2. 我们注意到错误提示里“警告被视为错误”,也就是说这本来是一个警告,只不过由于我们设置的严格,将这个警告视为错误。办法:打开VS->项目->属性->配置属性->C/C++->常规->将警告视为错误修改为“否”,并将警告级别设置为level 3,如下图所示,重新编译。

  1. 按顺序(必须)编译libcaffecaffepycaffe

  1. 设置libcaffe为启动项目,方法:右键libcaffe,选择设为启动项目,如下图所示。然后编译libcaffe

  2. libcaffe编译成功后,在VisualStudio 2013的解决方案(如下图a所示)右击选择属性(properties),单项目启动选择编译caffe,如下图b所示。

    a

    b

    为了避免出错,建议将python(安装的是Anaconda2)的相关库路径D:\Health_install\python2\includeD:\Health_install \python2\libs都添加进去,如下图所示:

    右击caffe开始编译,等待一段时间后,编译结束,在.\Build\x64\Release文件夹中会生成caffe.exe,一定要有这个.exe,没有就代表没生成成功。

  3. 编译pycaffe,步骤与caffe的编译步骤类似,单项目启动选择编译pycaffe,并将Python的相关库的路径配置添加进去,如下图所示:

    开始编译,等待一段时间后,编译成功后,在.\Build\x64\Release文件夹中会生成pycaffe文件夹。

     

至此,caffewindows7下的编译成功结束,感谢广大网友愿意分享他们宝贵的经验。

 

 

 

 

本文标签: 详细caffeGPU