TFRecord 是 tensorflow 内置的文件格式,它是一种二进制文件,具有以下优点:
1. 统一各种输入文件的操作
2. 更好的利用内存,方便复制和移动
3. 将二进制数据和标签(label)存储在同一个文件中
引言
在了解如下操作后进一步详细讲解TFRecord
tf.train.Int64List(value=list_data)
它的作用是 把 list 中每个元素转换成 key-value 形式,
注意,输入必须是 list,且 list 中元素类型要相同,且与 Int 保持一致;
#value = tf.constant([1, 2]) ### 这会报错的
ss = 1 ### Int64List 对应的元素只能是 int long,其他同理
tt = 2out1= tf.train.Int64List(value =[ss, tt])print(out1)#value: 1#value: 2
ss= [1 ,2]
out2= tf.train.Int64List(value =ss)print(out2)#value: 1#value: 2
同类型的 方法还有 2 个
tf.train.FloatList
tf.train.BytesList
tf.train.Feature(int64_list=)
它的作用是 构建 一种类型的特征集,比如 整型
out = tf.train.Feature(int64_list=tf.train.Int64List(value=[33, 22]))print(out)#int64_list {#value: 33#value: 22#}
也可以是其他类型
tf.train.Feature(float_list=tf.train.FloatList())
tf.train.Feature(bytes_list=tf.train.BytesList())
tf.train.Features(feature=dict_data)
它的作用是 构建 多种类型 的特征集,可以 dict 格式表达 多种类型
ut = tf.train.Features(feature={"suibian": tf.train.Feature(int64_list=tf.train.Int64List(value=[1, 2, 4])),"a": tf.train.Feature(float_list=tf.train.FloatList(value=[5., 7.]))
})print(out)#feature {#key: "a"#value {#float_list {#value: 5.0#value: 7.0#}#}#}#feature {#key: "suibian"#value {#int64_list {#va