【发布时间】:2022-01-14 10:58:07
【问题描述】:
假设我有一些形状为 (80,27) 的时间序列数据,这意味着 80 个时间步长和 27 个特征。我想训练以下网络以分别预测每个时间步而不是一起预测 80 个时间步,因为在预测阶段我的输入形状是 (1,27) 每个时间步 t 直到我达到 t = 80 。
所以我必须找到一种方法来预测 (1,27) 的 80 个样本时间步长,而不会在训练时丢失反向传播。
有什么建议吗?
def Model():
inputs = layers.Input(shape=(80,27))
x = layers.Conv1D(64,kernel_size=5,activation="relu",padding="same")(inputs)
x = layers.Bidirectional(layers.LSTM(256,return_sequences=True))(x)
x = layers.Bidirectional(layers.LSTM(256,return_sequences=True))(x)
x = layers.Bidirectional(layers.LSTM(256,return_sequences=True))(x)
x = layers.Bidirectional(layers.LSTM(128,return_sequences=True))(x)
x = layers.Bidirectional(layers.LSTM(128,return_sequences=True))(x)
x = layers.Bidirectional(layers.LSTM(128,return_sequences=True))(x)
x = layers.Dense(512,activation="selu")(x)
x = layers.Dense(256,activation="selu")(x)
x = layers.Dense(2)(x)
return keras.Model(inputs=inputs,outputs=x)
【问题讨论】:
标签: python tensorflow keras lstm recurrent-neural-network