caffe搭建--WINDOWS+VS2013下生成caffe并进行cifar10分类测试
http://blog.csdn.net/naaaa/article/details/52118437
版权声明:本文为博主原创文章,未经博主允许不得转载。
1.下载vs2013,安装
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里面包含的分类种类,如下:
- airplane
- automobile
- bird
- cat
- deer
- dog
- frog
- horse
- ship
- 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
就会出来分类结果,我的结果:
- ---------- Prediction for ../../../examples/images/cat.jpg ----------
- 0.9784 - "deer"
- 0.0100 - "cat"
- 0.0094 - "bird"
- 0.0017 - "frog"
- 0.0004 - "dog"
参考博文:http://blog.csdn.net/zb1165048017/article/details/51476516
caffe搭建--WINDOWS+VS2013下生成caffe并进行cifar10分类测试的更多相关文章
- windows环境下 生成git公钥和私钥
windows环境下 生成公钥和私钥 上传代码到远程仓库的时候需要秘钥进行验证是否本人上传的.打开Git目录下的Git Bash 输入ssh-keygen,回车 可直接不输入路径,使用默认路径(c/U ...
- 搭建windows环境下(nginx+mysql+php)开发环境
搭建windows环境下(nginx+mysql+php)开发环境 1. 所需准备应用程序包 1.1 nginx 程序包nginx-1.0.4.zip或其他版本(下载地址: http ...
- 番外篇:搭建Windows环境下的RabbitMQ环境
搭建Windows环境下的Rabbitmq环境 下载erlang语言包OTP.官网地址: https://www.erlang.org/downloads 如果下载不了,可以选择百度网盘下载,里面的版 ...
- CAFFE学习笔记(三)在VS2013下生成需要的exe文件
如我们所知,CAFFE_ROOT下有一个文件夹叫tools,里面中有许多cpp文件,它们各自有其不同的功能.但是很显然,当我们要完成某样工作时,我们是不能直接用cpp文件的,只能用exe文件.如何利用 ...
- 转 Windows+VS2013爆详细Caffe编译安装教程
1. 安装cuda Cuda是英伟达推出的GPU加速运算平台 我这里安装的是cuda7.5,已经安装过的忽略,还没有安装过的这里有安装教程.windows下面安装还是非常简单的. 点击打开链接 ...
- 基于chyh1990/caffe-compact在windows vs2013上编译caffe步骤
1. 从https://github.com/chyh1990/caffe-compact下载caffe-compact代码: 2. 通过CMake(cmake-gui)生成vs2 ...
- [经验分享]Windows系统下生成IOS证书
我使用ApiCloud开发APP,开发后需要生成IOS的证书才能在项目开发控制台中进行编译,于是我在网上大海捞针似的寻找办法. 官方文档提供了使用苹果系统下生成IOS证书的步骤,对于我这个没有imac ...
- PHP环境搭建-Windows系统下PHP环境搭建
1.PHP环境搭建的前提是 Apache HTTP Server (Apache 服务器)已经安装部署成功,并可以正常访问到服务器的主页面.Apache HTTP Server 的安装部署已经在上一篇 ...
- Spring 5.2.x 源码环境搭建(Windows 系统环境下)
前期准备 1.确保本机已经安装好了 Git 2.Jdk 版本至少为 1.8 3.安装好 IntelliJ IDEA (其他开发工具,如 eclipse.Spring Tool Suite 等也是可以的 ...
随机推荐
- Road(bzoj 2750)
Description C国有n座城市,城市之间通过m条单向道路连接.一条路径被称为最短路,当且仅当不存在从它的起点到终点的另外一条路径总长度比它小.两条最短路不同,当且仅当它们包含的道路序列不同.我 ...
- 乘法逆元__C++
在开始之前我们先介绍3个定理: 1.乘法逆元(在维基百科中也叫倒数,当然是 mod p后的,其实就是倒数不是吗?): 如果ax≡1 (mod p),且gcd(a,p)=1(a与p互质),则称a关于模p ...
- 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 ...
- unix网络编程第一章demo
之前一直以为time_wait状态就是主动关闭的那一方产生.然后这个端口一直不可以用.实际我发现服务端监听一个端口.客户端发来连接后.传输数据后.服务端关闭客户端套接字后.用netstat -nat ...
- udp 多播2
11.3 多播 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信.单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信.实际情况下,经常 ...
- php 几种排序模式
冒泡排序 冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工>作 ...
- CI调试应用程序
该分析器将在页面下方显示基准测试结果,运行过的 SQL 语句,以及 $_POST 数据.这些信息有助于开发过程中的调试和优化. 在控制器中设置以下方法以激活该分析器: $this->output ...
- wxpython example
#!/usr/bin/env python #---------------------------------------------------------------------------- ...
- LeetCode OJ--Subsets II
https://oj.leetcode.com/problems/subsets-ii/ 求一个集合的子集,但集合中有重复元素. 求子集的问题,对应着数的二进制,相当于对二进制的一个遍历. #incl ...
- python,django,mysql学习之环境安装配置
参考:https://docs.djangoproject.com/en/1.6/intro/tutorial01/ http://rainyang.blog.51cto.com/469543/115 ...