ValueError:输入0与层重复向量不兼容:预期ndim=2,发现ndim=3

2024-06-02 06:46:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图建立入侵检测LSTM和自动编码器。但是我不明白为什么重复向量需要ndim=3。我想不通。下面是我的代码:

十_列车形状:(8000,1,82)

十_测试.形状:(2000年1月82日)

x_train = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1]))
x_test = np.reshape(testT, (testT.shape[0], 1, testT.shape[1]))

start = time.time()
model = Sequential()
model.add(LSTM(128, activation='relu',recurrent_dropout=0.5,return_sequences=True,input_dim=82))
model.add(RepeatVector(82))
model.add(Dropout(0.3))
model.add(LSTM(64, activation='relu',recurrent_dropout=0.5,return_sequences=False))
model.add(Dropout(0.3))
model.add(TimeDistributed(Dense(1,activation='softmax')))

ValueError: Input 0 is incompatible with layer repeat_vector_58: expected ndim=2, found ndim=3

Tags: addmodeltimenpactivationdropoutrelu形状