我已经训练了一个模型:
trainX = trainX.reshape(1, 43164, 17)trainY = trainY.reshape(43164, 1)model = Sequential()model.add(LSTM(2, input_shape=(43164, 17)))model.add(Dense(1))model.compile(loss='mean_squared_error', optimizer='adam')model.fit(trainX, trainY[0], epochs=100)testX.shape # (8633, 17)testX = testX.reshape(1, 8633, 17)
当我对这些数据进行预测时,我得到了一个错误:
Error when checking input: expected lstm_26_input to have shape (43164, 17) but got array with shape (8633, 17)
我应该做些什么才能获得好的结果?
回答:
在深度学习网络的序列模型中,您可以使用有限的短窗口和改变窗口的步长来传递数据,或者
传递一个由一维向量组成的完整序列
trainX = trainX.reshape( 43164,1, 17)trainY = trainY.reshape(43164, 1)model = Sequential()model.add(LSTM(2, input_shape=(1, 17)))model.add(Dense(1))model.compile(loss='mean_squared_error', optimizer='adam')model.fit(trainX, trainY[0], epochs=100)testX.shape # (8633, 17)testX = testX.reshape(8633,1, 17)