[MXNet]使用im2rec.py生成自己的数据集

关于MXNet自带的数据record生成工具的使用。

环境:

    centos7.9
    python3.8
    mxnet1.8

最终生成:xx.lst,xx.rec,xx.idx文件。


第一步:在anaconda中找到im2rec.py文件,并且准备好自己的数据。

路径:../anaconda3/lib/python3.x/site-packages/mxnet/tools/im2rec.py

关于数据:我的是分类任务,文件目录结构如下:

     -mydata
        -0
            -1.png
            -2.png
            -xx.png
        -1
            -1.png
            -2.png
            -xx.png

第二步:生成.lst文件

.lst文件的作用:为生成.rec和.idx文件提供id,类别,文件名等信息。

在im2rec.py路径下运行:

python im2rec.py --list --recursive --no-shuffle mydata ../mydata

参数:

--list:如果设置了此选项,im2rec将通过遍历根文件夹创建图像列表,并输出<prefix>.lst文件。否则im2rec将读取<prefix>.lst并创建<prefix>.rec。
--recursive:如果设置了此选项,则会遍历根目录下的子文件夹。否则只遍历根目录下的图片。
--no-shuffle:如果设置了此选项,则会按文件顺序写入lst。否则将乱序写入。
mydata   ==>为.lst和.rec文件的前缀,自己命名。
../mydata  ==>为自己数据根目录路径

生成的mydata.lst文件路径在im2rec.py路径下。

.lst文件格式:

0    0.000000    0/1.png
1    0.000000    0/2.png
...
100    1.000000    1/1.png
...
第一列:图片唯一ID,从0开始。
第二列:图片的类别标签,从0开始。
第三列:图片的路径。(根目录后)

 第三步:生成.rec和.idx文件

运行:

python im2rec.py mydata.lst --encoding '.jpg' --quality 100 ../mydata

参数:

mydata.lst   ==>为刚生成的.lst文件。
../mydata  ==>为自己数据根目录路径
--encoding 选择编码类型'.jpg'或'.png',默认是'.jpg'。
--quality  图片质量:JPEG编码的话,取值范围1-100,默认95;
           PNG压缩编码的话,取值1-9,数值越大压缩等级越高。(其实内部调用opencv的,0也可以取到)

.idx文件说明:

0    0
1    7736
2    14996
3    23600
4    32560
第一列:图像文件的唯一id(0开始)
第二列:图片文件存储的位置信息

 (完)


参考:

如果需要关于其他文件格式,或者其他任务的例子。请查看:官方文档

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值