我今天尝试制作一个自己的训练数据集,参考薛开宇的学习方式,模仿搭建自己的数据库。
1.因为我的电脑里有整个ImageNet_ILSVRC2012的数据集,所以从训练集ILSVRC2012_img_train中随便选了两种:bird和fowl2.生成标签文件列表,即生成 train.txt 和val.txt 文件
3.将生成的 txt 文件列表中的图像与train图像库、val图像库的图像相连接,生成lmdb格式文件
1 数据准备
首先在caffe/data下新建文件夹myself, 用于存放数据文件和后面的caffe模型相关文件。 然后 在myself文件夹下建立build_lmdb和datatest两个文件夹,其中build_lmdb文件夹用于存放生成的lmdb文件,datatest文件夹存放原始图片数据。
在datatest下新建2个文件夹,train和val,其中train文件夹中存放待训练的图片,val文件夹中存放待测试的图片。
在train文件夹下,又新建两个文件夹,分别存放不同动物,bird和fowl,作为训练集
其中,bird文件夹中,一共有1000张图片,作为训练集,fowl文件夹中,一共有260张图片,作为训练集。
上图的文件名是我重命名之后的样子,重命名文件代码如下:
import os;
def rename():
count=0;
name="dog";
path='/home/jack/caffe/data/myself/train/dog';
filelist=os.listdir(path)
for files in filelist:
olddir=os.path.join(path,files);
if os.path.isdir(olddir):
continue;
filename=os.path.splitext(files)[0];
filetype=os.path.splitext(files)[1];
newdir=os.path.join(path,name+str(count)+filetype);
os.rename(olddir, newdir);
count+=1;
rename();