[TOC]
第一步:生成list文件
首先,在你的MXNet目录下找到im2rec.py的位置:
|
|
其次,准备好你要用来生成rec文件的数据集,存放在某个目录下,如:
|
|
现在,我们可以开始生成list文件了,文件后缀为:.lst
python ~/mxnet/tools/im2rec.py –list True –recursive True –train-ratio 0.9 myData /home/xxx/data/
对上面的参数进行解释:
–list:当要生成list文件时,这个参数一定要设为True,表示当前用来生成的list文件;默认是生成rec文件;
–recursive:递归的遍历你的所有数据集,要设为True;
–train-ratio:用来将你的全部数据集拆分成两部分:训练集(train)和交叉验证集(val),具体多少作为训练集,多少作为验证集,就由这个参数来确定;
–test-ratio:同上,分成训练集和测试集两部分;
–exts:这个是你数据的后缀(注,这里我们一般说的图片数据),目前的MXNet只支持两种图片格式:jpg和jpeg,所以如果你的图片是png格式,可以对im2rec.py作如下修改:
将:
|
|
改成:
|
|
就OK了。
prefix:这里指的是你要生成list文件的前缀名,我这里命名为myData;
root:这里指的是你的图片数据存放的路径;
不一一列出了,如果你想要知道更多的参数用法,可以如下:
python ~/mxnet/tools/im2rec.py –help
或者你直接打开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/
上面命令中的参数跟第一步差不多,有一个参数要注意:
–pass-through: 设为1,即跳过矩阵变换,否则会报错:未知的array type;
myData就是第一步中生成.lst文件的前缀,这里用它来生成rec;
执行完这条命令,你就会看到两个文件:myData_train.rec和myData_val.rec
结束。