您的位置:首页 > Web前端

在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方便以后使用。
注意数据格式类型



开始出现错误



然后搜索


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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  caffe python
相关文章推荐