【问题标题】:How to declare multiple inputs LSTM model in Keras?如何在 Keras 中声明多输入 LSTM 模型?
【发布时间】:2017-07-29 19:36:55
【问题描述】:

我有一个 Keras 的声明 LSTM 的代码。但是我注意到 Container 类已经在最新版本中被删除了。 https://keras.io/layers/containers/

如何以最新格式为 LSTM 声明多个输入?我想连接 LSTM 输入的所有输入。

虽然我注意到一个类似的帖子,但我想做的是声明模型。 How to work with multiple inputs for LSTM in Keras?

  • keras 1.2.2
  • Python 3.5.2(Anaconda 4.1.1,64 位)

```

g = Graph()
g.add_input(
    name='i1',
    input_shape=(None, i1_size)
)
g.add_input(
    name='i2',
    input_shape=(None, i2_size)
)
g.add_node(
    LSTM(
        n_hidden,
        return_sequences=True,
        activation='tanh'
    ),
    name='h1',
    inputs=[
        'i1',
        'i2'
    ]
)

```

哦,我可以像下面这样将 input_shape 设置为 (i1_size+i2_size) 吗?

model = Sequential()
model.add(LSTM(n_hidden, input_shape=(None, i1_size+i2_size), activation='tanh', return_sequences=True))

【问题讨论】:

    标签: python concatenation keras concat lstm


    【解决方案1】:

    你问:

    哦,我可以像下面这样将 input_shape 设置为 (i1_size+i2_size) 吗?

    model = Sequential()
    model.add(LSTM(n_hidden, input_shape=(None, i1_size+i2_size), activation='tanh', return_sequences=True))
    

    是的,杰夫。请记住,您的 None in (None, i1_size+i2_size) 是 RNN 时间步数/input_length 的数量,当您可以跳过定义它时需要注意。详情请参阅input_lengthhttps://keras.io/layers/recurrent/ 的描述。

    仅供参考,input_shape=(None, i1_size+i2_size) 也可以写成input_dim=i1_size+i2_size(假设你不包括input_length)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-14
      • 2018-09-14
      • 2017-07-25
      • 2019-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      相关资源
      最近更新 更多