我目前正在学习TensorFlow,但我在这段代码中遇到了困惑:
dataset = dataset.shuffle(buffer_size = 10 * batch_size)
dataset = dataset.repeat(num_epochs).batch(batch_size)
return dataset.make_one_shot_iterator().get_next()
Run Code Online (Sandbox Code Playgroud)
我知道首先数据集将保存所有数据,但是shuffle(),repeat()和batch()对数据集做了什么?请给我一个例子的解释
我最近开始学习张量流。
我不确定是否有区别
x = np.array([[1],[2],[3],[4],[5]])
dataset = tf.data.Dataset.from_tensor_slices(x)
ds.shuffle(buffer_size=4)
ds.batch(4)
Run Code Online (Sandbox Code Playgroud)
和
x = np.array([[1],[2],[3],[4],[5]])
dataset = tf.data.Dataset.from_tensor_slices(x)
ds.batch(4)
ds.shuffle(buffer_size=4)
Run Code Online (Sandbox Code Playgroud)
另外,我不确定为什么我不能使用
dataset = dataset.shuffle_batch(buffer_size=2,batch_size=BATCH_SIZE)
Run Code Online (Sandbox Code Playgroud)
因为它给出了错误
dataset = dataset.shuffle_batch(buffer_size=2,batch_size=BATCH_SIZE)
AttributeError: 'TensorSliceDataset' object has no attribute 'shuffle_batch'
Run Code Online (Sandbox Code Playgroud)
谢谢!