windows7+visual studio 2013+CUDA7.5 编译caffe

经过朋友指导,终于成功在windows7上成功编译了caffe,这里将编译过程记录

  • 安装文件准备
  • 安装visual studio 2013
  • 安装cuda75
  • 编译caffe
    • 1 解压缩下载的caffe-windows文件
    • 2 进入到windows文件夹
    • 3 复制配置文件并重命名
    • 4 修改配置文件修改工程的属性文件
    • 5 打开名称为Caffe的解决方案
    • 6 编译libcaffe项目
    • 7 编译caffe项目
    • 8 编译其他项目
  • 运行第一个caffe测试程序
  • 配置cuDNN
  • 配置python
  • 配置matlab

1. 安装文件准备

接下来,依次:安装visual studio 2013->安装cuda 7.5->编译caffe

2.安装visual studio 2013

具体安装方法见: 安装visual studio 2013

3.安装cuda7.5

安装方法与theano安装(二)windows安装visual studio 2010及cuda中的cuda安装方法一致,只不过是版本号不同而已

这里注意一个问题,cuda6.5之前的cuda版本,自带的D:\Program Files\NVIDIA Corporation\CUDA samples\v7.5\bin\win64\Debug中包含了可运行的exe程序,可用来测试,但cuda7.5却没有,需要自己编译,具体编译cuda方法可以参考相关博客

4.编译caffe

4.1 解压缩下载的caffe-windows文件

这里假设caffe-windows被解压到了如下的文件夹中

4.2 进入到windows文件夹

4.3 复制配置文件,并重命名

将该文件夹(即.\windows)下的CommonSettings.props.example文件复制一份儿,并将复制的文件命名为CommonSettings.props

-

4.4 修改配置文件(修改工程的属性文件)

  • caffe-windows自带的配置文件CommonSettings.props.example中所有配置参数都是默认值,例如:里面CUDA和cuDNN库是默认被要求用到的,cuDNN和CPU_ONLY两个只能二选一,Python和matlab是被默认false的,也就是不用,可以通过修改这个属性文件来个性化设置,主要需要修改下面的代码段(下面代码段来自CommonSettings.props.example,所有参数取值都为默认值)
    <PropertyGroup Label="UserMacros">
        <BuildDir>$(SolutionDir)..\Build</BuildDir>
        <!--NOTE: CpuOnlyBuild and UseCuDNN flags can‘t be set at the same time.-->
        <CpuOnlyBuild>false</CpuOnlyBuild>
        <UseCuDNN>true</UseCuDNN>
        <CudaVersion>7.5</CudaVersion>
        <!-- NOTE: If Python support is enabled, PythonDir (below) needs to be
         set to the root of your Python installation. If your Python installation
         does not contain debug libraries, debug build will not work. -->
        <PythonSupport>false</PythonSupport>
        <!-- NOTE: If Matlab support is enabled, MatlabDir (below) needs to be
         set to the root of your Matlab installation. -->
        <MatlabSupport>false</MatlabSupport>
        <CudaDependencies></CudaDependencies>

        <!-- Set CUDA architecture suitable for your GPU.
         Setting proper architecture is important to mimize your run and compile time. -->
        <CudaArchitecture>compute_35,sm_35;compute_52,sm_52</CudaArchitecture>

        <!-- CuDNN 3 and 4 are supported -->
        <CuDnnPath></CuDnnPath>
        <ScriptsDir>$(SolutionDir)\scripts</ScriptsDir>
    </PropertyGroup>
  • 下面,分别对上述代码中的各项参数进行说明:

    (1)CpuOnlyBuild:是否使用CPU,默认值为False,即使用GPU编译;如果本机没有配置好CUDA,那么,该值应该赋值为True;

    (2)UseCuDNN:是否使用CuDNN,默认值为True;如果本机没有配置好CUDA,那么,该值应该赋值为False;注意:CpuOnlyBuild和CuDNN不能同时为True

    (3)CudaVersion:CUDA的版本

    (4)PythonSupport:是否支持python,默认值为False;

    (5)MatlabSupport:是否支持matlab,默认值为False;

4.5 打开名称为Caffe的解决方案

利用VS2013打开名称为Caffe的解决方案

4.6 编译libcaffe项目

需要首先编译libcaffe项目(其他的项目依赖于libcaffe项目),具体地:右键libcaffe,选择生成,开始编译libcaffe

经过一段时间等待后,编译成功

这里有两个需要注意的地方:

(1)编译过程中,可能会出现错误,错误的原因是编译过程中出现了警告,而导致编译无法进行,此时,需要进行如下修改:

即:设置项目属性,不要将警告视为错误

右键->项目属性->C/C++->常规->将警告视为错误 设为否

(2)caffe编译过程中,需要一些依赖包,在有网络的情况下,当编译第一个项目libcaffe时,程序会自动从网路下载这些依赖包,下载到与caffe-windows文件夹同级的NugetPackages文件夹中,下图所示即为程序自动下载的依赖包

但在没有网络情况下,需要事先将这些依赖包下载好,并将它们的路径在vs的管理NuGet程序包中进行设置:工具->选项->NuGet Package Manager->程序包源->利用右侧的加号添加本地的package

手动添加这些package地址后,还需要手动对这些NuGet Package进行安装

4.7 编译caffe项目

同样,在caffe项目处右键生成

4.8 编译其他项目

编译完libcaffe和caffe两个项目后,再依次编译其他项目,同样的方法

5.运行第一个caffe测试程序

为了测试编译好的caffe能否正常使用,需要进行测试,主要利用mnist数据集进行分类问题的测试

(1)下载测试数据集

(2)修改配置文件

进入文件夹D:\software\caffe-vs\caffe-windows\examples\mnist,即examples路径下的mnist文件夹

① 打开lenet_solver.prototxt

设置网络配置文件路径,这里使用了绝对路径,相对路径还没有尝试

② 打开lenet_train_test.prototxt

(3)运行caffe程序,具体地

① 打开cmd命令行,cd到caffe-windows的.\Build\x64\Debug路径下,在该路径下,可以直接执行caffe.exe

D:\software\caffe-vs\caffe-windows\Build\x64\Debug

或者,为了方便,可以将caffe的路径添加到环境变量Path中,这样,cmd就可以直接识别caffe命令了

② 运行caffe

caffe train -solver lenet_solver.prototxt

注意,因为上一步已经将D:\software\caffe-vs\caffe-windows\Build\x64\Debug路径添加到环境变量PATH中了,所以,这里可以直接使用caffe.exe



下面两步主要配置cuDnn、python和matlab,具体配置时,应该在4.5之前进行

6. 配置cuDNN

  • nVidia官网下载cuDNN v3或者是cuDNN v4,注意,需要注册才能下载

    下载后解压缩,如下图所示

  • 配置cuDNN的路径,有两种方案:
    • 方案1:将cuDNN v4的压缩包内的bin、include、lib中的文件分别放置在%CUDA_PATH% (即cuda的安装路径)的相应目录中
    • 方案2:将 .\windows\CommonSettings.props文件中的CuDnnPath设置为该解压缩路径,例如,将cuDNN解压后文件放置在D:\software\caffe-vs\cuda-cuDNN中,那么,在CommonSettings.props中,令<CuDnnPath>D:\software\caffe-vs\cuda-cuDNN\</CuDnnPath>
  • 并且,令CommonSettings.props文件中的UseCuDNN如下:<UseCuDNN>ture</UseCuDNN>

7. 配置python

  • 之前已经安装好了python了,具体方法参考 theano安装(一)windows配置安装theano环境(非GPU版)

    注:是借助于AnaConda安装的

  • 利用pip工具安装protobuf:pip install protobuf

  • 在文件中做两处更改:

    (1)<PythonSupport>true</PythonSupport>

    (2)PythonDir更改为python的安装目录,这里的python是利用Anaconda安装的,安装路径位于D:\File Program\Anaconda\,该目录下含有python.exe

    <PropertyGroup Condition="‘$(PythonSupport)‘==‘true‘">
        <PythonDir>D:\File Program\Anaconda\</PythonDir>
        <LibraryPath>$(PythonDir)\libs;$(LibraryPath)</LibraryPath>
        <IncludePath>$(PythonDir)\include;$(IncludePath)</IncludePath>
    </PropertyGroup>
  • 添加环境变量

    在环境变量的用户变量中,新建用户变量,变量名“PythonPath”,变量值“D:\software\caffe-vs\caffe-windows\Build\x64\Release\pycaffe”

    或者将文件夹\Build\x64\Release\pycaffe\caffe 复制到\lib\site-packages.

8.配置matlab

这里主要涉及修改CommonSettings.props文件中两个地方

  • 修改CommonSettings.props文件中的,令<MatlabSupport>true</MatlabSupport>
  • 修改CommonSettings.props文件中的参数,令其为本机的matlab安装目录
   <PropertyGroup Condition="‘$(MatlabSupport)‘==‘true‘">
        <MatlabDir>D:\File Program\Matlab\</MatlabDir>
        <LibraryPath>$(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)</LibraryPath>
        <IncludePath>$(MatlabDir)\extern\include;$(IncludePath)</IncludePath>
    </PropertyGroup>
  • 添加环境变量

After you have built solution with Matlab support, in order to use it you have to:

add the generated matcaffe folder to Matlab search path, and
add <caffe_root>\Build\x64\Release to your system path.

注:发现一篇写的比较好的博客

http://m.blog.csdn.net/article/details?id=50819464

时间: 2025-01-30 22:20:31

windows7+visual studio 2013+CUDA7.5 编译caffe的相关文章

Visual Studio 2013环境下操作vc6/vc7/vc8等低版本平台项目【编译|生成|调试】

现代化的开发环境,微软一直在推出更新换代,我们所处的技术环境在日新月异的变化:不过在中国多数人们一边疲惫的追赶着时代的步伐,一边坚守着自己所获悉所掌握的那些紧吧吧的知本.对技术工具的掌握并非他们所想要,人人都是想借助工具作用以实现目标.所以,对于一段时间来而言,谁赶出了作品,谁就赢得了先机从此吸聚一大批人力来驱动其事业的成长.只是不过,如果只是赶出了一时间的作品,而从此只就其上迭代运作而不再从外吸纳新鲜的技术气氛,那可能解体终有一日. 从VC6到VC2008,再到2010.2013,到现在已经是

在visual studio 2013中编译Lua5.3.1

注:以下是基于 别人的教程或笔记来操作并按照自己的操作记录的纯文字版编译和hello lua过程. 原图文版链接: 原文链接 1.创建空的解决方案: 文件->新建->项目->其他项目类型->Visual Studio解决方案->空白解决方案 名称:lua53 位置:.. 接下来在这个解决方案中创建3个项目:分别为Luz_lib.Lua和Luac Lua和Luac项目中会生成最终我们需要的执行文件.Lua_lib会生成静态库文件, Lua和Luac项目的编译需要这个库文件.所以

图文说明Visual Studio 2013编译libpqxx步骤以及常见编译错误

编译步骤(x86版本) 1.下载并安装postgresql,点击进入下载地址.下载界面如下: 目前最新版本是9.5.1,我下载了 Win x86-32 的最新版本.安装后目录如下: 2.下载并解压缩libpqxx,点击进入下载地址.下载界面如下: 目前最新版本是4.0.1,我下载了libpqxx-4.0.1.tar.gz 压缩包.解压后目录如下: 3.编译环境准备.(安装或解压路径请以实际的为准,本文路径仅供参考) 进入libpqxx的解压路径 D:\Program Files (x86)\li

Visual Studio 2013 编译 boost-1_56_0_b1

1.首先下载源代码包:http://www.boost.org/users/history/version_1_56_0.html  目前最新版本 2.解压缩到D:\boost-1_56_0_b1目录下 3.点击 D:\boost-1_56_0_b1目录下 bootstrap.bat 批处理文件  会生成bjam.exe和project-config.jam这两个文件 4.在开始菜单中 找到 Visual Studio 2013---Visual Studio Tools----VS2013 开

Visual Studio 2013编译Mozilla NPAPI 示例注意事项

1.Platform Toolset设置Visual Studio 2013 - Windows XP (v120_xp). 2.Character Set设置Use Multi-Byte Character Set. 3.添加以下Preprocessor Definitions: NPRT_EXPORTS XP_WIN32 MOZILLA_STRICT_API XPCOM_GLUE XP_WIN _X86_ _CRT_SECURE_NO_WARNINGS 4.Precomplied Heade

Visual Studio 2013 编译时 &quot;error LNK2026:模块对于 SAFESEH 映像是不安全的&quot; 解决方案

今天使用Visual Studio 2013编译irrlicht时,提示"error LNK2026:模块对于 SAFESEH 映像是不安全的"错误 经搜索后,得出解决方案如下: 1.打开该项目的“属性页”对话框 2.“配置属性” -> “链接器” -> “命令行” 3.将 /SAFESEH:NO 键入“其他选项”文本框中,然后点击应用,GECHA!

在visual studio 2013中编译语音识别库kaldi

在visual studio 2013中编译kaldi的主要困难的地方在于正确编译kaldi的依赖库,主要是:openfst,ATLAS, pthreadVC2,其中又属ATLAS最难编译,因此,为求整个编译逻辑清晰简洁,在此将忽略kaldi所有依赖库的编译,如果有时间,我会直接提供其所依赖的库. 编译环境: 操作系统:windows8 (推荐) 编译工具:visual studio2013 其他:要安装完整的CygWin环境 编译步骤: 新建解决方案:打开visual studio 2013,

Visual Studio 2013 的 curl winbuild 编译和配置

这是我的第一篇博客. curl官网:http://curl.haxx.se/ 百度百科:curl是利用URL语法在命令行方式下工作的开源文件传输工具 在网上有很多关于curl的编译方案,如: windows平台下编译curl支持https 在Windows上编译最新的CURL,含有zlib,openssl 这里介绍的是我认为最简单的winbuild方法的编译,不涉及https. 平台: win7 64位,Visual Studio 2013 工具: 1.curl-7.41.0.zip源码包:ht

Visual Studio 2013 编译 64 位 Python 的 C 扩展 (使用 PyObject 包装)

对于 32 位 Python 的 C 扩展,以前用过 mingW32 编译, 但是 mingW32 不支持 64 位 Python 的 C 扩展编译,详情可见 stackoverflow,这位前辈的大意如下, 以下介绍 Visual Studio 2013 编译 64 位 Python 的 C 扩展步骤: 1)准备 C 文件和包装文件, ExtDemo.c // Purpose: C code, for wrappered. #include <stdio.h> #include <st