【发布时间】:2019-06-09 23:01:26
【问题描述】:
我正在尝试使用 Keras 构建一个顺序模型,并将 LSTM 层作为第一层。 train_x 的形状为 (21000, 2),我使用的批量大小为 10
当我尝试时
model = Sequential()
model.add(LSTM(128, activation='relu', input_shape=(
train_x.shape[1:]), return_sequences=True))
我收到一个错误提示
输入 0 与层 lstm_1 不兼容:预期 ndim=3,发现 ndim=2
然后我尝试更改 input_shape 并将其设置为 input_shape=(train_x.shape) 并收到另一个错误提示
检查输入时出错:预期 lstm_1_input 有 3 个维度,但得到的数组形状为 (21000, 2)
我做错了什么?
【问题讨论】:
-
ninesalt,请检查 sol 现在我更新了,对我造成的混乱表示抱歉。
-
您需要清楚地了解您的数据是什么。您认为“序列”是什么,数据的每个维度意味着什么,您想从中提取什么。没有这个,就不可能提供帮助。
-
@danielmoller 输入数据只是一个带有数字的 (N, 2) 数据框。我不确定这是否是您所说的序列
-
嗯……仅仅一个数据框是不足以决定如何将数据用到LSTM中的,你必须有“例子”、“时间步长”和“特征”。这就是为什么您需要“理解”数据并了解要提取的内容。
标签: python-3.x tensorflow keras