在caffe-windows下跑自己的数据集leveldb格式 或者lmdb
2017-01-11 09:06
417 查看
文介绍如何使用caffe对自己的图像数据进行分类。
1 图片数据库准备
由于图片数据收集比较费时,实验室数据库分为5类,1 2 3 4 5类,train150张,val256张。
注意:图片要进行灰度处理!
新建一个文件夹leveldb,放自己的数据,在leveldb文件夹下新建train和val文件夹,train文件夹下新建1、2、3、4、5文件夹分别存放150张类别图片,val文件夹同样如此。注样如此。
train文件夹
val文件夹
1 2 3 4 5类文件夹内存储的是每类的图片,比如我的1文件夹中为
2 转换成leveldb格式
在leveldb文件夹下新建两个txt文件:train.txt和val.txt,列出对应图片名及其标签。
数据量较少的可以手动标签,数据量较大的话,可以写批处理命令,比较方便。
批处理的方式可以使用.bat命令行,
注意:标签一定要从零开始标起
打开新件的文本文档,并输入DIR *.* /B > 文件名称列表.txt
保存后关闭。然后使用word打开txt,替换那种方式更改名称
请注意前面文件名称的路径问题,这些如果在转换格式的命令行中,若报错找不到该图片的话就是名称路径问题,根据报错的路径更改txt中图片的名称,0 1 2 3 4代表五类数据
生成列表后,编译convert_imageset.cpp
在\caffe-master\Build\x64\Release\convert_imageset.exe。做一个批处理命令将图片数据转换成leveldb格式。
在caffe-windows文件夹下新建convertimage2ldb.bat。
.bat命令可以由txt改后缀得到,前面是命令,中间是resize大小,--shuffle --backend="leveldb"是leveldb数据格式,对应的--shuffle --backend="lmdb"是lmdb数据格式
,F:\caffe-master\data\leveldb\train F:\caffe-master\data\leveldb\train.txt是之前定义的train的文件路径,F:\caffe-master\data\leveldb\mtrainldb是存储转换好的训练数据的路径。
双击运行,在leveldb文件夹下就会出现mtrainldb文件夹。
同理可得到mvalldb。这两个就是caffe需要的数据。
注意,我的leveldb文件夹是放在data文件夹下的,在写convertimage2ldb.bat时注意你自己路径。
3 计算mean
这个比较简单,编译comput_image_mean.cpp
利用comput_image_mean.exe。做一个computeMean.bat方便以后使用。
注意数据格式类型
开始出现错误
然后搜索
找到https://github.com/happynear/caffe-windows/issues/91链接 解决问题
文本中加入 --backend=leveldb成功运行
双击运行之后在leveldb文件夹里面出现*_mean.binaryproto,这就是caffe需要的图片均值文件。
4 训练自己的网络
数据集和均值文件都生成之后,训练和前面两篇文章类似。这次我直接使用的是imagenet的网络结构,几乎没怎么修改,所以我将imagenet里面的imagenet_train.prototxt、imagenet_val.prototxt、imagenet_solver.prototxt直接拷过来修改一下。
imagenet_val.prototxt、imagenet_train.prototxt里面的
source: "mtrainldb"
mean_file:"mimg_mean.binaryproto"
batch_size: 10
还有最后一层的output改为5,因为我只有五类。
imagenet_solver.prototxt里面的网络参数修改:
注意最后根据自己电脑的配置选择 solver_mode:GPU 还是CPU
开始训练:
找到自己存放的路径
就可以跑起来了
参考文献: http://blog.csdn.net/u012878523/article/details/41698209 https://github.com/happynear/caffe-windows/issues/91 http://jingyan.baidu.com/article/9158e0004080baa2541228b6.html
1 图片数据库准备
由于图片数据收集比较费时,实验室数据库分为5类,1 2 3 4 5类,train150张,val256张。
注意:图片要进行灰度处理!
新建一个文件夹leveldb,放自己的数据,在leveldb文件夹下新建train和val文件夹,train文件夹下新建1、2、3、4、5文件夹分别存放150张类别图片,val文件夹同样如此。注样如此。
train文件夹
val文件夹
1 2 3 4 5类文件夹内存储的是每类的图片,比如我的1文件夹中为
2 转换成leveldb格式
在leveldb文件夹下新建两个txt文件:train.txt和val.txt,列出对应图片名及其标签。
数据量较少的可以手动标签,数据量较大的话,可以写批处理命令,比较方便。
批处理的方式可以使用.bat命令行,
注意:标签一定要从零开始标起
打开新件的文本文档,并输入DIR *.* /B > 文件名称列表.txt
保存后关闭。然后使用word打开txt,替换那种方式更改名称
请注意前面文件名称的路径问题,这些如果在转换格式的命令行中,若报错找不到该图片的话就是名称路径问题,根据报错的路径更改txt中图片的名称,0 1 2 3 4代表五类数据
生成列表后,编译convert_imageset.cpp
在\caffe-master\Build\x64\Release\convert_imageset.exe。做一个批处理命令将图片数据转换成leveldb格式。
在caffe-windows文件夹下新建convertimage2ldb.bat。
.bat命令可以由txt改后缀得到,前面是命令,中间是resize大小,--shuffle --backend="leveldb"是leveldb数据格式,对应的--shuffle --backend="lmdb"是lmdb数据格式
,F:\caffe-master\data\leveldb\train F:\caffe-master\data\leveldb\train.txt是之前定义的train的文件路径,F:\caffe-master\data\leveldb\mtrainldb是存储转换好的训练数据的路径。
双击运行,在leveldb文件夹下就会出现mtrainldb文件夹。
同理可得到mvalldb。这两个就是caffe需要的数据。
注意,我的leveldb文件夹是放在data文件夹下的,在写convertimage2ldb.bat时注意你自己路径。
3 计算mean
这个比较简单,编译comput_image_mean.cpp
利用comput_image_mean.exe。做一个computeMean.bat方便以后使用。
注意数据格式类型
开始出现错误
然后搜索
caffe db_lmdb.hpp:14] Check failed: mdb_status == 0 (2 vs. 0) No such file or directory
找到https://github.com/happynear/caffe-windows/issues/91链接 解决问题文本中加入 --backend=leveldb成功运行
双击运行之后在leveldb文件夹里面出现*_mean.binaryproto,这就是caffe需要的图片均值文件。
4 训练自己的网络
数据集和均值文件都生成之后,训练和前面两篇文章类似。这次我直接使用的是imagenet的网络结构,几乎没怎么修改,所以我将imagenet里面的imagenet_train.prototxt、imagenet_val.prototxt、imagenet_solver.prototxt直接拷过来修改一下。
imagenet_val.prototxt、imagenet_train.prototxt里面的
source: "mtrainldb"
mean_file:"mimg_mean.binaryproto"
batch_size: 10
还有最后一层的output改为5,因为我只有五类。
imagenet_solver.prototxt里面的网络参数修改:
注意最后根据自己电脑的配置选择 solver_mode:GPU 还是CPU
开始训练:
找到自己存放的路径
就可以跑起来了
参考文献: http://blog.csdn.net/u012878523/article/details/41698209 https://github.com/happynear/caffe-windows/issues/91 http://jingyan.baidu.com/article/9158e0004080baa2541228b6.html
相关文章推荐
- windows10+GPU下caffe数据集Lmdb格式制作+训练自己数据集
- 深度学习caffe平台--制作自己.lmdb格式数据集及分类标签文件
- 【深度学习】【caffe实用工具3】笔记25 Windows下caffe中将图像数据集合转换为DB(LMDB/LEVELDB)文件格式之convert_imageset
- 深度学习caffe平台--制作自己.lmdb格式数据集及分类标签文件
- Caffe1——Mnist数据集创建lmdb或leveldb类型的数据
- caffe:把图片转为lmdb或者leveldb文件(四)
- 深度学习Caffe实战笔记(20)Windows平台 Faster-RCNN 训练自己的数据集
- 图像数据转换为levedb或者lmdb+caffe上跑自己的数据
- caffe for windows 训练自己的数据集(DB)并且实现图像分类
- 将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件
- 深度学习Caffe实战笔记(19)Windows平台 Faster-RCNN 制作自己的数据集
- Caffe1——Mnist数据集创建lmdb或leveldb类型的数据
- Caffe2——cifar10数据集创建lmdb或leveldb类型的数据
- CAFFE学习笔记(四)将自己的jpg数据转成lmdb格式
- mnist数据集在caffe(windows)上的训练与测试及对自己手写数字的分类
- caffe-windows:转化为lmdb格式
- caffe中怎么把自己的图片转化成lmdb格式
- windows 下的caffe- 生成自己的数据集,并训练测试
- 深度学习文章3:将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件
- 深度学习Caffe实战笔记(19)Windows平台 Faster-RCNN 制作自己的数据集