insightface人脸训练数据rec文件制作

       MXNet框架用于做图像相关的项目时,读取图像主要有两种方式:第一种是读.rec格式的文件,优点是.rec文件比较稳定,移植到别的电脑上也能复现,缺点是占空间(.rec文件的大小基本上和图像的存储大小差不多),而且增删数据不大灵活。第二种是.lst和图像结合的方式,首先在前面生成.rec文件的过程中也会生成.lst文件,这个.lst文件就是图像路径和标签的对应列表,也就是说通过维护这个列表来控制你训练集和测试集的变化,优点是灵活且不占空间,缺点是如果图像格式不符合要求的话容易出错而且如果列表中的某些图像路径对应的图像文件夹中图像被删除,就寻找不到,另外如果你不是从固态硬盘上读取图像的话,速度会很慢。

一、MXIndexedRecordIO文件简介

随机索引式rec文件

MXIndexedRecordIO 支持随机或索引访问数据。 我们将创建一个索引记录文件和一个相应的索引文件,如下所示:

1

2

3

4

record = mx.recordio.MXIndexedRecordIO('tmp.idx', 'tmp.rec', 'w')

for i in range(5):

    record.write_idx(i, b'record_%d'%i)

record.close()

现在,我们可以使用键值访问各个记录:

1

2

record = mx.recordio.MXIndexedRecordIO('tmp.idx', 'tmp.rec', 'r')

record.read_idx(3)

猜你喜欢

转载自blog.csdn.net/kupe87826/article/details/105700754
今日推荐