TFRecord简介
Tensorflow提供了一种统一的格式来存储数据,这个格式就是TFRecord。TFRecord文件是以二进制形式存储数据,适合以串行的方式读取大批量数据。
tfrecords的创建很简单,就是将每一组“样本数据”组装成一个Example对象,这个对象是遵循protocolbuffer协议的;然后将这个Example对象序列化成字符串;最后用tf.python_io.TFRecordWriter写入相应的tfrecords文件即可。大致步骤如下:
第一步:获取原始数据,一般使用numpy或者是pandas进行一些处理
第二步:使用tf.python_io.TFRecordWriter类定义一个tfrecords文件
第三步:将每一条样本数据按照相应的特征组织好,即将样本数据组织成Example的过程,这是整个操作流程的核心部分,相对较复杂
第四步:将组织好的Example写入进tfrecords文件,并关闭tfrecords文件即可**
PNet TFRecord文件生成**
运行gen_PNet_tfrecords.py即可生成PNet的TFRecord,数据逻辑基本如下
def run(dataset_dir, net, output_dir, name='MTCNN', shuffling=False):
"""Runs the conversion operation.
Args:
dataset_dir: The dataset directory where the dataset is stored.
outpu