一、介绍
TFRecord是Tensorflow专门提供存储数据的文件,它可以接受3种数据格式,分别为float_list、int64_list、bytes_list。通过调用tf.python_io.TFRcordWriter类将数据写入到tf.train.Example协议中,最终生成TFRcords文件
一个tf.train.Example包含若干个Features,而Features又包含多个Feature字典,而每个Feature字典包含float_list、int64_list、bytes_list三种数据格式之一。
二、格式的代码展示
import tensorflow as tf
import numpy as np
a_data = 1.23456
b_data = [14]
c_data = np.array([[0, 1, 2], [3, 4, 5]])
"""
[[0, 1, 2],
[3, 4, 5]]
"""
c = c_data.astype(np.uint8)
"""
[[0, 1, 2],
[3, 4, 5]]
"""
c_raw = c.tolist()
"""
[[0, 1, 2],[3, 4, 5]]
"""
example = tf.train.Example(
features=tf.train.Features(
feature={
'a': tf.train.Feature(
float_list=tf.train.FloatList(value=[a_data]) # 方括号表示输入为list
),
'b': tf.train.Feature(
int64_list=tf.train.Int64List(value=b_data) #b_data本身就是列表
),
'c': tf.train.Feature(
bytes_list=tf.train.BytesList(value=[c_raw])
)
}
)
)