win10下使用caffe训练自己的数据,车牌二分类
来源:互联网 发布:linux实现nat网关功能 编辑:程序博客网 时间:2024/05/18 13:04
caffe编译参考:http://blog.csdn.net/cym1990/article/details/72630584
1.数据格式转换
Caffe采用leveldb或者lmdb的数据格式。
第一步就是数据的格式转换了。
编译如下图所示工程,可以生成文件convert_imageset.exe
本次训练是使用的车牌数据,只分2类,有车牌,无车牌。
在caffe根目录下新建data文件夹,在data文件夹下新建plate文件夹,plate文件夹有如下文件:
train和test文件夹存放原始数据,trainldb和testldb文件夹存放格式转换后的leveldb数据,mean存放均值文件,实验数据是车牌和非车牌二分类数据。部分数据大概如下:
有车牌:
无车牌:
在train图像数据文件夹中建立train.txt文件
在命令行中,cd到train图像数据文件夹中执行下面批处理命令:
dir /b/s/p/w *.jpg > train.txt
可以实现将文件夹中的所有文件的文件名和路径提取到train.txt中
生成如图所示:
然后使用替换功能调整为以下格式,图像后面的为标签,每个类别使用同一个标签表示(多个类别必须从0开始),可以通过查找替换功能,将jpg替换为jpg 0,这样可以快速加标签。
利用convert_imageset.exe生成对应的leveldb格式数据,注意参数和路径,参数部分可以查看conver_imageset.cpp文件中的定义。
我们可以写一个convert_imageset.bat文件,来执行数据格式转换,文件内容如下:
SET GLOG_logtostderr=1D:\WorkSpace\caffe\caffe\Build\x64\Release\convert_imageset.exe --backend=leveldb --resize_width=64 --resize_height=64 D:\WorkSpace\caffe\caffe\data\plate\ D:\WorkSpace\caffe\caffe\data\plate\train\train.txt D:\WorkSpace\caffe\caffe\data\plate\train_ldb pauseD:\WorkSpace\caffe\caffe\Build\x64\Release\convert_imageset.exe --backend=leveldb --resize_width=64 --resize_height=64 D:\WorkSpace\caffe\caffe\data\plate\ D:\WorkSpace\caffe\caffe\data\plate\test\test.txt D:\WorkSpace\caffe\caffe\data\plate\test_ldb pause
可以看到我们在转换数据的时候,将所有数据大小统一调整为64*64,这样方便数据处理。
上面的命令先转换train数据格式,然后转换测试数据格式。
在命令行中的这个需要注意:
D:\WorkSpace\caffe\caffe\data\plate\ D:\WorkSpace\caffe\caffe\data\plate\train\train.txt前面的文件夹加上后面文件train.txt中每行的内容,需要保证是一个合法的绝对路径,这个路径就是需要寻找到每个文件的路径。同理测试数据一样。
生成成功后得到以下信息:
以上命令运行成功后,在train_ldb文件夹下生成对应的文件:
其他格式的数据转换,比如binary等可以参考examples下cifar10和mnist下的样例。这部分早晚要自己写的,可以多熟悉一下。
2.数据预处理
SET GLOG_logtostderr=1D:\WorkSpace\caffe\caffe\Build\x64\Release\compute_image_mean.exe --backend=leveldb D:\WorkSpace\caffe\caffe\data\plate\train_ldb D:\WorkSpace\caffe\caffe\data\plate\mean\train_mean.binaryprotopauseD:\WorkSpace\caffe\caffe\Build\x64\Release\compute_image_mean.exe --backend=leveldb D:\WorkSpace\caffe\caffe\data\plate\test_ldb D:\WorkSpace\caffe\caffe\data\plate\mean\test_mean.binaryprotopause以上命令会在mean文件夹中生成文件train_mean.binaryproto和test_mean.binaryproto
3.定义网络结构并训练
layer {
name: "data"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
mirror: true
#crop_size: 227
mean_file: "D://WorkSpace//caffe//caffe//data//plate//mean//train_mean.binaryproto"
}
data_param {
source: "D://WorkSpace//caffe//caffe//data//plate//train_ldb"
batch_size: 256
backend: LEVELDB
}
}
layer {
name: "data"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
mirror: false
#crop_size: 227
mean_file: "D://WorkSpace//caffe//caffe//data//plate//mean//test_mean.binaryproto"
}
data_param {
source: "D://WorkSpace//caffe//caffe//data//plate//test_ldb"
batch_size: 50
backend: LEVELDB
}
}
test_iter: 100
test_interval: 100
base_lr: 0.01
lr_policy: "step"
gamma: 0.1
stepsize: 100000
display: 20
max_iter: 450000
momentum: 0.9
weight_decay: 0.0005
snapshot: 200
snapshot_prefix: "D://WorkSpace//caffe//caffe//data//plate//"
solver_mode: GPU
D:\WorkSpace\caffe\caffe\Build\x64\Release\caffe.exe train --solver=D:\WorkSpace\caffe\caffe\data\plate\solver.prototxt pause
可能会遇到的文件:
(1)caffe训练数据时出现了Check failed: data_怎么办?
(2)路径文件,找不到数据,这个一般仔细检查文件都可以找出来,还有就是如果路径中包含有/t,也会导致路径不可用,可以在路径中使用//来代替\
(3)http://blog.csdn.net/zr459927180/article/details/51001536,参考此文章,遇到的文件有下面几个,可以参考:
1. caffe训练时遇到loss一直居高不下时:http://blog.sina.com.cn/s/blog_141f234870102w941.html
另外,均值一般都是训练集的均值,测试集正常是不知道,无法求出来的。
参考以下文章:
1.在caffe上跑自己的数据
2.如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
3.http://blog.csdn.net/zr459927180/article/details/51001536
4.caffe windows训练测试自己的图片http://www.jianshu.com/p/607f1e51e3ab
- win10下使用caffe训练自己的数据,车牌二分类
- caffe训练自己的数据(二)
- Windows下caffe训练自己的数据
- Caffe上训练使用自己的数据
- 使用caffe训练自己的图像数据
- Caffe上训练使用自己的数据
- 使用caffe训练自己的数据
- caffe 框架下微调已有模型训练自己的数据实现图像分类
- caffe + win10基于CaffeNet网络框架训练自己的图片进行分类(实践篇)
- Caffe:Win10下测试自己制作的数据集
- caffe训练自己的数据
- caffe训练自己的数据
- Caffe训练自己的数据
- caffe训练自己的数据
- Caffe训练自己的数据
- caffe 训练自己的数据
- caffe训练自己的数据
- caffe训练自己的图片分类模型
- leetcode algorithm3 Substring Without Repeating Characters
- 协同过滤推荐算法(mark)
- 十进制转任意进制(函数递归)
- 《来自远方的心灵鸡汤_来来来,喝了这碗~还有三碗》
- Ubuntu 14.04安装w3c-libwww开发包
- win10下使用caffe训练自己的数据,车牌二分类
- 安卓wiifi密码查看
- 欢迎使用CSDN-markdown编辑器
- NAO/Pepper机器人Linux/Ubuntu深层开发环境搭建
- PAT (Advanced Level) Practise 1031
- log4j 分级别输出日志
- asp.net MVC使用treegrid——jqwidgets插件
- ARKit之SpriteKit2D简单使用
- 51nod 1557 两个集合