caffe搭建----Visual Studio 2015+CUDA8.0+CUDNN5配置Caffe-windows(BLVC)
原文来源: 来源:Angle_Cal 2016-12-19 17:32
BLVC版本的Caffe-windows已经支持Visual Studio 2015,下面的配置过程是综合了其他人的经验而且验证过的,可以确保有效.
- 下载Caffe-Windows(BLVC)
下载地址:GitHub
下载好解压缩即可.
建议使用git命令下载。
即有
git clone https://github.com/BVLC/caffe.git
git branch
git checkout windows
- 安装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中. - 下载依赖
在(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文件夹放进去.
如果下载缓慢,可以使用这个链接注意文件名中实际上包含了很多信息,请核对一下,这和你的实际情况是不是一样的,如果不一样,请用脚本下载. - 确认环境变量
注意:Anaconda和CUDA的环境变量是安装程序自己加进去的,最后面的那个关于build的变量需要你把第3步的目录加进去,CMake的变量也要加进去. - 修改批处理脚本
(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)的更多相关文章
- Caffe on Windows (Visual Studio 2015+CUDA8.0+cuDNNv5)
Title : Caffe (Visual Studio15+CUDA8+cuDNN5+python3.5) Author : SURFZJY Logo : True [TITLE] Requirem ...
- visual studio 2015 Opencv4.0.1配置
最近由于工作需要,要配置opencv,我的电脑vs的version是2015,在网上下载了最新的opencv 4.0.1 自己摸索总是很困难,网上的例子也比较多,但版本比较低,也不确定适不适合vs20 ...
- Ubuntu16.04 + gtx1060 + cuda8.0 + cudnn5.1 + caffe + Theano + Tensorflow
参考 ubuntu16.04+gtx1060+cuda8.0+caffe安装.测试经历 ,细节处有差异. 首先说明,这是在台式机上的安装测试经历,首先安装的win10,然后安装ubuntu16.04双 ...
- Ubuntn16.04+OpenCV3.1+CUDA8.0+cudnn5.1+caffe配置及问题集锦
ubuntn16.04 Caffe安装步骤记录(超详尽) 一开始安装好ubuntn16.04后,先安装的opencv3.1,再自己安装的390驱动,cuda8.0和cudnn,之后配置caffe一直不 ...
- 用Visual Studio 2015 编译张帆的第一个NT式驱动,并且成功安装到Windows XP里面!!!
开发工具:Visual Studio 2015 企业版 目 标 机:Windows XP X86 前提:我们已经成功安装了Visual Studio 2015以及WDK,而且更重要一点是一定要SDK版 ...
- 用Visual Studio 2015 编译张帆的第一个WDM驱动,并且成功安装到Windows 10里面!!!
开发工具:Visual Studio 2015 企业版 目 标 机:Windows 10 X86 前提:我们已经成功安装了Visual Studio 2015以及WDK,而且更重要一点是一定要SDK版 ...
- (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 ...
- Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a(转载)
Caffe在以下环境安装:Win10+CUDA8.0+Cudnn5.0+VS2013+Matlab2016a 最近于导师要求下,从头学习Caffe.之前接触了CNN进行了图片分类,后导师提起过Caff ...
- 在visual studio 2015 中调试caffe
看到这里,默认已经安装并编译过caffe了. 要学习caffe源码就要调试,在windows下调试.使用visual studio 2015调试caffe源码. 第一步:将生成caffe.lib的ca ...
随机推荐
- 【Luogu】P3389高斯消元模板(矩阵高斯消元)
题目链接 高斯消元其实是个大模拟qwq 所以就着代码食用 首先我们读入 ;i<=n;++i) ;j<=n+;++j) scanf("%lf",&s[i][j]) ...
- BZOJ 2806 [Ctsc2012]Cheat ——后缀自动机 单调队列优化DP
先建出广义后缀自动机. 然后跑出文章中每一个位置的最大匹配距离. 然后定义$f[i]$表示匹配到以$i$结尾的串时,最长的匹配距离. 显然可以二分$L$的取值. 然后容易得到$DP$方程 $f[i]= ...
- docker (centOS 7) 使用笔记2 - 使用nfs作为volume
本次测试的服务器2台,服务器#1(centos7)最为docker容器所在的host,服务器#2(centos6)提供NFS服务 1. #2上配置NFS服务 (1) 安装nfs软件包 yum -y i ...
- java面试题之如何中断一个线程?
方法一:调用interrupt方法,通知线程应该中断了: A.如果线程处于被阻塞状态,那么线程将立即退出被阻塞状态,并抛出了一个InterruptedException异常. B.如果线程处于正常活动 ...
- 线段树懒标记好题 HDU4578
(1)"1 x y c",代表 把区间 [x,y] 上的值全部加c (2)"2 x y c",代表 把区间 [x,y] 上的值全部乘以c (3)"3 ...
- poj 3293 Rectilinear polygon
Rectilinear polygon Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2125 Accepted: 24 ...
- 2018.7.31 Noip2018模拟测试赛(十六)
日期: 七月最后一天 总分: 300分 难度: 提高 ~ 省选 得分: 30分(少的可怜) 我太弱了:(题目目录) T1:Mushroom追妹纸 T2:抵制克苏恩 T3:美味 失分分析:(QA ...
- Java语言编码规范 - Java语言编码规范(中文版)(http://doc.javanb.com/code-conventions-for-the-java-programming-language-zh/index.html)
目录 1 介绍 1.1 为什么要有编码规范 1.2 版权声明 2 文件名 2.1 文件后缀 2.2 常用文件名 3 文件组织 3.1 Java源文件 3.1.1 开头注释 3.1.2 包和引入语句 ...
- python读取Excel实例
1.操作步骤: (1)安装python官方Excel库-->xlrd (2)获取Excel文件位置并读取 (3)读取sheet (4)读取指定rows和cols内容 2.示例代码 # -*- c ...
- 如何循序渐进向.NET架构师发展
微软的DotNet开发绝对是属于那种入门容易提高难的技术.而要能够成为DotNet架构师没有三年或更长时间的编码积累基本上是不可能的.特别是在大型软件项目中,架构师是项目核心成员,承上启下,因此RUP ...