Class GRU
Gated Recurrent Unit - Cho et al. 2014. There are two variants.The default one is based on 1406.1078v3 and has reset gate applied to hidden state before matrix multiplication. The other one is based on original 1406.1078v1 and has the order reversed. The second variant is compatible with CuDNNGRU (GPU-only) and allows inference on CPU.Thus it has separate biases for kernel and recurrent_kernel.Use 'reset_after'=True and recurrent_activation='sigmoid'.
Implements
Inherited Members
Namespace: Keras.Layers
Assembly: Keras.dll
Syntax
public class GRU : RNN, IDisposable
Constructors
| Improve this Doc View SourceGRU(Int32, String, String, Boolean, String, String, String, String, String, String, String, String, String, String, Single, Single, Int32, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean)
Initializes a new instance of the GRU class.
Declaration
public GRU(int units, string activation = "tanh", string recurrent_activation = "hard_sigmoid", bool use_bias = true, string kernel_initializer = "glorot_uniform", string recurrent_initializer = "orthogonal", string bias_initializer = "zeros", string kernel_regularizer = "", string recurrent_regularizer = "", string bias_regularizer = "", string activity_regularizer = "", string kernel_constraint = "", string recurrent_constraint = "", string bias_constraint = "", float dropout = 0F, float recurrent_dropout = 0F, int implementation = 1, bool return_sequences = false, bool return_state = false, bool go_backwards = false, bool stateful = false, bool unroll = false, bool reset_after = false)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | units | Positive integer, dimensionality of the output space. |
System.String | activation | Activation function to use (see activations). Default: hyperbolic tangent (tanh). If you pass None, no activation is applied (ie. "linear" activation: a(x) = x). |
System.String | recurrent_activation | Activation function to use for the recurrent step (see activations). Default: hard sigmoid (hard_sigmoid). If you pass None, no activation is applied (ie. "linear" activation: a(x) = x). |
System.Boolean | use_bias | Boolean, whether the layer uses a bias vector. |
System.String | kernel_initializer | Initializer for the kernel weights matrix, used for the linear transformation of the inputs (see initializers). |
System.String | recurrent_initializer | Initializer for the recurrent_kernel weights matrix, used for the linear transformation of the recurrent state (see initializers). |
System.String | bias_initializer | Initializer for the bias vector (see initializers). |
System.String | kernel_regularizer | Regularizer function applied to the kernel weights matrix (see regularizer). |
System.String | recurrent_regularizer | Regularizer function applied to the recurrent_kernel weights matrix (see regularizer). |
System.String | bias_regularizer | Regularizer function applied to the bias vector (see regularizer). |
System.String | activity_regularizer | Regularizer function applied to the output of the layer (its "activation"). (see regularizer). |
System.String | kernel_constraint | Constraint function applied to the kernel weights matrix (see constraints). |
System.String | recurrent_constraint | Constraint function applied to the recurrent_kernel weights matrix (see constraints). |
System.String | bias_constraint | Constraint function applied to the bias vector (see constraints). |
System.Single | dropout | Float between 0 and 1. Fraction of the units to drop for the linear transformation of the inputs. |
System.Single | recurrent_dropout | Float between 0 and 1. Fraction of the units to drop for the linear transformation of the recurrent state. |
System.Int32 | implementation | Implementation mode, either 1 or 2. Mode 1 will structure its operations as a larger number of smaller dot products and additions, whereas mode 2 will batch them into fewer, larger operations. These modes will have different performance profiles on different hardware and for different applications. |
System.Boolean | return_sequences | Boolean. Whether to return the last output in the output sequence, or the full sequence. |
System.Boolean | return_state | Boolean. Whether to return the last state in addition to the output. |
System.Boolean | go_backwards | Boolean (default False). If True, process the input sequence backwards and return the reversed sequence. |
System.Boolean | stateful | Boolean (default False). If True, the last state for each sample at index i in a batch will be used as initial state for the sample of index i in the following batch. |
System.Boolean | unroll | Boolean (default False). If True, the network will be unrolled, else a symbolic loop will be used. Unrolling can speed-up a RNN, although it tends to be more memory-intensive. Unrolling is only suitable for short sequences. |
System.Boolean | reset_after | GRU convention (whether to apply reset gate after or before matrix multiplication). False = "before" (default), True = "after" (CuDNN compatible). |