caffe训练自己的图片进行分类预测--windows平台

版权声明:本文为博主原创文章,未经博主允许不得转载。
搭建好caffe环境后,就需要用自己的图片进行分类预测,主要步骤如下,主要参照http://www.cnblogs.com/denny402/p/5083300.html,感谢博主:
1、数据准备,下载待训练的图片集,共5类400张,测试集100张,目录分别为data\re\train,data\re\val,新建test.txt、val.txt。
2、转换数据为lmdb,复制create_imagenet.sh文件,修改参数为
3、计算均值文件,复制make_imagenet_mean.sh文件,修改参数为
4、制作网络模型,caffe中提供了很多成熟的模型,我们先直接拿过来用,主要用bvlc_reference_caffenet下的模型,复制.\models\bvlc_reference_caffenet\目录下的deploy.prototxt、solver.prototxt、train_val.prototxt三个文件,首先打开train_val.prototxt文件,修改mean、train_lmdb、val_lmdb文件路径,然后修改全连接层fc8的输出num,即分类数,
同样打开deploy.prototxt文件,修改num_output为5(5个类别),然后打开solver.prototxt,修改如下,具体参数意义在此不做说明
5、开始训练模型,新建.sh文件,输入
set -e
.D:/caffe/caffe-windows/Build/x64/Release/caffe train \
–solver=D:/caffe/caffe-windows/data/re/solver.prototxt $@
pause
cpu情况下需要训练好几个小时。
6、查看训练结果,待训练完成后,会在相应的路径下生成.caffemodel文件,即我们训练的模型,新建.sh文件,输入
D:\caffe\caffe-windows\Build\x64\Release\caffe.exe test –model=D:\caffe\caffe-windows\data\re\train_val.prototxt –weights=D:\caffe\caffe-windows\data\re\caffenet_train_iter_2000.caffemodel
pause
可以查看模型的训练结果,模型准确度比较低,说明网络模型没有设计好,这里只讲流程,网络模型需要进一步的研究
7、分类预测,模型训练完成后,就可以输入图片进行分类预测,在根目录下新建.sh文件,输入
Build\x64\Release\classification.exe data\re\deploy.prototxt data\re\caffenet_train_iter_2000.caffemodel data\re\imagenet_mean.binaryproto data\re\test.txt data\re\val\401.jpg
pause
主要有6个参数,第一个是Release下生成的classification.exe文件,第二个是预测文件,deploy.prototxt相对于train_val.prototxt少了data层,第三个是生成的网络模型,第四个是均值文件,第五个是类别文件,第六个是待预测分类的图片
识别率不是很高,需要进一步优化网络模型。
caffe训练自己的图片进行分类预测--windows平台的更多相关文章
- python+caffe训练自己的图片数据流程
1. 准备自己的图片数据 选用部分的Caltech数据库作为训练和测试样本.Caltech是加州理工学院的图像数据库,包含Caltech101和Caltech256两个数据集.该数据集是由Fei-Fe ...
- 实践详细篇-Windows下使用Caffe训练自己的Caffemodel数据集并进行图像分类
三:使用Caffe训练Caffemodel并进行图像分类 上一篇记录的是如何使用别人训练好的MNIST数据做训练测试.上手操作一边后大致了解了配置文件属性.这一篇记录如何使用自己准备的图片素材做图像分 ...
- 用训练好的caffemodel对单个/批量图片进行分类
一.单个图片进行分类 这个比较简单,在*.bat文件中输入以下代码: @echo off set BIN_DIR=D:\caffe\caffe-windows\Build\x64\Release se ...
- caffe︱深度学习参数调优杂记+caffe训练时的问题+dropout/batch Normalization
一.深度学习中常用的调节参数 本节为笔者上课笔记(CDA深度学习实战课程第一期) 1.学习率 步长的选择:你走的距离长短,越短当然不会错过,但是耗时间.步长的选择比较麻烦.步长越小,越容易得到局部最优 ...
- 基于Caffe训练AlexNet模型
数据集 1.准备数据集 1)下载训练和验证图片 ImageNet官网地址:http://www.image-net.org/signup.php?next=download-images (需用邮箱注 ...
- 使用caffe训练mnist数据集 - caffe教程实战(一)
个人认为学习一个陌生的框架,最好从例子开始,所以我们也从一个例子开始. 学习本教程之前,你需要首先对卷积神经网络算法原理有些了解,而且安装好了caffe 卷积神经网络原理参考:http://cs231 ...
- Caffe训练AlexNet网络,精度不高或者为0的问题结果
当我们使用Caffe训练AlexNet网络时,会遇到精度一值在低精度(30%左右)升不上去,或者精度总是为0,如下图所示: 出现这种情况,可以尝试使用以下几个方法解决: 1.数据样本量是否太少,最起码 ...
- VS2013配置Caffe卷积神经网络工具(64位Windows 7)——准备依赖库
VS2013配置Caffe卷积神经网络工具(64位Windows 7)--准备依赖库 2014年4月的时候自己在公司就将Caffe移植到Windows系统了,今年自己换了台电脑,想在家里也随便跑跑,本 ...
- Windows平台网站图片服务器架构的演进[转]
构建在Windows平台之上的网站,往往会被业内众多架构师认为很“保守”.很大部分原因,是由于微软技术体系的封闭和部分技术人员的短视造成 的.由于长期缺乏开源支持,所以只能“闭门造车”,这样很容易形成 ...
随机推荐
- [POI2005]SKA-Piggy Banks (Tarjan缩点)
题目链接 Solution \(Tarjan\) 缩点乱搞. 考虑到环内如果有一个被打开,那么也就全部打开了. 然后很显然入度为 \(0\) 的点需要被砸破. 所以缩点之后找到入度为 \(0\) 的即 ...
- APUE 学习笔记(四) 标准I/O库
1.流与FILE对象 unix I/O系统调用都是针对文件描述符的 标准C的I/O函数都是针对流(文件指针)的,我们使用一个流与一个文件相关联 2.缓冲 标准I/O库提供缓冲的目的就是尽可能减少r ...
- 【Codevs1034】家园(最大流,裂点)
题意:由于人类对自然的疯狂破坏,人们意识到在大约2300年之后,地球不能再居住了,于是在月球上建立了新的绿地,以便在需要时移民.令人意想不到的是,2177年冬由于未知的原因,地球环境发生了连锁崩溃,人 ...
- 转 Vim操作
传送门 vim全局替换命令 语法为 :[addr]s/源字符串/目的字符串/[option]全局替换命令为::%s/源字符串/目的字符串/g [addr] 表示检索范围,省略时表示当前行.如:“1 ...
- 机器人操作系统ROS Indigo 入门学习(1)——安装ROS Indigo【转】
转自:http://blog.csdn.net/bobsweetie/article/details/43638761 Ubuntu14.04安装ROS Indigo 一.安装ROS 1.1配置Ubu ...
- Scrapy学习-16-动态网页技术
Selenium浏览器自动化测试框架 简介 Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样. 支持的浏览器包括IE(7, 8, ...
- 在线扩展根分区 red hat 4.8.3-9
跑程序的时候发现报错,提示空间不足,仔细查看后发现是根分区已满 27G的空间只有20k剩余 考虑从/data分区压缩一点空间到/分区 切换到root用户 执行下面的命令 1. umount /data ...
- python笔记4:高级特性
4 高级特性 4.1 切片 [:] *注:-- list和tuple,字符串都支持切片 4.2 迭代 Iteration for ... in 及 for ... in if 两个变量迭代时, 例1 ...
- Codeforces 629 A. Far Relative’s Birthday Cake
A. Far Relative’s Birthday Cake time limit per test 1 second memory limit per test 256 megabytes ...
- 客户端负载均衡Ribbon之源码解析
什么是负载均衡器? 假设有一个分布式系统,该系统由在不同计算机上运行的许多服务组成.但是,当用户数量很大时,通常会为服务创建多个副本.每个副本都在另一台计算机上运行.此时,出现 "Load ...