我想预测一台机器的压力。我有18个输入值,压力作为输出。因此,我有19列和7657行,因为该数据库包含7657个时间步长,每个时间步长为1秒。
我对以下代码有疑问:
{{1}}
我得到了错误:
ValueError:检查输入时出错:预期lstm_1_input具有3 尺寸,但数组的形状为(1257,18)
最后一行代码之后。
我也试图重塑测试数据,但后来我得到一个非常相似的错误。
我认为,我缺少一些非常简单或基本的东西,但是由于我只是编码神经元网络的初学者,因此目前无法弄清楚。 我的硕士论文需要这个,所以如果有人可以帮助我,我将非常感谢。
答案 0 :(得分:0)
问题是您的模型输入batch_input_shape
是固定的。您的测试长度为1257,不能被32整除。应按以下步骤进行更改:
model.add(LSTM(10, return_sequences=True,batch_input_shape=(None,1,18)))
您应该在模型评估测试之前修改测试形状。
x_test= x_test.reshape(len(x)-x_train_size,1,18)
y_test= y_test.reshape(len(y)-x_train_size,1,1)
score = model.evaluate(x_test, y_test,batch_size=32)
当然,您必须在predicted
之前重塑y_test
和inverse_transform
。
predicted = model.predict(x_test)
predicted= predicted.reshape(len(y)-x_train_size,1)
y_test= y_test.reshape(len(y)-x_train_size,1)