我已经阅读了很多关于这一点的帖子。它们彼此不一致,每个答案似乎都有不同的解释,所以我想根据我对所有答案的分析来提问。
正如Keras RNN文档所述,输入形状始终采用此格式(batch_size, timesteps, input_dim)
。我对此感到有点困惑,但我想,不确定,input_dim
始终为1而timesteps
取决于您的问题(也可能是数据维度)。这大致是正确的吗?
这个问题的原因是我在尝试将input_dim
的值更改为我的数据集维度时总是出错(因为input_dim听起来像!!)所以我假设{{ 1}}一次表示LSTM的输入向量的形状。我错了吗?
input_dim
谢谢!
答案 0 :(得分:2)
实际上,input_dim
一次是输入向量的形状。换句话说,input_dim
是输入features
的编号。
假设您有10个序列,每个序列有200个时间步长,并且您只测量温度。然后你有一个功能:
input_shape = (200,1)
- 请注意,此处忽略批量大小(序列数)batch_input_shape = (10,200,1)
- 仅在特定情况下,例如stateful = True
,您需要批量输入形状。 现在假设您不仅要测量温度,还要测量压力和体积。现在你有三个输入功能:
input_shape = (200,3)
batch_input_shape = (10,200,3)
换句话说,第一个维度是不同序列的数量。第二个是序列的长度(沿时间有多少个度量)。最后一次是每次有多少变量。