LSTMCell
classkeras.layers.LSTMCell(
units,
activation="tanh",
recurrent_activation="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,
kernel_constraint=None,
recurrent_constraint=None,
bias_constraint=None,
dropout=0.0,
recurrent_dropout=0.0,
seed=None,
**kwargs
)
Cell class for the LSTM layer.
This class processes one step within the whole time sequence input, whereas
keras.layer.LSTM
processes the whole sequence.
Arguments
tanh
). If you pass None, no activation is applied
(ie. "linear" activation: a(x) = x
).sigmoid
). If you pass None
, no activation is
applied (ie. "linear" activation: a(x) = x
).True
), whether the layer
should use a bias vector.kernel
weights matrix,
used for the linear transformation of the inputs. Default:
"glorot_uniform"
.recurrent_kernel
weights matrix, used for the linear transformation
of the recurrent state. Default: "orthogonal"
."zeros"
.True
). If True
,
add 1 to the bias of the forget gate at initialization.
Setting it to True
will also force bias_initializer="zeros"
.
This is recommended in Jozefowicz et al.kernel
weights
matrix. Default: None
.recurrent_kernel
weights matrix. Default: None
.None
.kernel
weights
matrix. Default: None
.recurrent_kernel
weights matrix. Default: None
.None
.Call arguments
(batch, features)
.(batch, units)
, which is the state
from the previous time step.dropout
or
recurrent_dropout
is used.Example
>>> inputs = np.random.random((32, 10, 8))
>>> rnn = keras.layers.RNN(keras.layers.LSTMCell(4))
>>> output = rnn(inputs)
>>> output.shape
(32, 4)
>>> rnn = keras.layers.RNN(
... keras.layers.LSTMCell(4),
... return_sequences=True,
... return_state=True)
>>> whole_sequence_output, final_state = rnn(inputs)
>>> whole_sequence_output.shape
(32, 10, 4)
>>> final_state.shape
(32, 4)