我正在研究多元LSTM代码。当我训练模型时,
设计网络
model = Sequential()
model.add(LSTM(100, input_shape=(train_X.shape[1], train_X.shape[2])))
model.add(Dense(n_out*n_features))
model.compile(loss='mae', optimizer='adam')
# fit network
history = model.fit(train_X, train_y, epochs=10, batch_size=72, validation_data=(test_X, test_y), verbose=2, shuffle=False)
# make a prediction
yhat = model.predict(test_X)
print(yhat.shape)
print(yhat)
我注意到它只提供一组重复的值。
输出(yhat)
[[ 3.4039806e+01 1.2757405e+00 1.0543864e+01 ... 6.5443869e+00
-4.8950994e-03 5.8005480e-03]
[ 3.4039803e+01 1.2757403e+00 1.0543863e+01 ... 6.5443869e+00
-4.8949206e-03 5.8003617e-03]
[ 3.4039803e+01 1.2757401e+00 1.0543863e+01 ... 6.5443869e+00
-4.8948163e-03 5.8003096e-03]
...
[ 3.4039806e+01 1.2757384e+00 1.0543867e+01 ... 6.5443854e+00
-4.8948908e-03 5.8027236e-03]
[ 3.4039806e+01 1.2757379e+00 1.0543868e+01 ... 6.5443850e+00
-4.8948014e-03 5.8030440e-03]
[ 3.4039806e+01 1.2757375e+00 1.0543868e+01 ... 6.5443850e+00
-4.8947120e-03 5.8032898e-03]]
如您所见,它为所有输入返回相同的输出。 我已经验证了训练和测试集,而且已经按照原样进行。