SimpleRNN classkeras.layers.SimpleRNN( units, activation="tanh", use_bias=True, kernel_initializer="glorot_uniform", recurrent_initializer="orthogonal", bias_initializer="zeros", 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, return_sequences=False, return_state=False, go_backwards=False, stateful=False, unroll=False, seed=None, **kwargs ) Fully-connected RNN where the output is to be fed back as the new input.
Arguments
tanh). If you pass None, no activation is applied (ie. "linear" activation: a(x) = x).True), whether the layer uses 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".kernel weights matrix. Default: None.recurrent_kernel weights matrix. Default: None.None.None.kernel weights matrix. Default: None.recurrent_kernel weights matrix. Default: None.None.False.False.False). If True, process the input sequence backwards and return the reversed sequence.False). If True, the last state for each sample at index i in a batch will be used as the initial state for the sample of index i in the following batch.False). If True, the network will be unrolled, else a symbolic loop will be used. Unrolling can speed-up an RNN, although it tends to be more memory-intensive. Unrolling is only suitable for short sequences.Call arguments
[batch, timesteps, feature].[batch, timesteps] indicating whether a given timestep should be masked. An individual True entry indicates that the corresponding timestep should be utilized, while a False entry indicates that the corresponding timestep should be ignored.dropout or recurrent_dropout is used.Example
inputs = np.random.random((32, 10, 8)) simple_rnn = keras.layers.SimpleRNN(4) output = simple_rnn(inputs) # The output has shape `(32, 4)`. simple_rnn = keras.layers.SimpleRNN( 4, return_sequences=True, return_state=True ) # whole_sequence_output has shape `(32, 10, 4)`. # final_state has shape `(32, 4)`. whole_sequence_output, final_state = simple_rnn(inputs)