TFRecord文件中的数据都是通过tf.train.Example Protocol Buffer的格式存储的,TFRecord格式是一种二进制文件,它能够更好的利用内存,更方便复制和移动,并且不需要单独的标签文件;我们可以写一段代码获取你的数据,然后将数据填入到Example协议内存块(protocol buffer),将协议内存块序列化为一个字符串,并且通过tf.python_io.TFRecordWriter写入到TFRecord文件中去
从TFRecords文件中读取数据, 可以使用tf.TFRecordReader
的tf.parse_single_example
解析器。这个操作可以将Example
协议内存块(protocol buffer)解析为张量。
将MNIST数据集中所有的训练数据存储到TFRecord文件中
-
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import numpy as np # 生成整数型的属性 def _int64_feature(value): return tf.train.Feature(int64_list=tf.train.Int64List(value=[value])) # 生成字符串型的属性 def _bytes_feature(value): return tf.train.Feature(bytes_list=t