由于学习需要,决定安装caffe,之前用的都是基于theano的keras。听说win下caffe很难配置,经过一个下午和晚上的配置终于成功,以此记录。

我的电脑:win10 64位,N卡GTX950,Visual Studio 2013,MatLab 2014a, Anaconda2,PyCharm2016.

          由于之前使用win下的theano和keras,所以安装了anaconda2,确实很好用,建议使用python的话还是装anaconda比较简单。

安装caffe前提要求:电脑系统win7,8,10都可以;显卡只有N卡可以用Cuda,利用GPU加速,非N卡就利用CPU就好;此外需要用matlab或python(推荐)编程的再下载对应软件。

安装步骤:

1.安装cuda和cuDNN(无GPU则无需安装)

因为网上有各种失败案例,所以要注意版本问题。官网即可下载,cuda我下载的是cuda_8.0.44_win10. cuDNN我下载的是cudnn-7.0-win-x64-v4.0(网上对cudnn 版本有争议)。

安装cuda8.0(进官网点击download一步一步来,安装时一直点下一步即默认装到C盘)和cudnn v4(下载下来解压,解压后会有一个名为cuda的文件)即可。

注:官网下载cudnn时会要求注册,填完信息注册完成后,选着cuDNN v4 或者 cuDNN v5 (这取决于 CommonSettings.props 文件里标注支持的版本,建议选择 cuDNN v4 Library for Windows)安装尽量默认路径。

cuda:

cudnn:

要实现gpu加速,以上步骤一定认真安装。

2.下载caffe

一种是直接上caffe官网:https://github.com/BVLC/caffe/tree/windows,这种方法需要自己装CuDNN。

另一种是用happynear的caffe-windows:https://github.com/happynear/caffe-windows,这个方法作者已经提供了打包好的第三方库。

因为我自己装的CuDNN,所以我采取第一种方法。下载完后,解压文件,得到一个叫caffe-master的文件夹。我装到了E盘,即E:\caffe-master

3.caffe环境整合

打开caffe-master文件夹,然后看到一个windows文件夹,然后继续打开windows文件夹,看到里面一个CommonSettings.props.example文件,复制出来一份,并改名字为CommonSettings.props。完成过后如下图:

然后打开到 caffe-master/caffe-master/windows 文件夹,用 VS2013 运行 Caffe.sln 文件,检查解决方案中的项目,重点看libcaffe和test_all是否成功地被导入。

第一次应该是这两个显示加载失败的,解决方法如下:

关闭VS,打开 CUDA 安装路径中的 MSbuildExtensions 文件夹,如果你在之前安装时选的是默认路径,那么它应当在 c 盘 / Program File/NVIDIA GPU Cpmputing Toolkit/CUDA/8.0/extras/visual_studio_integration 里

拷贝 MSbuildExtensions 文件夹中的所有文件,复制到 C 盘 / Program File(x86)/MSBuild/Microsoft.Cpp/v4.0(这里取决于你安装的版本)/V120/BuildCustomizations 文件夹下,替换目标中的文件

这时打开VS,发现他俩不再显示加载失败了。

点击 VS2013 里右边的 CommonSettings.props 文件

第 7行 false 保持为false(不是只要用CPU,所以为false)

第 8 行 false 改为 true(要用cudnn,所以为true)
第 9 行 7.5 改为 8.0(我的cuda版本为8.0)
第 13 行 false 改为 true(支持python所以为true)
第 24 行 改为你的 cuDNN 的解压文件中 cuda 文件夹的路径

如我把 cuda 文件夹复制到 E盘 / cuda7 文件夹下,则我在 CommonSettings.props 中路径应当为 E:\cuda7

第 48 行改为 Anaconda2 的安装文件夹,我的Aanconda2在D盘。

4. 编译

编译顺序:libcafffe->caffe->pycaffe

1)编译libcaffe:右击右侧libcaffe,选择属性,打开如下libcaffe属性页:按照如下修改

然后开始编译libcaffe,点击绿色三角即可,结果会很漫长等待,最后可能会有错误,我的确实出现错误,和大家的错误基本一样,大致是如下:无法打开libcaffe.lib:

网上的解决方案是对libcaffe单独重新生成,如下图所示:

然后重新编译,但这样的话会出现另外一个错误:   error C2220:警告被视为错误-没有生成“object”文件

如果出现这样的错误,请打开项目-属性按照下图进行更改:

如果已经改好的话,应该就不会再出现错误。我在运行的过程中出现了上面提及的两个错误,通过重新生成和将警告是为错误这两个解决方法,最终编译正确。

编译完成后,caffe_master文件夹下应该生成了一个名为Build的文件夹,以后编译的成功和运行需要的文件都会存放在..\build\X64\Relase下面。

2)编译caffe

在Visual Studio 2013的解决方案上面右击选择属性(properties)

出现  解决方案“caffe”属性页:按照如下设置,也有教程说选单启动项目,好像都可以。

这个过程更慢,过程需要联网因为可能会FQ,这个过程的结果是为了下载caffe需要用到的第三方库:NugetPackages(里面有16个文件)

可能有的人中途失败或其他原因,所以网上有人把这个包下载好了,可以直接拿来放到上图路径即可。

放到和caffe-windows文件夹的同级目录下。这样之后再打开Caffe.sln时能够自动识别出来,提供一个NugetPackages文件夹的压缩包:http://pan.baidu.com/s/1qYpg3bY,提取码f2zx。

最终编译完成后,会在Release下出现caffe.exe,如果出现说明编译成功。

测试:直接打开与右侧的caffe.cpp,按Ctrl+f5执行。

执行结果:下图为结果即ok!

3)编译pycaffe

我在编译的时候是直接点击pycaffe,直接运行即可,结果也正确,没有出现任何错误或者警告。网上好多教程是要配置路径(出错时),这里不再赘述。

5.测试

首先下载mnist数据集http://yann.lecun.com/exdb/mnist/,这里需要注意的是caffe并不直接通过下载得到的四个文件进行训练,而是会把它转化为lmdb或leveldb格式进行读取。lmdb是lightning(闪电的) memory-mapped database manager的缩写,能够把原始数据通过更为高效的存储方式存储,从而加快读取和训练速度(lmdb比leveldb更快,可以看看刚刚的NugetPackages文件夹,当中就包含着对应的库)。

实现这个转化的代码是\examples\mnist的convert_mnist_data.cpp,但也没必要看,因为它的运行脚本create_mnist.sh显然是linux下的东西。有教程绍如何实现自己的数据集向lmdb和leveldb转换。目前更很好的办法就是直接网盘下载,这里分享一个http://pan.baidu.com/s/1c2G9qyk 提取码xama。

里面是已经经过转换的leveldb格式的训练集和测试集,把这两个文件夹直接放到\examples\mnist目录下,如下图所示:

如果你没有gpu,则要改一个部位:

首先用VS打开\examples\mnist目录下的lenet_solver.prototxt,将最后一行改成CPU:

如果有gpu则不用改动。

可以看到,这个文件是对网络训练参数进行指定:max_iter指定了最大迭代次数,snapshot是输出中间结果。上图中的参数已经修改过,初始的max_itersnapshot是10000和5000。

接着再用VS打开\examples\mnist目录下的lenet_train_test.prototxt,做如下修改以正确指定训练集和测试集。

这里额外介绍下caffe-windows采用的LeNet-5模型,也就是上图中layer的定义方式。提供该模型的原始资料以供参考:http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf

完成上述工作后就可以编写bat脚本进行正式训练了。回到caffe-windows的根目录下新建一个run.txt并写入以下内容:

即在下图的路径中,先新建一个mytrain.txt(名字随意),然后写入上图内容,保存时另存为mytrain.bat。

如上图,即mytrain.bat

(  bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。)普及下。。

后缀名改成bat后双击运行,出现类似如下的训练过程:

好了,在我gtx950的gpu下,速度蛮快的,大约十多秒跑完:

OK,吃饭去!

补充下参考博客:

多多参考,才能仔细认真

http://www.cnblogs.com/yixuan-xu/p/5858595.html     从零到一:caffe-windows(CPU)配置与利用mnist数据集训练第一个caffemodelhttp://www.cnblogs.com/marso/p/caffe_win10_python.html     http://www.cnblogs.com/marso/p/caffe_win10_python.html

http://www.cnblogs.com/marso/p/caffe_win10_python.html      基于Windows10 x64+visual Studio2013+Python2.7.12环境下的Caffe配置学习

cn.bing.com/?FORM=Z9FD1                   Windows10+GTX950m+VS2013 环境下编译 Caffe(网页音乐不错23333)

http://www.2cto.com/kf/201612/575865.html    Windows 10下安装配置Caffe并支持GPU加速

http://blog.csdn.net/yingwei13mei/article/details/53890072       Caffe之win10版安装小结--细数自己遇到的各种坑

http://blog.csdn.net/qq_14845119/article/details/52415090       Windows下caffe安装详解(cpu+gpu+matcaffe+pycaffe)

http://m.blog.csdn.net/article/details?id=51549105      【caffe-Windows】caffe+VS2013+Windows+GPU配置+cifar使用

http://blog.csdn.net/happynear/article/details/45372231        如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口

 
 

win10+caffe+GPU的更多相关文章

  1. win10 caffe GPU环境搭建

    一.准备 系统:win10 显卡:gtx1050Ti 前期的一些必要软件安装,包括python3.5.matlab2016.vs2015.git, 可参考:win10+vs2015编译caffe的cp ...

  2. windows下caffe GPU版本配置

    由于项目需要,所以在自己本子上配置了一下windows下GPU版本的caffe; 硬件:  win10    ;      gtx1070独显(计算能力6.1): 安装软件:     cudnn-8. ...

  3. Ubuntu16.04 faster-rcnn+caffe+gpu运行环境配置以及解决各种bug

    https://blog.csdn.net/flygeda/article/details/78638824 本文主要是对近期参考的网上各位大神的博客的总结,其中,从安装系统到跑通程序过程中遇到的各种 ...

  4. Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置

    最近入手一台GTX 1070的笔记本,手痒想在win10上试下GPU跑模型,所以就有了接下来的安装GPU版mxnet的坎坷历程,经过多重试验终于搞定了python和R安装mxnet,现将主要点记录如下 ...

  5. caffe+GPU︱AWS.G2+Ubuntu14.04+GPU+CUDA8.0+cudnn8.0

    国服亚马逊的GPU实例G2.2xlarge的python+caffe的安装过程,被虐- 一周才装出来- BVLC/caffe的在AWS安装的官方教程github: https://github.com ...

  6. Ubuntu16.04 14.04安装配置Caffe(GPU版)

    caffe配置过程很长啊,坑非常多,没有linux基础的估计会香菇的.我参考了网上很多的帖子,基本上每个帖子都有或多或少的问题,研究很久最终配置成功.参考过的帖子太多,都记不太清来源了.为了对前人的感 ...

  7. ubuntu16.04+caffe+GPU+cuda+cudnn安装教程

    步骤简述: 1.安装GPU驱动(系统适配,不采取手动安装的方式) 2.安装依赖(cuda依赖库,caffe依赖) 3.安装cuda 4.安装cudnn(只是复制文件加链接,不需要编译安装的过程) 5. ...

  8. win10 + gluon + GPU

    1. 下载教程 可以用浏览器下载zip格式并解压,在解压目录文件资源管理器的地址栏输入cmd进入命令行模式. 也可以 git pull https://github.com/mli/gluon-tut ...

  9. win10+Theano+GPU

    1. cuda + cudnn 首先还是要先安装GPU库,具体和caffe安装中一样. 2. Theano 为防止下载速度慢,配置清华镜像 conda config --add channels ht ...

随机推荐

  1. Java的selenium代码随笔(1)

    package ShareClass; import java.awt.AWTException;import java.awt.Robot;import java.awt.Toolkit;impor ...

  2. deb包转化为rpm包

    deb文件格式本是ubuntu的安装文件,那么我想要在fedora中安装,需要把deb格式转化成rpm格式,我们用skype举例: 1.下载转换工具alien_8.78.tar.gz 2.deb转化成 ...

  3. sql-josn

    1 select fname,fdistrict ,famount from sale for json auto---最简单方式[{"name":"name1" ...

  4. PostgreSQL安装详细步骤windows

    PostgreSQL安装:一.windows下安装过程安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下:1.开始安装: 2.选择程序安装目录 ...

  5. 初步了解jQuery

    jQuery 库可以通过一行简单的标记被添加到网页中. jQuery是一个JavaScript函数库. jQuery是一个轻量级的"写的少,做的多"的JavaScript库. jQ ...

  6. VScode中python环境配置

    vscode中python环境配置 想要在vscode中运行python代码必须要告诉vscode使用哪个解释器才行 方法1. 打开命令面板(Ctrl+Shift+P)输入Python: Select ...

  7. 【XSY3156】简单计数II 容斥 DP

    题目大意 定义一个序列的权值为:把所有相邻的相同的数合并为一个集合后,所有集合的大小的乘积. 特别的,第一个数和最后一个数是相邻的. 现在你有 \(n\) 种数,第 \(i\) 种有 \(c_i\) ...

  8. 【BZOJ5507】[GXOI/GZOI2019]旧词(树链剖分,线段树)

    [BZOJ5507][GXOI/GZOI2019]旧词(树链剖分,线段树) 题面 BZOJ 洛谷 题解 如果\(k=1\)就是链并裸题了... 其实\(k>1\)发现还是可以用类似链并的思想,这 ...

  9. cdq分治(hdu 5618 Jam's problem again[陌上花开]、CQOI 2011 动态逆序对、hdu 4742 Pinball Game、hdu 4456 Crowd、[HEOI2016/TJOI2016]序列、[NOI2007]货币兑换 )

    hdu 5618 Jam's problem again #include <bits/stdc++.h> #define MAXN 100010 using namespace std; ...

  10. FreeNAS-9.10虚拟机测试安装

     虚拟机安装NreeNAS-9.10步骤 需求:网络监控磁盘要扩容 测试环境: CPU 内存 系统盘 共享盘 网卡 2核 2G 20G 20G 桥接 系统版本:FreeNAS-9.10 一.配置虚拟机 ...