TensorFlow数据集Dataset的使用

本文介绍了在TensorFlow中如何使用Dataset进行数据读取,包括定义数据集构造方法、设置遍历器以及通过get_next()获取数据张量。特别地,文章提及了在需要动态输入数据时使用make_initializable_iterator()的方法,并提供了高层操作的简单应用。
摘要由CSDN通过智能技术生成

利用数据集读取数据有三个基本步骤:

  1. 定义数据及的构造方法,如tf.data.TFRecordDataset(input_files)
  2. 定义遍历器,如one_shot_iterator,initializable_iterator
  3. 使用get_next()获取tensor

例:

import tensorflow as tf

def parser(record):
    features = tf.parse_single_example(
        record,
        features={
            'feat1':tf.FixedLenFeature([],tf.int64),
            'feat2':tf.FixedLenFeature([],tf.int64)
        }
    )

    return features['feat1'],features['feat2']

#数据集可以是一个tensor,或者文本文件
#若是tensor,则使用tf.data.from_tensor_slices(input_data)
#若是文本文件,则使用tf.data.TextLineDataset(input_files)
input_files = ['file1','file2']
dataset = tf.data.TFRecordDataset(input_files)
#由于tfrecords读取出来的是二进制数据,需要对每个数据进行解析,得到想要的格式
#这里使用映射函数对每个数据进行解析
dataset = dataset.map(parser)

#通过一个迭代器获取数据
iterator = dataset.make_one_shot_iterator()
feat1,feat2 = iterator.get_next()

with tf.Session() as sess:
    for i 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值