对模型训练的第一步来说,就是进行格式转换,将常用的图片(jpg、png)转换为caffe使用的lmdb或levdb数据库格式,由于leveldb是Caffe早期的数据格式,现在主要都是用lmdb了。
目标:
- 将训练和测试数据转化成lmdb数据库
工具:
caffe中提供了将图片转化为lmdb的可执行文件
./caffe/Build/x64/Release/convert_imageset
convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME
需要带四个参数:
FLAGS: 图片参数组,后面详细介绍
ROOTFOLDER: 图片存放的绝对路径,从linux系统根目录开始
LISTFILE: 图片文件列表清单,一般为一个txt文件,一行一张图片
DB_NAME: 最终生成的db文件存放目录
下面是具体转换步骤
注:当前我的学习环境都是在windows下
1、建立目录
./caffe/data/myemaple下建立目录结构
train
0 -- 图片0
1 -- 图片1
test
图片0+图片1 混合
2、取得图片列表
打开命令行工具,在目录下执行
dir/s/on/b >train.txt
就可以生成
调整路径并加上分类标签,就是这样:
3、创建脚本
比如叫 createlmdb.bat
这里仍然是借助于Caffe生成的工具convert_imageset
E:/caffe/Build/x64/Release/convert_imageset --shuffle ^
--resize_height=256 --resize_width=256 ^
E:/caffe/data/csdb/train/ ^
E:/caffe/data/csdb/train.txt ^
E:/caffe/data/csdb/train_lmdb ^
-backend=lmdb
pause
设置参数-shuffle,打乱图片顺序。
设置参数-resize_height和-resize_width将所有图片尺寸都变为256*256.
4、转换格式
双击脚本执行
生成结果
检查一下文件大小,只要不是太小或为空,一般就对了。