Cell class for the GRU layer.
Inherits From: Layer
, Operation
tf.keras.layers.GRUCell(
units,
activation='tanh',
recurrent_activation='sigmoid',
use_bias=True,
kernel_initializer='glorot_uniform',
recurrent_initializer='orthogonal',
bias_initializer='zeros',
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,
reset_after=True,
seed=None,
**kwargs
)
This class processes one step within the whole time sequence input, whereas
keras.layer.GRU
processes the whole sequence.
Args |
units
|
Positive integer, dimensionality of the output space.
|
activation
|
Activation function to use. Default: hyperbolic tangent
(tanh ). If you pass None, no activation is applied
(ie. "linear" activation: a(x) = x ).
|
recurrent_activation
|
Activation function to use for the recurrent step.
Default: sigmoid (sigmoid ). If you pass None , no activation is
applied (ie. "linear" activation: a(x) = x ).
|
use_bias
|
Boolean, (default True ), whether the layer
should use a bias vector.
|
kernel_initializer
|
Initializer for the kernel weights matrix,
used for the linear transformation of the inputs. Default:
"glorot_uniform" .
|
recurrent_initializer
|
Initializer for the recurrent_kernel
weights matrix, used for the linear transformation
of the recurrent state. Default: "orthogonal" .
|
bias_initializer
|
Initializer for the bias vector. Default: "zeros" .
|
kernel_regularizer
|
Regularizer function applied to the kernel weights
matrix. Default: None .
|
recurrent_regularizer
|
Regularizer function applied to the
recurrent_kernel weights matrix. Default: None .
|
bias_regularizer
|
Regularizer function applied to the bias vector.
Default: None .
|
kernel_constraint
|
Constraint function applied to the kernel weights
matrix. Default: None .
|
recurrent_constraint
|
Constraint function applied to the
recurrent_kernel weights matrix. Default: None .
|
bias_constraint
|
Constraint function applied to the bias vector.
Default: None .
|
dropout
|
Float between 0 and 1. Fraction of the units to drop for the
linear transformation of the inputs. Default: 0.
|
recurrent_dropout
|
Float between 0 and 1. Fraction of the units to drop
for the linear transformation of the recurrent state. Default: 0.
|
reset_after
|
GRU convention (whether to apply reset gate after or
before matrix multiplication). False = "before",
True = "after" (default and cuDNN compatible).
|
seed
|
Random seed for dropout.
|
Call arguments |
inputs
|
A 2D tensor, with shape (batch, features) .
|
states
|
A 2D tensor with shape (batch, units) , which is the state
from the previous time step.
|
training
|
Python boolean indicating whether the layer should behave in
training mode or in inference mode. Only relevant when dropout or
recurrent_dropout is used.
|
Example:
inputs = np.random.random((32, 10, 8))
rnn = keras.layers.RNN(keras.layers.GRUCell(4))
output = rnn(inputs)
output.shape
(32, 4)
rnn = keras.layers.RNN(
keras.layers.GRUCell(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)
Attributes |
input
|
Retrieves the input tensor(s) of a symbolic operation.
Only returns the tensor(s) corresponding to the first time
the operation was called.
|
output
|
Retrieves the output tensor(s) of a layer.
Only returns the tensor(s) corresponding to the first time
the operation was called.
|
Methods
from_config
View source
@classmethod
from_config(
config
)
Creates a layer from its config.
This method is the reverse of get_config
,
capable of instantiating the same layer from the config
dictionary. It does not handle layer connectivity
(handled by Network), nor weights (handled by set_weights
).
Args |
config
|
A Python dictionary, typically the
output of get_config.
|
Returns |
A layer instance.
|
get_dropout_mask
View source
get_dropout_mask(
step_input
)
get_initial_state
View source
get_initial_state(
batch_size=None
)
get_recurrent_dropout_mask
View source
get_recurrent_dropout_mask(
step_input
)
reset_dropout_mask
View source
reset_dropout_mask()
Reset the cached dropout mask if any.
The RNN layer invokes this in the call()
method
so that the cached mask is cleared after calling cell.call()
. The
mask should be cached across all timestep within the same batch, but
shouldn't be cached between batches.
reset_recurrent_dropout_mask
View source
reset_recurrent_dropout_mask()
symbolic_call
View source
symbolic_call(
*args, **kwargs
)