我正在查看递归神经网络演练here。在本教程中,他们有一个执行以下操作的订单项:
dataset = dataset.shuffle(BUFFER_SIZE).batch(BATCH_SIZE,drop_remainder=True)
但是,如果您要进行顺序构建,那仍然有必要吗?查看sequential文档,是否会自动执行随机播放?如果没有,为什么要在这里做?是否有一个简单的数值示例效果?
我正在查看递归神经网络演练here。在本教程中,他们有一个执行以下操作的订单项:
dataset = dataset.shuffle(BUFFER_SIZE).batch(BATCH_SIZE,drop_remainder=True)
但是,如果您要进行顺序构建,那仍然有必要吗?查看sequential文档,是否会自动执行随机播放?如果没有,为什么要在这里做?是否有一个简单的数值示例效果?
tf.keras.models.Sequential
也可以像tf.data.Dataset
那样对数据进行批处理和混洗。这些预处理功能以顺序方式提供,因为它可以占用多种类型的数据,例如NumPy数组,tf.data.Dataset
,dict
对象以及tf.keras.utils.Sequence
。
tf.data.Dataset
API提供了这些功能,因为该API与其他TensorFlow API(不涉及Keras)保持一致。
我认为改组和批处理不需要进行两次。您可以根据需要删除,这不会影响模型的训练。我认为作者想使用tf.data.Dataset
将数据导入Keras模型。 dataset.shuffle( ... ).batch( ... )
与Dataset
口语化。