gpt4 book ai didi

python - 双向 LSTM 的问题

转载 作者:行者123 更新时间:2023-11-30 09:44:57 30 4
gpt4 key购买 nike

最初我使用了带有两个隐藏层的 LSTM,然后决定看看使用双向层是否会有任何改进。我没有对从 LSTM 到双向 LSTM 的输入形状进行任何更改。当我运行 LSTM 版本时,它运行得很好,但是当我运行双向版本时,我收到关于第二层期望 4 维的错误。我的问题是为什么会发生这种情况,我能做什么?

Error Message : ValueError: Input 0 is incompatible with layer bidirectional_2: expected ndim=3, found ndim=2

训练集的输入形状为(284,1,3)

双向 LSTM 代码:

model = Sequential()

model.add(Bidirectional(LSTM(units=steps,input_shape=(1,steps))))
model.add(Bidirectional(LSTM(steps),merge_mode= 'ave'))
model.add(LSTM(units=steps,return_sequences=True,activation='relu'))

model.compile(loss='mse', optimizer='sgd',metrics=[Gavg])

model.fit(X_train, y_train, batch_size=1, epochs= 200, validation_data=(X_test,y_test), verbose=1)

最佳答案

由于您将多个 LSTM 层堆叠在一起,因此您需要在前两层上使用 return_sequences=True。否则,它们的输出将具有 (batch_size, n_units) 的形状,因此不会是序列,并且无法由下面的 LSTM 层处理。

关于python - 双向 LSTM 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53652359/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com