http://blog.csdn.net/naaaa/article/details/52118437

2016-08-04 15:33 1316人阅读 评论(1) 收藏 举报
 分类:
caffe

版权声明:本文为博主原创文章,未经博主允许不得转载。

1.下载vs2013,安装

http://download.microsoft.com/download/0/7/5/0755898A-ED1B-4E11-BC04-6B9B7D82B1E4/VS2013_RTM_ULT_CHS.iso

2.下载caffe源代码,解压

https://github.com/Microsoft/caffe

将caffe-master/windows下CommonSettings.props.example后面的.example去掉。

3.gpu配置

带gpu的配置:

下载cuda:

https://developer.nvidia.com/cuda-downloads

根据自己的显卡选择下载的版本

双击exe进行安装

下载cudnn:

https://developer.nvidia.com/cudnn

下载v4或v5版本

解压后分别将lib、include、bin文件夹下的文件复制到cuda安装目录下的lib、include、bin文件夹下

(默认为:c:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vx.x)

无gpu的配置:

记事本打开caffe-master/windows下的CommonSettings.prop修改:

<CpuOnlyBuild>false</CpuOnlyBuild>为<CpuOnlyBuild>true</CpuOnlyBuild>

<UseCuDNN>true</UseCuDNN>为<UseCuDNN>false</UseCuDNN>

编译每个项目前设置:

项目->属性->配置属性->c/c++->预处理器->预处理器定义,添加一项CPU_ONLY

4.生成libcaffe

打开caffe-mastetr/windows下的Caffe.sln

所有项目都要用到libcaffe.lib,所以第一个要编译这个项目。

libcaffe有很多相关的库,工程里已经配置好了可以用NuGet进行下载。

我们需要安装NuGet包管理器并启动它。

下载Nuget:

工具->扩展和更新->联机,搜索NuGet,下载Nuget 包管理

(也可以网站直接下载http://docs.nuget.org/consume/installing-nuget,双击安装)

启动Nuget:

右键工程->启用NuGet程序包还原。

接着生成libcaffe会在caffe-master\Build\x64\Debug下生成libcaffe.lib

(后续所有的exe文件也都是生成在这个目录)

5.cifar10训练数据

http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz

下载数据到caffe-master\data\cifar10,解压。

下载的数据为binary格式,需要转换为leveldb。

编译convert_cifar_data项目,生成convert_cifar_data.exe。

打开cmd,cd到caffe-master\Build\x64\Debug,输入命令(后续所有命令都是在这个路径下):

convert_cifar_data.exe ../../../data/cifar10/cifar-10-batches-bin ../../../data/cifar10 leveldb

在caffe-master\data\cifar10文件夹下生成cifar10_test_leveldb和cifar10_train_leveldb文件夹

6.求数据图像均值

编译compute_image_mean项目,生成compute_image_mean.exe

cmd输入命令:

compute_image_mean.exe ../../../data/cifar10/cifar10_train_leveldb ../../../data/cifar10/mean.binaryproto --backend=leveldb

7.训练cifar10模型

打开caffe-master\examples\cifar10\cifar10_quick_solver.prototxt文件:

修改路径:examples/cifar10 为 ../../../examples/cifar10(两处)

修改最后一行为:solver_mode: CPU(用gpu就不用改这一项)

打开caffe-master\examples\cifar10\ cifar10_quick_train_test.prototxt文件:

修改backend: LMDB 为 backend: LEVELDB(两处)

修改mean_file: "examples/cifar10/mean.binaryproto" 为 mean_file:"../../../data/cifar10/mean.binaryproto"(两处)

修改source: "examples/cifar10/cifar10_train_lmdb" 为 source:"../../../data/cifar10/cifar10_train_leveldb"

修改source: "examples/cifar10/cifar10_test_lmdb" 为 source:"../../../data/cifar10/cifar10_test_leveldb"

编译caffe项目,生成caffe.exe

cmd输入命令:caffe.exe train --solver=../../../examples/cifar10/cifar10_quick_solver.prototxt  训练网络

CPU训练会训练好久,训练完成后caffe-master/examples/cifar10文件夹下生成

cifar10_quick_iter_4000.caffemodel.h5

cifar10_quick_iter_4000.solverstate.h5

8.对图像进行分类

在caffe-master\data\cifar10下新建文本文件synset_words.txt。

文件内容是cifar10里面包含的分类种类,如下:

  1. airplane
  2. automobile
  3. bird
  4. cat
  5. deer
  6. dog
  7. frog
  8. horse
  9. ship
  10. truck

编译classification项目,生成classification.exe

命令行输入:

classification.exe ../../../examples/cifar10/cifar10_quick.prototxt ../../../examples/cifar10/cifar10_quick_iter_4000.caffemodel.h5 ../../../data/cifar10/mean.binaryproto ../../../data/cifar10/synset_words.txt ../../../examples/images/cat.jpg

就会出来分类结果,我的结果:

  1. ---------- Prediction for ../../../examples/images/cat.jpg ----------
  2. 0.9784 - "deer"
  3. 0.0100 - "cat"
  4. 0.0094 - "bird"
  5. 0.0017 - "frog"
  6. 0.0004 - "dog"

参考博文:http://blog.csdn.net/zb1165048017/article/details/51476516

caffe搭建--WINDOWS+VS2013下生成caffe并进行cifar10分类测试的更多相关文章

  1. windows环境下 生成git公钥和私钥

    windows环境下 生成公钥和私钥 上传代码到远程仓库的时候需要秘钥进行验证是否本人上传的.打开Git目录下的Git Bash 输入ssh-keygen,回车 可直接不输入路径,使用默认路径(c/U ...

  2. 搭建windows环境下(nginx+mysql+php)开发环境

    搭建windows环境下(nginx+mysql+php)开发环境   1. 所需准备应用程序包        1.1 nginx 程序包nginx-1.0.4.zip或其他版本(下载地址: http ...

  3. 番外篇:搭建Windows环境下的RabbitMQ环境

    搭建Windows环境下的Rabbitmq环境 下载erlang语言包OTP.官网地址: https://www.erlang.org/downloads 如果下载不了,可以选择百度网盘下载,里面的版 ...

  4. CAFFE学习笔记(三)在VS2013下生成需要的exe文件

    如我们所知,CAFFE_ROOT下有一个文件夹叫tools,里面中有许多cpp文件,它们各自有其不同的功能.但是很显然,当我们要完成某样工作时,我们是不能直接用cpp文件的,只能用exe文件.如何利用 ...

  5. 转 Windows+VS2013爆详细Caffe编译安装教程

    1. 安装cuda Cuda是英伟达推出的GPU加速运算平台 我这里安装的是cuda7.5,已经安装过的忽略,还没有安装过的这里有安装教程.windows下面安装还是非常简单的. 点击打开链接    ...

  6. 基于chyh1990/caffe-compact在windows vs2013上编译caffe步骤

    1.      从https://github.com/chyh1990/caffe-compact下载caffe-compact代码: 2.      通过CMake(cmake-gui)生成vs2 ...

  7. [经验分享]Windows系统下生成IOS证书

    我使用ApiCloud开发APP,开发后需要生成IOS的证书才能在项目开发控制台中进行编译,于是我在网上大海捞针似的寻找办法. 官方文档提供了使用苹果系统下生成IOS证书的步骤,对于我这个没有imac ...

  8. PHP环境搭建-Windows系统下PHP环境搭建

    1.PHP环境搭建的前提是 Apache HTTP Server (Apache 服务器)已经安装部署成功,并可以正常访问到服务器的主页面.Apache HTTP Server 的安装部署已经在上一篇 ...

  9. Spring 5.2.x 源码环境搭建(Windows 系统环境下)

    前期准备 1.确保本机已经安装好了 Git 2.Jdk 版本至少为 1.8 3.安装好 IntelliJ IDEA (其他开发工具,如 eclipse.Spring Tool Suite 等也是可以的 ...

随机推荐

  1. Road(bzoj 2750)

    Description C国有n座城市,城市之间通过m条单向道路连接.一条路径被称为最短路,当且仅当不存在从它的起点到终点的另外一条路径总长度比它小.两条最短路不同,当且仅当它们包含的道路序列不同.我 ...

  2. 乘法逆元__C++

    在开始之前我们先介绍3个定理: 1.乘法逆元(在维基百科中也叫倒数,当然是 mod p后的,其实就是倒数不是吗?): 如果ax≡1 (mod p),且gcd(a,p)=1(a与p互质),则称a关于模p ...

  3. luogu 1004 方格取数 dp

    题目链接 题意 设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0.如下图所示: A 0 0 0 0 0 0 0 0 0 0 13 0 0 6 0 0 ...

  4. unix网络编程第一章demo

    之前一直以为time_wait状态就是主动关闭的那一方产生.然后这个端口一直不可以用.实际我发现服务端监听一个端口.客户端发来连接后.传输数据后.服务端关闭客户端套接字后.用netstat -nat ...

  5. udp 多播2

    11.3  多播 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信.单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信.实际情况下,经常 ...

  6. php 几种排序模式

    冒泡排序 冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工>作 ...

  7. CI调试应用程序

    该分析器将在页面下方显示基准测试结果,运行过的 SQL 语句,以及 $_POST 数据.这些信息有助于开发过程中的调试和优化. 在控制器中设置以下方法以激活该分析器: $this->output ...

  8. wxpython example

    #!/usr/bin/env python #---------------------------------------------------------------------------- ...

  9. LeetCode OJ--Subsets II

    https://oj.leetcode.com/problems/subsets-ii/ 求一个集合的子集,但集合中有重复元素. 求子集的问题,对应着数的二进制,相当于对二进制的一个遍历. #incl ...

  10. python,django,mysql学习之环境安装配置

    参考:https://docs.djangoproject.com/en/1.6/intro/tutorial01/ http://rainyang.blog.51cto.com/469543/115 ...