Tensorflow提供了一种统一的格式来存储数据,这个格式就是TFRecord。
TFRecord文件中的数据都是通过tf.train.Example Protocol Buffer的格式存储的。以下代码给出了tf.train.Example的定义。
message Example{
Features features = 1;
};
message Features{
map<string, Feature> feature = 1;
};
message Feature{
oneof kind{
BytesList bytes_list =1;
FloatList float_list = 2;
Int64List int64_list = 3;
}
};
tf.train.Example中包含了一个从属性名称到取值的字典。其中属性名称为一个字符串,属性的取值可以为字符串、实数列表(FloatList)或者整数列表(Int64List)。比如将一张解码前的图像存为一个字符串,图像所对应的类别编号存为整数列表。