如何在Tensorflow中重塑数据集的批处理大小

时间:2020-03-03 19:35:12

标签: python tensorflow keras

我已经生成了一个数据集,但是当我处理它时,发现内存用完了,所以我决定使用tensorflow的.batch(batch_size)对其进行批处理。问题是,这增加了batch_size尺寸,所以现在我的数据集的尺寸为[batch_size,original_dataset_size,图像尺寸,3(用于颜色)]。有没有一种方法可以组合batch_size和original_dataset_size维度,因此它具有3个所需的维度。

层:

dataset = todataset().shuffle(10).repeat().batch(batchsize)
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape = (dims*dims,3)),
  tf.keras.layers.Reshape((dims*dims,3)),
  tf.keras.layers.LSTM(4),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Flatten(),
  tf.keras.layers.Dense(8),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(4, activation="softmax")
])

1 个答案:

答案 0 :(得分:0)

这是使用batch_size

的代码
BATCH_SIZE = 32

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape = (dims*dims,3)),
  tf.keras.layers.Reshape((dims*dims,3)),
  tf.keras.layers.LSTM(4),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Flatten(),
  tf.keras.layers.Dense(8),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(4, activation="softmax")
])

model.fit(X, y, epochs=10, batch_size=BATCH_SIZE)
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])