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 等也是可以的 ...
随机推荐
- 刷题总结——单旋(HNOI2017 bzoj4825)
题目: Description H 国是一个热爱写代码的国家,那里的人们很小去学校学习写各种各样的数据结构.伸展树(splay)是一种数据 结构,因为代码好写,功能多,效率高,掌握这种数据结构成为了 ...
- 算法复习——哈希表+折半搜索(poj2549)
搬讲义~搬讲义~ 折半搜索感觉每次都是打暴力时用的啊2333,主要是用于降次··当复杂度为指数级别时用折半可以减少大量复杂度··其实专门考折半的例题并不多···一般都是中途的一个小优化··· 然后折半 ...
- Java面试题之Array和ArrayList的区别
Array和ArrayList的区别: 1.Array类型的变量在声明的同时必须进行实例化(至少得初花数组的大小),而ArrayList可以只是先声明: 2.Array始终是连续存放的:而ArrayL ...
- 百度网络监控实战:NetRadar横空出世(下)
原文:https://mp.weixin.qq.com/s/CvCs-6rX8Lb5vSTSjYQaBg 转自订阅号「AIOps智能运维」,已授权运维帮转发 作者简介:运小贝,百度高级研发工程师 负责 ...
- touch event 存疑
1.原声js与借用jquery输出来的事件列表却不一样 function touchPlay(e) { e.preventDefault(); console.log(e); } var screen ...
- UVa11424 GCD - Extreme (I)
直接两重循环O(n^2)算gcd……未免太耗时 枚举因数a和a的倍数n,考虑gcd(i,n)==a的i数量(i<=n) 由于gcd(i,n)==a等价于gcd(i/a,n/a)==1,所以满足g ...
- 高阶函数之函数柯里化function currying
var cost = (function(){ var args = []; return function(){ if(arguments.length === 0){ ...
- Django 博客首页视图
Django 处理 HTTP 请求 Web 应用的交互过程其实就是 HTTP 请求与响应的过程.无论是在 PC 端还是移动端,我们通常使用浏览器来上网,上网流程大致来说是这样的: 我们打开浏览器,在地 ...
- PHP解码Json(json_decode)字符串返回NULL的原因及解决方法(转载)
本文主要为大家讲解了php在使用json_decode函数解码json字符串时,解码不成功返回NULL的问题原因分析和解决方法,感兴趣的同学参考下. 一般来说,php对json字符串解码使用json_ ...
- PHP实现15位身份证号转18位
PHP实现15位身份证号转18位 参考博客: 作者:selfimpr626 来源:CSDN (根据身份证号计算年龄,15位身份证号码转18位) 原文:https://blog.csdn.net/wei ...