值:sequential_34层的输入0与图层不兼容:预期ndim = 3,发现ndim = 2。收到完整的形状:(无,2)

发布于 2025-02-13 05:44:57 字数 1270 浏览 2 评论 0原文

我不明白为什么我会遇到这个错误,

ValueError: Input 0 of layer sequential_41 is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: (None, 2)

这是我的代码

import numpy
from keras.models import Sequential
from keras.layers import LSTM, Dense
from keras.layers import Bidirectional
from keras.layers import TimeDistributed
from sklearn.model_selection import KFold, cross_val_score, train_test_split

model = Sequential()
model.add(LSTM(40, return_sequences=True, input_shape=(2, 1)))
model.add(Dense(20, activation='relu'))
model.add(Dense(16, activation='sigmoid'))
model.add(Dense(5, activation='tanh'))
model.add(Flatten())
model.add(Dense(2, activation='softmax'))

model.compile(loss='mean_squared_logarithmic_error', optimizer ='adam', metrics=['accuracy'])
#model.fit(trainx, trainy, epochs=10, batch_size=64, verbose=False, shuffle = False)

callback = tf.keras.callbacks.EarlyStopping(monitor='loss', patience=3)
callbacks=[callback]
model.fit(trainx, trainy, epochs=10, batch_size=10, callbacks=[callback])

model.save_weights('LSTMBasic1.h5')
print(trainx.shape)
print(trainy.shape)
print(testx.shape)
print(testy.shape)

#(3885, 2)  
#(3885,)  
#(686, 2)  
#(686,)

I can't understand why I am getting this error

ValueError: Input 0 of layer sequential_41 is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: (None, 2)

This is my code

import numpy
from keras.models import Sequential
from keras.layers import LSTM, Dense
from keras.layers import Bidirectional
from keras.layers import TimeDistributed
from sklearn.model_selection import KFold, cross_val_score, train_test_split

model = Sequential()
model.add(LSTM(40, return_sequences=True, input_shape=(2, 1)))
model.add(Dense(20, activation='relu'))
model.add(Dense(16, activation='sigmoid'))
model.add(Dense(5, activation='tanh'))
model.add(Flatten())
model.add(Dense(2, activation='softmax'))

model.compile(loss='mean_squared_logarithmic_error', optimizer ='adam', metrics=['accuracy'])
#model.fit(trainx, trainy, epochs=10, batch_size=64, verbose=False, shuffle = False)

callback = tf.keras.callbacks.EarlyStopping(monitor='loss', patience=3)
callbacks=[callback]
model.fit(trainx, trainy, epochs=10, batch_size=10, callbacks=[callback])

model.save_weights('LSTMBasic1.h5')
print(trainx.shape)
print(trainy.shape)
print(testx.shape)
print(testy.shape)

#(3885, 2)  
#(3885,)  
#(686, 2)  
#(686,)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文