mxnet 图像训练数据生成



第一步:生成list文件

首先,在你的MXNet目录下找到im2rec.py的位置:
 ~/mxnet/tools/im2rec.py
其次,准备好你要用来生成rec文件的数据集,存放在某个目录下,如:
 /home/xxx/facedata/
想要存储lst数据的目录,如:
 /home/xxx/mydata/
现在,我们可以开始生成list文件了,文件后缀为:.lst
python ~/mxnet/tools/im2rec.py --list --recursive --train-ratio 0.95 /home/xxx/mydata/train /home/xxx/facedata/
对上面的参数进行解释:
-- list :当要生成list文件时,这个参数一定要设为True,默认为False,表示当前用来生成的list文件;默认是生成rec文件;
-- recursive :递归的遍历你的所有数据集,要设为True,默认为False;
-- train-ratio :用来将你的全部数据集拆分成两部分:训练集(train)和交叉验证集(val),具体多少作为训练集,多少作为验证集,就由这个参数来确定;
-- test-ratio :同上,分成训练集和测试集两部分;
-- exts:这个是你图像数据的后缀,目前的MXNet只支持两种图片格式:jpg和jpeg,所以如果你的图片是png格式,可以对im2rec.py作如下修改:
将:
cgroup.add_argument('--exts', type=list, default=['.jpeg', '.jpg'], help='list of acceptable image extensions.')
改成:

cgroup.add_argument('--exts', type=list, default=['.jpeg', '.jpg', '.png'], help='list of acceptable image extensions.')
就OK了。
prefix :这里指的是你要生成list文件的前缀名,我这里命名为myData;
root :这里指的是你的图片数据存放的路径;
不一一列出了,如果你想要知道更多的参数用法,可以如下:
python ~/mxnet/tools/im2rec.py –h
或者你直接打开im2rec.py文件进行查看;
执行完命令,则生成两个文件:mydata/train.lst和mydata/val.lst

第二步:生成rec文件

根据第一步生成的list文件,我们就可以很easy的生成mxnet需要的文件格式rec文件了。
python ~/mxnet/tools/im2rec.py –num-thread 4 –pass-through 1 myData /home/xxx/data/
上面命令中的参数跟第一步差不多,有一个参数要注意:
--num-thread:处理线程数量,根据自己的配置调整。
-- pass-through : 设为1,即跳过矩阵变换,可能会报错:未知的array type;
train就是第一步中生成.lst文件的前缀,这里用它来生成rec;
执行完这条命令,生成两个文件:myData/train.rec和myData/val.rec

你可能感兴趣的:(深度学习)