第一步,生成TFRecord Writer
writer = tf.python_io.TFRecordWriter(path, options=None)
第二步,tf.train.Feature生成协议信息
一个协议信息特征(这里翻译可能不准确)是将原始数据编码成特定的格式,一般是features中又包含feature,内层feature是一个字典值,它是将某个类型列表编码成特定的feature格式,而该字典键用于读取TFRecords文件时索引得到不同的数据,某个类型列表可能包含零个或多个值,列表类型一般有BytesList, FloatList, Int64List,通常用如下方法来生成某个列表类型再送给内层的tf.train.Feature编码:
tf.train.BytesList(value=[value]) # value转化为字符串(二进制)列表
tf.train.FloatList(value=[value]) # value转化为浮点型列表
tf.train.Int64List(value=[value]) # value转化为整型列表
第三步,使用tf.train.Example将features编码数据封装成特定的PB协议格式
example = tf.train.Example(features_extern)
第四步,将example数据系列化为字符串
example_str = example.SerializeToString()
第五步,将系列化为字符串的example数据写入协议缓冲区
writer.write(example_str)
参考:https://zhuanlan.zhihu.com/p/31992460
----------------------------------------------------我是分割线--------------------------------------------------------------------------------------------
欢迎关注博主个人公众号 “小七的资源库”,一起来嗨皮呀