caffe中data_layer的输入数据的格式是lmdb或者leveld格式的。(hdf5_data_layer等layer暂不考虑)但是我们面对的原始数据往往是.jpg/.png格式的,所以需要进行一定的处理才能作为输入数据。
在这里主要用到的工具便是caffe源码中已经写好的一个工具caffe/tools/convert_imageset.cpp,只需对图片做一些处理便可自动帮你将图片格式转成lmdb或leveld格式。
下面就介绍下如何使用这个工具。
第一步,生成train.txt文件
根据自己的图片数据集,生成对应的train.txt文件。文件里的内容,每一行有两个字段,分别为:图片名和label,比如:
train.txt里面放着你的训练集
pic1.jpg 1
pic2.jpg 2
pic3.jpg 2
pic4.jpg 3
...
至于怎么生成train.txt需要你自己写对应的脚本生成,这里变不做介绍。
第二步,输入相关命令生成lmdb或leveld文件
先上一个例子,比如命令行下输入以下命令:
CAFFEROOT$ ./build/tools/convert_imageset data/img/ train.txt data/lmdb_data/my_lmdb
将会把CAFFEROOT /