tf.data.Dataset
表示一组可能很大的元素。

数据集可用于将输入管道表示为元素集合(张量的嵌套结构)和作用于这些元素的转换的“逻辑计划”(logical plan)。
构造函数:

init()

属性:
output_classes
返回此数据集元素的每个组件的类。

期望值是tf.Tensor 和tf.SparseTensor。

返回:
与此数据集元素的每个组件对应的Python类型对象的嵌套结构。

output_shapes
返回此数据集元素的每个组件的形状。

返回:
一个与此数据集元素的每个组件对应的tf.TensorShape对象。

output_type
返回此数据集元素的每个组件的类型。

返回:
一个与此数据集元素的每个组件对应的tf.DType 对象。

方法
iter
iter()
创建用于枚举此数据集元素的迭代器。

返回的迭代器实现了Python迭代器协议,因此只能在即时模式下使用。

返回:
此数据集元素的迭代器。

抛出异常:
运行时错误:如果不启用即时执行。

apply
apply(transformation_func)
对此数据集应用转换函数。

apply支持自定义Dataset转换的链接,这些转换被表示为接受一个Dataset参数并返回已转换Dataset的函数。

dataset = (dataset.map(lambda x: x ** 2)
           .apply(group_by_window(key_func, reduce_func, window_size))
           .map(lambda x: x ** 3))

参数:
transformation_func:一个获取数据集参数并返回数据集的函数。
返回:
dataset:应用transformation_func返回的数据集。

batch

batch(
    batch_size,
    drop_remainder=False
)

将此数据集的连续元素组合成批处理。

结果元素中的张量将有一个额外的外部维度,它将是batch_size(或者如果batch_size没有平均地除以输入元素的数量N并且drop_remainder为假的话,那么最后一个元素的数量为N % batch_size)。如果您的程序依赖于具有相同外部维度的批,您应该将drop_余数参数设置为True,以防止生成更小的批。