在较新版本的Keras中,LSTM相当于return_sequence = True

时间:2017-12-12 22:48:36

标签: keras lstm keras-layer rnn

我使用tensorflow作为keras的后端。在其中一个LSTM教程中,它说

regressor.add(LSTM(units = 50, return_sequence = True, input_shape = Xtrain))

看看新的LSTM语法,它说

keras.layers.LSTM(units, activation='tanh', recurrent_activation='hard_sigmoid', 
                  use_bias=True, kernel_initializer='glorot_uniform', 
                  recurrent_initializer='orthogonal', bias_initializer='zeros', 
                  unit_forget_bias=True, kernel_regularizer=None, 
                  recurrent_regularizer=None, bias_regularizer=None, 
                  activity_regularizer=None, kernel_constraint=None, 
                  recurrent_constraint=None, bias_constraint=None, dropout=0.0, 
                  recurrent_dropout=0.0, implementation=1, return_sequences=False, 
                  return_state=False, go_backwards=False, 
                  stateful=False, unroll=False)

有人可以在较新版本中提供相应的上述代码吗?

1 个答案:

答案 0 :(得分:0)

return_sequence是拼写错误的参数,应为return_sequences(请注意尾随的 s )。这个论点仍然存在于最新版本中,甚至在master中。

input_shape也支持kw参数(同义词:input_dim)。

所以只需使用

LSTM(units = 50, return_sequences = True, input_shape = Xtrain)