win10+caffe+GPU
由于学习需要,决定安装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_iter和snapshot是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的更多相关文章
- win10 caffe GPU环境搭建
一.准备 系统:win10 显卡:gtx1050Ti 前期的一些必要软件安装,包括python3.5.matlab2016.vs2015.git, 可参考:win10+vs2015编译caffe的cp ...
- windows下caffe GPU版本配置
由于项目需要,所以在自己本子上配置了一下windows下GPU版本的caffe; 硬件: win10 ; gtx1070独显(计算能力6.1): 安装软件: cudnn-8. ...
- Ubuntu16.04 faster-rcnn+caffe+gpu运行环境配置以及解决各种bug
https://blog.csdn.net/flygeda/article/details/78638824 本文主要是对近期参考的网上各位大神的博客的总结,其中,从安装系统到跑通程序过程中遇到的各种 ...
- Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
最近入手一台GTX 1070的笔记本,手痒想在win10上试下GPU跑模型,所以就有了接下来的安装GPU版mxnet的坎坷历程,经过多重试验终于搞定了python和R安装mxnet,现将主要点记录如下 ...
- caffe+GPU︱AWS.G2+Ubuntu14.04+GPU+CUDA8.0+cudnn8.0
国服亚马逊的GPU实例G2.2xlarge的python+caffe的安装过程,被虐- 一周才装出来- BVLC/caffe的在AWS安装的官方教程github: https://github.com ...
- Ubuntu16.04 14.04安装配置Caffe(GPU版)
caffe配置过程很长啊,坑非常多,没有linux基础的估计会香菇的.我参考了网上很多的帖子,基本上每个帖子都有或多或少的问题,研究很久最终配置成功.参考过的帖子太多,都记不太清来源了.为了对前人的感 ...
- ubuntu16.04+caffe+GPU+cuda+cudnn安装教程
步骤简述: 1.安装GPU驱动(系统适配,不采取手动安装的方式) 2.安装依赖(cuda依赖库,caffe依赖) 3.安装cuda 4.安装cudnn(只是复制文件加链接,不需要编译安装的过程) 5. ...
- win10 + gluon + GPU
1. 下载教程 可以用浏览器下载zip格式并解压,在解压目录文件资源管理器的地址栏输入cmd进入命令行模式. 也可以 git pull https://github.com/mli/gluon-tut ...
- win10+Theano+GPU
1. cuda + cudnn 首先还是要先安装GPU库,具体和caffe安装中一样. 2. Theano 为防止下载速度慢,配置清华镜像 conda config --add channels ht ...
随机推荐
- 使用Nodejs在Windows上调用CMD命令
要用nodejs执行cmd,需要引入一个包node-cmd npm install node-cmd var cmd=require('node-cmd'); cmd.get( 'notepad',/ ...
- vim编辑器的命令总结
1. 设置显示行数 :set nu 2. 复制第100至第103行的代码
- [SimplePlayer] 2. 在屏幕上显示视频图像
我们这里采用SDL(本文所用版本为SDL2.0.5)来进行图像输出,SDL在进行图像渲染时一般采用的会是direct3D或者opengl,SDL对它们进行了封装,不过我们这里只讨论SDL的使用,并不会 ...
- DRF之频率限制、分页、解析器和渲染器
一.频率限制 1.频率限制是做什么的 开放平台的API接口调用需要限制其频率,以节约服务器资源和避免恶意的频繁调用. 2.频率组件原理 DRF中的频率控制基本原理是基于访问次数和时间的,当然我们可以通 ...
- BZOJ3626[LNOI2014]LCA——树链剖分+线段树
题目描述 给出一个n个节点的有根树(编号为0到n-1,根节点为0).一个点的深度定义为这个节点到根的距离+1.设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先.有q次询问,每次询 ...
- 帝国cms打开慢
发现有个站(http://www.953239.com/)打开很慢,改了php版本后,快了一倍
- Python学习day9 函数Ⅰ(基础)
函数Ⅰ(基础) 三目运算 基本结构 v = 前面 if 条件 else 后面 #条件为真v=前面,条件为假v=后面.#等同于if 条件: v = '前面'else: v = '后面' ...
- JS兼容问题
//1.滚动条到顶端的距离 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; //2.滚动条 ...
- deepin安装mysql记录
本文转载自http://www.linuxidc.com/Linux/2016-07/133128.htm sudo apt-get install mysql-server apt-get isnt ...
- Docker:Docker 性质及版本选择 [三]
一.Docker的性质 Docker的组成其实很简单.你需要搭建registry,专属于你自己的私有仓库,然后就是docker的镜像和docker的容器.Docker的镜像,就类似与windos的系统 ...