【问题标题】:How can I implement a 1D CNN in front of my LSTM network如何在我的 LSTM 网络前实现 1D CNN
【发布时间】:2020-07-14 20:07:27
【问题描述】:

目前我像这样重塑我的 X_train:

X_train = input.reshape(1,1,12)
model = Sequential()
model.add(LSTM(100,input_shape=(1, 12)))
model.add(Dense(100, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(9, activation='sigmoid'))

但现在我正在考虑在这个 LSTM 层之前实现一个 1D CNN。有人知道这应该怎么做吗?

【问题讨论】:

  • 您的问题解决了吗?
  • 不,还没有,但我认为您的回答可能是正确的。当我解决这个问题时,我会更新。感谢您的帮助!

标签: python keras time-series lstm conv-neural-network


【解决方案1】:

您有一个keras.layers.Conv1D(请参阅doc),可以将其应用到您的网络输入。

如果您输入的形状为 (1,1,12) 并且应用了 K 个过滤器,您将获得形状为 (1,1,K) 的输出:因此您可能希望将其交换为 (1,12,1) 以将步骤置于第二位置(检查文档)。

请注意,model.summary() 可能会帮助您调试网络的输入和输出形状。

【讨论】:

  • 但在我的例子中,12 是特征的数量。我有 12 个时间序列信号
猜你喜欢
  • 1970-01-01
  • 2020-11-04
  • 1970-01-01
  • 1970-01-01
  • 2014-12-12
  • 2016-01-09
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
相关资源
最近更新 更多