2017-03-09 130 views
3

我宣佈LSTM的Keras'代碼。但我注意到Container類已經在最新版本中被刪除。 https://keras.io/layers/containers/如何在Keras中聲明多個輸入LSTM模型?

如何以最新格式聲明LSTM的多個輸入?我想連接LSTM輸入的所有輸入。

雖然我注意到了一個類似的帖子,但我想要做的是模型的聲明。 How to work with multiple inputs for LSTM in Keras?

  • keras 1.2.2
  • 的Python 3.5.2(阿納康達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)) 

回答

2

你問:

哦,我可以只設置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)) 

是,傑夫。請記住,您的無(in,i1_size + i2_size)是RNN時間步數/輸入長度的數量,當您可以跳過定義它時有一些注意事項。有關詳細信息,請參閱input_length的說明,地址爲https://keras.io/layers/recurrent/

而僅僅供參考input_shape=(None, i1_size+i2_size)也可以寫爲input_dim=i1_size+i2_size(假設您不包括input_length)。