tfrecords文件的读取与存储

一、TFRecords分析、存取
(一)定义
TFRecords是Tensorflow设计的一种内置文件格式,是一种二进制文件,它能更好的利用内存,更方便复制和移动。
(二)目的
为了将二进制数据和标签(训练的类别标签)数据存储在同一个文件中。
(三)优点
1、方便读取和移动
(四)文件格式
*.tfrecords
(五)写入文件内容
Example协议块(类字典格式)
(六)TFRecords的存储
1、建立TFRecord存储器
tf.python_io.TFRecordWriter(path)写入tfrecords文件
(1)path: TFRecords文件的路径
(2)return:写文件
method
(1)write(record):向文件中写入一个字符串记录(即写入一个example)
(2)close():关闭文件写入器
注:字符串为一个序列化的Example,Example.SerializeToString()
2、构造每个样本的Example协议块
(1)tf.train.Example(features=None)写入tfrecords文件
features:tf.train.Features类型的特征实例
return:example格式协议块
(2)tf.train.Features(feature=None)构建每个样本的信息键值对
feature:字典数据,key为要保存的名字,
value为tf.train.Feature实例
return:Features类型
(3)tf.train.Feature(**options)
**options:例如
bytes_list=tf.train. BytesList(value=[Bytes])
int64_list=tf.train. Int64List(value=[Value])
(4)
tf.train. Int64List(value=[Value])
tf.train. BytesList(value=[Bytes])
tf.train. FloatList(value=[value])
(七)TFRecords读取方法
1、同文件阅读器流程,中间需要解析过程
2、解析TFRecords的example协议内存块
tf.parse_single_example(serialized,features=None,name=None)
(1)解析一个单一的Example原型
(2)serialized:标量字符串Tensor,一个序列化的Example
(3)features:dict字典数据,键为读取的名字,值为FixedLenFeature
(4)return:一个键值对组成的字典,键为读取的名字
3、tf.FixedLenFeature(shape,dtype)
(1)shape:输入数据的形状,一般不指定,为空列表
(2)dtype:输入数据类型,与存储进文件的类型要一致,
类型只能是float32,int64,string

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值