关于tf.TFRecordReader()函数的用法解析

关于tf.TFRecordReader()函数的用法解析,第1张

关于tf.TFRecordReader()函数的用法解析

读取tfrecord数据

从TFRecords文件中读取数据, 首先需要用tf.train.string_input_producer生成一个解析队列。之后调用tf.TFRecordReader的tf.parse_single_example解析器。

如下图:

解析器首先读取解析队列,返回serialized_example对象,之后调用tf.parse_single_example *** 作将Example协议缓冲区(protocol buffer)解析为张量。

简单来说,一旦生成了TFRecords文件,接下来就可以使用队列(queue)读取数据了。

def read_and_decode(filename):
  #根据文件名生成一个队列
  filename_queue = tf.train.string_input_producer([filename])

  reader = tf.TFRecordReader()
  _, serialized_example = reader.read(filename_queue)  #返回文件名和文件
  features = tf.parse_single_example(serialized_example,
      features={
 'label': tf.FixedLenFeature([], tf.int64),
 'img_raw' : tf.FixedLenFeature([], tf.string),
      })

  img = tf.decode_raw(features['img_raw'], tf.uint8)
  img = tf.reshape(img, [224, 224, 3])
  img = tf.cast(img, tf.float32) * (1. / 255) - 0.5
  label = tf.cast(features['label'], tf.int32)

  return img, label

举例:

下面代码是我的程序中利用TFRecord读取格式时的代码:

这部分只要使用对应的代码就可以,主要是知道咋回事。

以上这篇关于tf.TFRecordReader()函数的用法解析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持考高分网。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3237303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-04
下一篇 2022-10-04

发表评论

登录后才能评论

评论列表(0条)

保存