im2rec.py是MXNet提供的一个将图片转为rec文件的工具。 当训练数据包含大量图片的时候,一次性将所有数据载入内存很容易导致out of memory。使用rec文件和MXNet提供的 ImageRecordIter或ImageIter迭代器,可以按批次读取数据到内存,且读取图片更加简单方便。本文将介绍.lst,.rec文件的生成、多标签文件的处理,ImageRecordIter和ImageIter迭代器的使用以及比较。
Platform: Ubuntu 16.04
MXNet: 0.11.0
制作.lst文件
首先需要下载mxnet,找到tools文件夹的im2rec.py文件,我的是
/home/username/mxnet/tools/im2rec.py
然后需要准备图片数据,放入test_img文件夹中。
提示:最好将图片统一size,避免使用ImageRecordIter时将图片裁剪。
执行命令
python /home/username/mxnet/tools/im2rec.py --list=1 my_test test_img
--list=1
表示制作.lst而不是.rec文件。
my_test
是.lst的文件名。
test_img
是图片所在文件夹。
更多参数设置参考文档。
运行完毕后打开my_test.lst,格式如下
1 0.000000 xxxx.jpg
0 0.000000 xxxx.jpg
...
每列之间都是