CAFFE学习笔记(二):训练和测试自己的图片

本文用到的数据集:http://download.csdn.net/detail/bleakie/9685017
1.选取图片建立训练和测试,这里用的是车轮(正样本)和地面(负样本)
这里写图片描述
这里写图片描述
输入命令“dir/s/on/b>d:/train.txt”,则会在D盘生成一个名为train的文本文件,里面存放着“批量名称”中全部图像的路径。
这里写图片描述
前面的绝对路径我是通过文本编辑器里:编辑-替换-全部替换 如:
注意!注意!注意!标签必须从0开始 ①索引“C:\Users\LJJ\Desktop\测试图\caffe实验\批量名称\”替换成空。
相当于把这些路径去掉,只保留文件名;
②索引“jpg”替换成“jpg 1”。这里1是label,指代了图像的类别。)消除;
这里有同学可能图片的命名可能是乱序的,可以采用全选+重命名(将会得到所有同名字的图除了()里的标注如:car(1).jpg),为了消除括号(),采用:解决方案是在LossKuoHao.bat文件中用双引号将含空格的car.jpg括起来,即:

rename “src.jpg” dst.jpg

这样就得到了train.txt,test.txt,val.txt;其中test里面把标签去掉
这里写图片描述

2.将训练集与测试集转成leveldb格式
(1)将任意大小的图像resize成256*256(这里我用的opencv偷懒)
(2)生成convert_imageset.exe,在windows里打开Caffe.sln,生成convert_imageset这里写图片描述
(3)生成lmdb格式的文件
创建 comput_image_leveldb.txt,写入如下程序:

SET GLOG_logtostderr=1  
Build\x64\Debug\convert_imageset.exe examples/my_car_wheel/NewData/ examples/my_car_wheel/NewData/train.txt examples/my_car_wheel/NewData/mytrainlmdb 0  
pause  

第二行输入的是4个参数,分别表示:
Build\x64\Debug\convert_imageset.exe :convert_imageset.exe 的路径

examples/my_car_wheel/NewData/ : 图像文件夹路径,注意最后要加 ‘/’
examples/my_car_wheel/NewData/train.txt : 图像名及对应标签txt文件路径
examples/my_car_wheel/NewData/mytrainlmdb : 转化后lmdb数据文件夹名字

如果生成lmdb有错误,可以试着生成leveldb

SET GLOG_logtostderr=1
E:\DeepLearning\caffe-windows\Build\x64\Debug\convert_imageset.exe --backend=leveldb --resize_width=256 --resize_height=256 E:\DeepLearning\caffe-windows\examples\ABCD\ E:\DeepLearning\caffe-windows\examples\ABCD\train.txt E:\DeepLearning\caffe-windows\examples\ABCD\trainldb 
pause

(4)lmdb格式的:把 comput_image_lmdb.txt 文件改名为 comput_image_leveldb.bat,放到caffe根目录双击运行,会生成mytrainleveldb文件夹,该文件夹中有两个文件(测试集方法一样):
这里写图片描述

leveldb格式的生成:
这里写图片描述
3.计算训练样本均值
(1)编译生成compute_image_mean.exe;

(2)lmdb格式:创建comput_image_mean.txt,添加内容:

SET GLOG_logtostderr=1  
D:\caffe\caffe-windows\Build\x64\Debug\compute_image_mean.exe D:/caffe/caffe-windows/examples/my_car_wheel/NewData/mytrainldb D:/caffe/caffe-windows/examples/my_car_wheel/NewData/myimg_mean.binaryproto  
pause 

leveldb格式的:

SET GLOG_logtostderr=1  
E:\DeepLearning\caffe-windows\Build\x64\Debug\compute_image_mean.exe --backend leveldb E:\DeepLearning\caffe-windows\examples\ABCD\trainldb E:\DeepLearning\caffe-windows\examples\ABCD\train_mean.binaryproto  
pause 

参数解释参照楼上;

4.网络定义及设置

以 imagenet网络为例,网络定义在 caffe-windows\models\bvlc_reference_caffenet

中,用到train_val.prototxt 和 solver.prototxt 两个文件。
4.1 设置train_val.prototxt 文件
更改路径、backend的格式、根据需要修改batch_size
这里写图片描述
这里写图片描述
修改分类的样本类别数(全部修改)
这里写图片描述
4.2 设置 solver.prototxt 文件
这里写图片描述
4.3 网络训练
(backend记得更改:LMDB或LEVELDB格式)
创建 train_myimg.txt,随后改成bat,运行

SET GLOG_logtostderr=1  
D:\caffe\caffe-windows\Build\x64\Debug\caffe.exe  train --solver=D:\caffe\caffe-windows\examples\my_car_wheel\NewData\bvlc_reference_caffenet\solver.prototxt  
pause  

训练结果:
这里写图片描述
如果你编译好了Caffe,那么在CAFFE_ROOT下运行如下命令(里面的路径是在根目录下,可以根据需要修改):

CPU

SET GLOG_logtostderr=1  
D:\caffe\caffe-windows-master\bin\caffe.exe test -model=D:\caffe\caffe-windows-master\examples2\NewData\bvlc_reference_caffenet\train_val.prototxt -weights=D:\caffe\caffe-windows-master\examples2\NewData\result_iter_100.caffemodel 
pause  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值