Keras中的时间序列编解码器LSTM

Keras中的时间序列编解码器LSTM,keras,time-series,autoencoder,decoder,encoder-decoder,Keras,Time Series,Autoencoder,Decoder,Encoder Decoder,我在过去使用9个功能和18个时间步来预测未来的3个值: lookback = 18 forecast = 3 n_features_X = 9 n_features_Y = 1 我的代码是: # Encoder past_inputs = tf.keras.Input(shape=(lookback, n_features_X), name='past_inputs') encoder = tf.keras.layers.LSTM(128, return_state=True) encoder

我在过去使用9个功能和18个时间步来预测未来的3个值:

lookback = 18
forecast = 3
n_features_X = 9
n_features_Y = 1
我的代码是:

# Encoder
past_inputs = tf.keras.Input(shape=(lookback, n_features_X), name='past_inputs')
encoder = tf.keras.layers.LSTM(128, return_state=True)
encoder_outputs, state_h, state_c = encoder(past_inputs)

# Decoder
future_inputs = tf.keras.Input(shape=(forecast, n_features_Y), name='future_inputs')

decoder_lstm = tf.keras.layers.LSTM(128, return_sequences=True)
x = decoder_lstm(future_inputs, initial_state=[state_h, state_c])
output = tf.keras.layers.Dense(1, activation='linear')(x)

# Create the model
model = tf.keras.models.Model(inputs=[past_inputs, future_inputs], outputs=output)

恐怕这条线路有问题:

future_inputs = tf.keras.Input(shape=(forecast, n_features_Y), name='future_inputs')
我得到的错误是:

AssertionError: Could not compute output Tensor("dense_23/Identity:0", shape=(None, 3, 1), dtype=float32)

关于如何正确执行此操作,您有什么想法吗?

请指定您的问题,并在适用的情况下发布错误。对不起,忘记了。我也遇到了同样的问题,你能给我解释一下未来的输入和输出有什么区别吗。如果我想训练x1,x1….x60并预测x61..x64过去的输入将来的输入和输出相同的问题,我有几乎相同的体系结构。请指定您的问题并发布错误(如果适用)。抱歉,忘记了。我也遇到了同样的问题,你能给我解释一下未来的输入和输出有什么区别吗。如果我想训练x1,x1….x60并预测x61..x64过去的输入,未来的输入和输出,这里有相同的问题,我有几乎相同的架构