Windows Caffe 学习笔记(三)在Caffe上训练和测试自己的数据
来源:互联网 发布:animate cc 2015 mac 编辑:程序博客网 时间:2024/04/28 23:31
本文是学习Caffe官方文档"ImageNet Tutorial"时做的,同样由于是Windows版本的原因,很多shell脚本不能直接使用,走了不少弯路,但是收获也不少。比如:如何让shell脚本在Windows系统上直接运行、如何去用Caffe给图像resize来统一大小,如何去构建train.txt和val.txt等等。具体流程均记录如下。
正文:
1.准备数据
我从网上下载了两类图片,一类为猫,一类为鸟,分别存在名为bird和cat的文件夹里,每类60张(50张做为训练集,10张做为测试集)。【分开存放,在做train.txt时,方便打标签。等做完标签再将100张训练图片一起放在新建的train文件下里,下面会详述。】
猫:(已经过批量重命名。ps:我选图还是比较讲究的,不好看的、不清楚的、不奇怪的我不选,哈哈)
鸟:(已经过批量重命名)
2.构建train.txt和val.txt
首先是重命名图片,从搜索引擎下载下来的图片的名称都是则乱无章,我们需要用批量重命名的方法去先给它们命名。
批量重命名可以通过一个bat文件实现,代码如下:
修改其中的“bird”位置,运行。比如,我将“bird”改为“Cat”,运行bat文件,效果如下:
可以看到图片名字被统一的修改了,并且生成了一个list文件夹,通过txt文件的查找-替换,给每个文件打上标签(比如Cat为0,Bird为1),截图如下:
下面的工作自己做就行了,将cat和bird的txt文档,合在一起,组成train.txt。同理,完成val.txt。我的train.txt和val.txt的截图如下(我标签用了1和2):
3.数据处理
数据处理要进行三项:1.将图片统一转化成256X256大小。2.将数据转化为LEVELDB格式。3.求数据均值。
看了一些博客,在将图片统一转化成256大小这儿曲线救国,想了很多方法。其实第1步和第2步可以一起完成,只要调用examples\imagenet\create_imagenet.sh就可以一起完成。但是shell脚本在Windows下如何运行呢?是可以的,只需要安装Git即可在Windows环境下运行shell脚本!Git下载链接:https://git-scm.com/downloads/
根据具体情况,对create_imagenet.sh,做一些修改(需要修改处均用红色方框标出,五角星处即是caffe自带的resize图片的地方,一定要设为true):
打开git,运行create_imagenet.sh即可,查看文件夹,出现imagenet_train_leveldb和imagene_val_leveldb:
接下来是进行第三步,求图像均值了。在进行这一步时,我使用\examples\imagenet\make_imagenet_mean.sh时,是成功求得了均值文件imagenet_mean.binaryproto,但在之后训练时,一直报错,提示均值文件无法读取。故还是换用了compute_image_mean.exe,来求得均值文件,具体步骤,之前的文章已经记录了,不再赘述。
再从\models\bvlc_reference_caffenet中,将train_val.prototxt和solver.prototxt复制过来,这样所有文件都准备齐全了:
4.配置训练所需文件
首先,根据具体情况修改,train_val.prototxt:
修改solver.prototxt:
关于solver里面的参数,我认为应该根据具体情况就修改就好了,这一部分我还不是很熟悉,慢慢积累吧。
5.进行训练
写一个bat文件,进行训练即可!bat文件代码如下:
6.训练结果
因为我的电脑配置很低很低。。所以训练起来很慢,我调小了很多参数,训练了两天还是没训完。。。贴一张训练中的截图吧:
7.总结
这次主要是为了自己感受一下用Windows Caffe训练自己数据的整个过程,也没有去追求准确率,也没有考虑去跟踪训练过程去调参等等。这些经验方面的知识,接下来慢慢继续积累吧。经过这次学习,起码能把整个过程跑下来了,收获很多。
参考文档:
1.Caffe官方文档:Imagenet Tutorial
2.BAT文件实现照片批量命名
3.Caffe训练自己的数据
- Windows Caffe 学习笔记(三)在Caffe上训练和测试自己的数据
- caffe学习笔记3:使用caffe对自己的图像数据进行训练和测试
- Windows Caffe 学习笔记(四)搭建自己的网络,训练和测试MNIST手写字体库
- windows-caffe 训练和测试自己的数据集
- caffe学习笔记12:训练和测试自己的图片
- Caffe_Windows学习笔记(三)搭建自己的网络mnist在caffe上进行训练与学习
- [caffe学习笔记]用自己的数据进行训练和测试
- caffe学习笔记:mnist数据集的训练和测试
- Caffe学习笔记1:linux下建立自己的数据库训练和测试caffe中已有网络
- 【caffe】caffe在windows用训练好的模型对单张图片测试——【caffe学习三】
- mnist数据集在caffe(windows)上的训练与测试及对自己手写数字的分类
- Windows Caffe 学习笔记(一)训练和测试CIFAR-10数据集
- Caffe学习笔记(六)—— Windows下训练自己的数据
- 深度学习Caffe实战笔记(20)Windows平台 Faster-RCNN 训练自己的数据集
- Caffe 用自己的数据集在ImageNet网络结构上训练测试
- 【caffe学习笔记二】学习搭建自己的网络 MNIST 在 caffe 上进行训练与学习
- caffe 训练测试自己的数据集
- caffe训练测试自己的数据集
- 定义数组指针的三种方法
- 【线性规划与网络流24题 15】汽车加油
- [codevs 1245] 最小的N个和
- 编写代码之原则_总结
- 920优化大师v1.0.1.0官方版
- Windows Caffe 学习笔记(三)在Caffe上训练和测试自己的数据
- [编程题]调整数组中奇数和偶数顺序
- hadoop搭建中遇到的问题汇总
- poj3164 Command Network(最小树形图模板题)
- 从上往下打印二叉树
- ios Tableview行高的计算
- Nginx的安装
- 【Bash百宝箱】shell重定向
- 迷宫—解题报告