如何在Keras中训练具有不同长度示例的RNN ?



我正在学习rnn,我正在使用TensorFlow/Keras。我了解香草RNN和LSTM层的基础知识,但我很难理解如何使我的模型适合数据。

我的数据集由几个不同大小的时间序列示例组成,例如:

x1 = [1, 2, 3, 4]
x2 = [3, 7]
x3 = [5, 6, 8, 9, 10, 11]

在keras文档中,它说RNN层的输入必须具有形状(batch_size, timesteps, input_dim),因此我认为,基于上面的列表,我需要创建形状为(3, None, 1)的输入数组。

我如何安排我的数据,使我的模型可以适合它?

处理这个问题的最好方法是使用屏蔽:https://www.tensorflow.org/guide/keras/masking_and_padding基本的想法是填充你的时间序列,正如Marco Cerliani在他的评论中建议的那样,但是在处理序列时要屏蔽掉填充。这样你只需要在实际的数据值上训练你的网络。

最新更新