利用 TensorFlow 高效加载和预处理数据
1. 链式转换数据集
一旦拥有数据集,就可以通过调用其转换方法对其应用各种转换。每个方法都会返回一个新的数据集,因此可以像这样链式调用转换方法:
dataset = dataset.repeat(3).batch(7)
for item in dataset:
print(item)
上述代码先调用 repeat(3) 方法,返回一个将原数据集重复三次的新数据集,且不会在内存中复制三次所有数据。若不传入参数调用 repeat() 方法,新数据集将无限重复源数据集,此时迭代数据集的代码需自行决定何时停止。接着调用 batch(7) 方法,创建一个将前一个数据集的项按每七个一组进行分组的新数据集。运行结果如下:
tf.Tensor([0 1 2 3 4 5 6], shape=(7,), dtype=int32)
tf.Tensor([7 8 9 0 1 2 3], shape=(7,), dtype=int32)
tf.Tensor([4 5 6 7 8 9 0], shape=(7,), dtype=int32)
tf.Tensor([1 2 3 4 5 6 7], shape=(7,), dtype=int32)
tf.Tensor([8 9], shape=(2,), dtype=int32)
可以看到, batch() 方法输出了一个大小为 2 而非
超级会员免费看
订阅专栏 解锁全文
1312

被折叠的 条评论
为什么被折叠?



