首页 > 解决方案 > 当我给它 2 时,Keras LSTM 期望 3 维,但当我给它 3 时,它期望 4 维

问题描述

这给了我一个错误,告诉我它预期 3 个维度但得到了 2 个:

input_layer = 输入(形状=(无,1000000))

lstm_1 = LSTM(500, dropout=.2, recurrent_dropout=.2)(input_layer)

这些中的任何一个都给了我一个错误,告诉我它需要 4 个维度但得到了 3 个:

input_layer = Input(shape=(None, 1000000, None))

input_layer = Input(shape=(None, None, 1000000))

标签: keraslstm

解决方案


输入shape参数没有考虑批量大小,所以真正给出shape=(None, 1000)是期望的(batch_size, None, 100),它变成了 3 维的。因此,您需要输入形状数据(样本、时间步长、特征),因此需要输入fit函数的 3D 数据。


推荐阅读