原文来源:  来源:Angle_Cal  2016-12-19 17:32

本博主修改于2017-09-12.  版权所有,转载请注明出处。
 

BLVC版本的Caffe-windows已经支持Visual Studio 2015,下面的配置过程是综合了其他人的经验而且验证过的,可以确保有效.

  1. 下载Caffe-Windows(BLVC) 
    下载地址:GitHub
    下载好解压缩即可.

建议使用git命令下载

即有

git clone   https://github.com/BVLC/caffe.git
git branch
git checkout windows
  1. 安装VS2015,CUDA,CUDNN,Anaconda,CMake 
    VS2015
    安装请自行完成,需要注意的是: 
    ①如果你以前安装有早起的VS,那么安装VS2015可能会导致原来的版本出现问题,所以如果可能的话,尽量只用最新版,如果必须新老版本共存,比较稳妥的解决方法是先卸载老版本,然后安装VS2015,然后再安装VS2013等早期版本; 
    ②VS2015再安装的时候,默认是不选中C++语言的,请使用自定义安装模式. 
    CUDA
    请搜索CUDA8.0,到NVIDIA的官网上下载对应操作系统的版本,安装的时候,请关闭杀毒软件或者用管理员账户授权,安装过程中最好一直看着它,会进行很多敏感操作,如果杀毒软件进行了拦截,安装将会失败. 
    CUDNN
    请搜索CUDNN,同样在NVIDIA的官网上下载,这个东西下载之后是一个压缩包,打开之后是一个叫做CUDA的文件夹.关于他的处理,后文将会提到,现在先下载备用. 
    Anaconda
    这是一个python科学计算库,里面集成了很多模块和程序,根据你想使用的版本下载对应python2/python3的Anaconda,你并不需要先安装python,假如你以前安装过python,你完全可以卸载掉它,如果你不想卸载,请保证在系统变量中,Anaconda的变量排在python的前面(这很重要). 
    CMake
    3.7.0以上版本的CMake都可以,需要注意的是,为了免除不必要的麻烦,我们不使用CMake的界面,所以请把CMake.exe所在的目录加入到系统变量path中.
  2. 下载依赖 
    在(ROOTDIR):\caffe-windows\scripts下,有一个python脚本:download_prebuilt_dependencies.py,运行这个脚本,将会下载一个名字叫:”/libraries_v140_x64_py27_1.0.1.tar.bz2”的压缩包,这个压缩包会出现在你运行脚本的地方,并且脚本会把它解压,(ROOTDIR):\caffe-windows下会出现一个叫做libraries的文件夹,我们在(ROOTDIR):\caffe-windows下新建一个名叫”build”的文件夹,把这个libraries文件夹放进去. 
    如果下载缓慢,可以使用这个链接注意文件名中实际上包含了很多信息,请核对一下,这和你的实际情况是不是一样的,如果不一样,请用脚本下载.
  3. 确认环境变量 

    注意:Anaconda和CUDA的环境变量是安装程序自己加进去的,最后面的那个关于build的变量需要你把第3步的目录加进去,CMake的变量也要加进去.
  4. 修改批处理脚本

(ROOTDIR):\caffe-windows\scripts下有一个build_win.cmd脚本,编辑这个脚本: 
第一步:
注释掉115行-137行的所有代码,在行首添加”::”就可以注释掉这一行.  不用注释。只要将部分配置在设置好就可以了。主要是是否使用gpu,使用Python的版本指定等。

这里可以参考我的脚本的样本 http://www.cnblogs.com/leoking01/p/6951683.html。

第二步:
处理CUDNN; 
这里有两种方法,

方法一:将CUDNN压缩包下,cuda文件夹中的三个子文件夹中的文件,依次复制到CUDA的对应目录下,CUDA的安装目录为:”C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0”,使用这种方法,当程序需要使用CUDNN的时候,我们不需要做任何处理就能找到CUDNN的库,因为它存在于CUDA的目录下,而CUDA的变量已经在安装的时候自动的配置好了. (推荐使用该方式!

方法二:在上述脚本中的143行-155行 合适的地方 那一块(如下),添加CUDNN的目录:  (不推荐该方式。)  

:: Configure using cmake and using the caffe-builder dependencies  
:: Add -DCUDNN_ROOT=C:/Projects/caffe/cudnn-8.0-windows10-x64-v5./cuda ^
:: below to use cuDNN
cmake -G"!CMAKE_GENERATOR!" ^
-DBLAS=Open ^
-DCMAKE_BUILD_TYPE:STRING=%CMAKE_CONFIG% ^
-DBUILD_SHARED_LIBS:BOOL=%CMAKE_BUILD_SHARED_LIBS% ^
-DBUILD_python:BOOL=%BUILD_PYTHON% ^
-DBUILD_python_layer:BOOL=%BUILD_PYTHON_LAYER% ^
-DBUILD_matlab:BOOL=%BUILD_MATLAB% ^
-DCPU_ONLY:BOOL=%CPU_ONLY% ^
-DCUDNN_ROOT=C:\Projects\cuda ^
::上面一行就是CUDNN目录
-C %cd%\libraries\caffe-builder-config.cmake ^ %~dp0\..

使用这种方法,如果在后面的步骤上出现问题,请删除这句代码,然后使用方法一.

5. 调用CMake生成解决方案 
在(ROOTDIR):\caffe-windows\build中打开命令行窗口(按下shift右击文件管理器空白,选择”在此处打开命令行”),运行build_win.cmd,如果上面的操作都没有问题,那么这一步将会调用CMake生成解决方案,请看好最开始输出的那些信息,如果使用的编译器是VC140,将会生成VS2015的解决方案. 
6. 使用VS打开解决方案 
等待上述脚本运行完毕,在build中会出现一个caffe.sln,使用VS2015可以直接打开这个解决方案. 

7. 其他注意事项 
①不要参考VS2013的相关经验来在VS2015上配置Caffe,不要使用Microsoft的版本,一定要使用BLVC的版本. 
②为什么要使用VS2015呢?使用这种方法配置Caffe,不需要管理Nuget包,而且就算要使用Nuget,Vs2015的包管理器也要比VS2013的好用很多,假如你需要频繁的自己修改Caffe源码或者想读源码,那么我推荐你使用VS2015,而且有一件很重要的事:既然新的能用那么为什么要用旧的? 
③python2和python3都能用,假如你在运行python脚本的时候提示你有一些包找不到,那么请安装Anaconda,并在环境变量中保证Anaconda的排名比Python高,或者直接卸载python. 
④如果你一定要使用CMake的界面,遇到填写不上的属性,请查看build_win.cmd脚本中的文件. 
⑤如果你想修改一些东西,你如是否使用GPU,是否支持MATLAB等等,现在有两种方法:一种是直接定义C++预处理器,另一种是修改调用CMake的那个脚本,直接生成一个你想要的特殊的版本,修改配置文件的方法可能并不会起作用,因为这些项目根本就没有加载那个CommonSettings.props文件.

caffe搭建----Visual Studio 2015+CUDA8.0+CUDNN5配置Caffe-windows(BLVC)的更多相关文章

  1. Caffe on Windows (Visual Studio 2015+CUDA8.0+cuDNNv5)

    Title : Caffe (Visual Studio15+CUDA8+cuDNN5+python3.5) Author : SURFZJY Logo : True [TITLE] Requirem ...

  2. visual studio 2015 Opencv4.0.1配置

    最近由于工作需要,要配置opencv,我的电脑vs的version是2015,在网上下载了最新的opencv 4.0.1 自己摸索总是很困难,网上的例子也比较多,但版本比较低,也不确定适不适合vs20 ...

  3. Ubuntu16.04 + gtx1060 + cuda8.0 + cudnn5.1 + caffe + Theano + Tensorflow

    参考 ubuntu16.04+gtx1060+cuda8.0+caffe安装.测试经历 ,细节处有差异. 首先说明,这是在台式机上的安装测试经历,首先安装的win10,然后安装ubuntu16.04双 ...

  4. Ubuntn16.04+OpenCV3.1+CUDA8.0+cudnn5.1+caffe配置及问题集锦

    ubuntn16.04 Caffe安装步骤记录(超详尽) 一开始安装好ubuntn16.04后,先安装的opencv3.1,再自己安装的390驱动,cuda8.0和cudnn,之后配置caffe一直不 ...

  5. 用Visual Studio 2015 编译张帆的第一个NT式驱动,并且成功安装到Windows XP里面!!!

    开发工具:Visual Studio 2015 企业版 目 标 机:Windows XP X86 前提:我们已经成功安装了Visual Studio 2015以及WDK,而且更重要一点是一定要SDK版 ...

  6. 用Visual Studio 2015 编译张帆的第一个WDM驱动,并且成功安装到Windows 10里面!!!

    开发工具:Visual Studio 2015 企业版 目 标 机:Windows 10 X86 前提:我们已经成功安装了Visual Studio 2015以及WDK,而且更重要一点是一定要SDK版 ...

  7. (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功

    (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功 1.下载opencv 官网http://opencv.org/下载windows版Op ...

  8. Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a(转载)

    Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a 最近于导师要求下,从头学习Caffe.之前接触了CNN进行了图片分类,后导师提起过Caff ...

  9. 在visual studio 2015 中调试caffe

    看到这里,默认已经安装并编译过caffe了. 要学习caffe源码就要调试,在windows下调试.使用visual studio 2015调试caffe源码. 第一步:将生成caffe.lib的ca ...

随机推荐

  1. 刷题总结——Tree2cycle(hdu4714 树形dp)

    题目: A tree with N nodes and N-1 edges is given. To connect or disconnect one edge, we need 1 unit of ...

  2. luoguP1040 区间DP(记忆化 加分二叉树

    dp[l][r]记录中序序列为l, l+1..r的最大加分值 root[l][r]记录这个序列的根节点 转移 i 为根节点 dp[l][r] = max(dp[l][i-1]*dp[l+1][r]+a ...

  3. 32深入理解C指针之---字符串操作

    一.字符串操作主要包括字符串复制.字符串比较和字符串拼接 1.定义:字符串复制strcpy,字符串比较strcmp.字符串拼接strcat 2.特征: 1).必须包含头文件string.h 2).具体 ...

  4. gerrit 安装

    http://blog.csdn.net/ljchlx/article/details/21988471

  5. Scanner用法

    先来看一个简单的例子: import java.util.*; public class ScannerTest { public static void main(String[] args){   ...

  6. Group by 两表联查取另一表与之关联数据的总数

    使用group by 需要查询的字段 必须要放在group by 后面 SELECT U.UserLotterySn,count(W.Userlotterysn) as WinCount,U.Acti ...

  7. nfs详解及实现全网备份

    1.统一hosts cat /etc/hosts 172.16.1.5 lb01 172.16.1.6 lb02 172.16.1.7 web02 172.16.1.8 web01 172.16.1. ...

  8. CODECHEF Nov. Challenge 2014 Chef & Churu

    @(XSY)[分塊] Hint: 題目原文是英文的, 寫得很難看, 因此翻譯為中文. Input Format First Line is the size of the array i.e. \(N ...

  9. 【面试 IO】【第十一篇】 java IO

    1.什么是比特(Bit),什么是字节(Byte),什么是字符(Char),它们长度是多少,各有什么区别 1>Bit最小的二进制单位 ,是计算机的操作部分 取值0或者1 2>Byte是计算机 ...

  10. 记Weblogic采用RAC方式链接数据库遇到的问题

      前几天,去客户现场部署系统,WEBLOGIC连接数据库使用RAC方式连接,好几个人弄了一下午愣是没搞定,总是报SID错误 开始一致认为是防火墙的原因,后来SSH登陆应用服务器后,再TELNET数据 ...