学习windows下caffe的相关开发。同时也在安装完后及时进行总结,希望这篇博文可以帮助到大家!

需要准备的文件:

1,VS2013(必选),这个不再赘述

2,Windows版的caffe,BVLC官方链接为https://github.com/BVLC/caffe/tree/windows(一定要是WINDOWS版本的)

安装过程:

1,将下载的caffe-windows.zip进行解压,并进入其根目录下的windows目录,(eg:E:\caffe\windows)。将该目录下的CommonSettings.props.example复制一个并改名为CommonSettings.props,同样还是放在当前目录下。

2,点击打开该CommonSettings.props,这里由于本人的需要,对matcaffe,和pycaffe都进行了安装,实际操作的童鞋可以根据自己的需要进行选择。(要安装matcaffe必须首先安装matlab,安装步骤不在赘述,要安装pycaffe需要首先安装Python,可以参考该链接http://blog.csdn.net/qq_14845119/article/details/52354394)相应的修改如下所示。其中,左面为原始的CommonSettings.props.example,右面为需要修改的CommonSettings.props。

cpu模式的配置(如果以后要使用GPU再来改相应的地方!):

gpu模式的配置:

注意,CudaVersion修改为自己电脑的cuda版本(本人电脑的cuda为7.5版本,因此不做修改)。

同时注意,由于GPU库除了使用cublas等cuda库之外,还用到了cudnn,默认安装驱动是不安装这个的,因此,需要去官网 https://developer.nvidia.com/cudnn下载(需要注册)。下载完成后,进行解压,将相应的bin,include,lib分别放于自己的cuda下面的相应目录中,例如,本人电脑的cuda目录为 C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v7.5,因此,将刚才解压的文件放在这个目录下面的bin,include,lib文件夹下。

3,点击E:\caffe\windows该目录下的Caffe.sln用VS2013打开。这里由于别的模块用到了libcaffe,所以,首先选择libcaffe,右键生成。成功之后,再选择整个解决方案,右键生成解决方案。

其中会出现3个问题

(1)Nuget会提示下载一些东西,包括boost,opencv2.4.10,gflags,glog,hdf5,lmdb,LevelDB,OpenBLAS,protobuf等预编译的依赖包。过程有点慢,多等会就ok。下载完成后会在caffe 的同级目录生成NugetPackages的文件。

(2)出现没有生成object文件的错误,双击该错误,点击确定,然后保存即可。

(3)出现无法打开libcaffe.lib的错误,编译生成libcaffe,再编译整个解决方案。

(4),右键解决方案->属性->通用属性->启动项目->当前选定内容,然后保存。

点击caffe->caffe.cpp,按F5运行,生成如下界面,证明安装成功。同时在根目录下面会生成相应的exe,lib,dll等文件。

plus:在上面的工作完成之后,可以考虑将NugetPackages根目录下的glog,LevelDB,protobuf目录中lib下面的debug目录中相应的lib后面都加上D重命名一下,这样在实际工程调试还是部署都不会有debug和release的lib重名的现象。还是很有用的。当然这一步可以不做,根据自己需要。

到目前为止caffe就都安装好了,进入测试环节,let's make some noise,

mnist测试:

下面通过一个一个最简单的网络结构lenet来对刚才安装的caffe进行测试。

(1)去官网http://yann.lecun.com/exdb/mnist/下载mnist数据集。下载后解压到E:\caffe\data\mnist,如下图所示。

(2)在caffe根目录下,新建一个create_mnist.bat,里面写入如下的脚本。

[plain]  view plain copy
  1. .\Build\x64\Release\convert_mnist_data.exe .\data\mnist\mnist_train_lmdb\train-images.idx3-ubyte .\data\mnist\mnist_train_lmdb\train-labels.idx1-ubyte .\examples\mnist\mnist_train_lmdb
  2. echo.
  3. .\Build\x64\Release\convert_mnist_data.exe .\data\mnist\mnist_test_lmdb\t10k-images.idx3-ubyte   .\data\mnist\mnist_test_lmdb\t10k-labels.idx1-ubyte .\examples\mnist\mnist_test_lmdb
  4. pause

然后双击该脚本运行,即可在 E:\caffe\examples\mnist 下面生成相应的lmdb数据文件。

(3)修改E:\caffe\examples\mnist\lenet_solver.prototxt,将最后一行改为solver_mode:CPU,

修改E:\caffe\examples\mnist\lenet_train_test.prototxt,如下所示,左面为原始的,右面为修改后的。

(4)在caffe根目录下,新建train_mnist.bat,然后输入如下的脚本,

[plain]  view plain copy
  1. .\Build\x64\Release\caffe.exe train --solver=.\examples\mnist\lenet_solver.prototxt
  2. pause

然后双击运行,就会开始训练,训练完毕后会得到相应的准确率和损失率。

【Caffe】Windows下caffe安装详解相关推荐

  1. Windows 下OpenSSL 安装详解 +图解

    Windows 下OpenSSL 安装详解 +图解 转载于:https://www.cnblogs.com/zhujiabin/p/5088646.html

  2. linux 访问windows 端口,Linux和Windows下查看端口详解

    Linux和Windows下查看端口详解 我们常会在计算机上安装很多软件,如果喜欢冲浪的话,必然就会用的软件的通信,当然包括web开发的,应用多了,难免会要不小心占用端口的问题,这时候用命令来处理是最 ...

  3. Linux_ppc下软件包安装,Linux下软件包安装详解

    一.概述 现在Linux上软件的安装方式有多种,有源码包编译,软件包管理器,软件包管理器前端工具,通用二进制编译等.源码包,优点是,灵活性和可定制性比较好,缺点是,技术要求高,操作复杂,虽然网上有编译 ...

  4. Linux 下HAproxy 安装详解

    运行环境:centos7.4 +haproxy 1.安装: #yum -y install haproxy 2.文件列表: /etc/haproxy /etc/haproxy/haproxy.cfg ...

  5. Linux 下 Redis 安装详解

    2019独角兽企业重金招聘Python工程师标准>>> redis作为NoSQL数据库的一种应用,响应速度和命中率上还是比较高效的.项目中需要用集中式可横向扩展的缓存框架,做了一点调 ...

  6. libevent在windows下使用步骤详解

     libevent是一个常用的网络库,下面就看看在windows下面编译测试的过程吧. 一 环境 系统:win8.1 编译器:VS2013 官方下载地址:http://libevent.org/ ...

  7. windows查看linux端口,Linux和Windows下查看端口详解

    我们常会在计算机上安装很多软件,如果喜欢冲浪的话,必然就会用的软件的通信,当然包括web开发的,应用多了,难免会要不小心占用端口的问题,这时候用命令来处理是最快的,在此把Windows和Linux下的 ...

  8. CentOS下Druid安装详解

    中文地址 http://www.apache-druid.cn/ 1. 介绍 当前市面上主流的大数据实时分析数据库很多,我们为什么选择Apache Druid?我们先做个对比: Apache Drui ...

  9. centos7系统下scala安装详解

    安装 安装sbt curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo sudo mv bintray-sbt-rpm.repo ...

  10. windows下Net命令详解

    NET命令是Windows中的一个功能强大的工具.虽然必须用命令行方式执行,但它的功能确覆盖了Windows中大部分重要的管理功能.例如,它可以管理网络环境.各种服务程序的运行和配置.进行用户和登陆管 ...

最新文章

  1. mongodb 结果二次调用_mongodb慢查询记录
  2. 日访问量百亿级的应用如何做缓存架构设计
  3. Opengl-光照-颜色(其实要想做出好看的东西这章最重要了)
  4. 腾讯视频电脑版下载_腾讯视频~如何用腾讯视频
  5. 互联网晚报 | 2月12日 星期六 | 宝马控股华晨宝马落锤;知乎否认视频部门裁员;《老友记》全十季高清版全网首播...
  6. 方法的直接调用,反射调用与……Lambda表达式调用
  7. oracle 500,500 OOPS: cannot change directory问题
  8. 中文分词第三方库_Python计算生态jieba库和random库的综合运用之爬山篇
  9. ios上传图片 java_iOS ASIFormDataRequest上传图片 前后台代码
  10. 电脑使用故障排除150例
  11. CloudSim源码分析之DatacenterBroker--processEvent()
  12. 实现广告图片切换效果轮播图效果
  13. Android Excel(xls,xlsx)表格数据简单生成和读取尝试
  14. 【Python学习笔记】利用mplfinance画K线图
  15. 数据库主键到底是用自增长(INT)好还是UUID好?
  16. java 日历工具_java之日历处理工具类Calendar类
  17. 580013 与600005
  18. 卸载鲁大师后 计算机无法启动项,win7电脑鲁大师开机启动项关闭的图文教程
  19. arduino 下16进制转2进制
  20. android支付平台调研

热门文章

  1. TTS离线语音合成应用方案【一】
  2. matlab中set的用法,set函数(set函数的使用方法)
  3. 【Pyecharts50例】GEO图中忽略不存在的位置
  4. XML的优势及应用领域
  5. program received signal sigsegv,需要注意的问题!!!!!!
  6. 【js原生调用Node.js】使用spawn如果cwd不存在会报错
  7. insert into
  8. 数字孪生水利工程可视化平台解决方案,孪生数字技术实现项目案例
  9. 根据邮箱查寻邮件系统
  10. LLVM中指令的一生