LSTM

时间:2018-12-05 10:22:28

标签: python tensorflow keras lstm

我一直在尝试建立LSTM模型,但对batch_size有点困惑。我在Tensorflow中使用Keras模块。

我有 50,000个样本,每个样本具有 200个时间步长,每个时间步长都有三个功能。因此,我将训练数据的形状定为(50000, 200, 3)

我用四个LSTM层设置了模型,每个层有 100个单位。对于第一层,我将输入形状指定为(200, 3)。前三层有return_sequences=True,后三层没有。然后,我进行一些softmax分类。

当我用model.fit呼叫batch_size='some_number'时,Tensorflow / Keras是否负责以指定大小的批次进料模型?我是否必须提前以某种方式重塑数据?如果样本数量不能被'some_number'整除,会发生什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

如果您将数据作为numpy数组提供给model.fit(),则可以,Keras将负责以您指定的批次大小提供模型。如果您的数据集大小不能被批次大小整除,则Keras的最终批次将更小,等于dataset_size mod batch_size