Welcome to our Support Center

GRU

Description

Setup and add the gru layer into the model during the definition graph step. Type : polymorphic.

 

Input parameters

 

Graph in : model architecture.

parameters : layer parameters.

units : integer, dimensionality of the output space.
activation : enum, activation function to use.
Default value “tanh”.
recurrent_activation : enum, activation function to use for the recurrent step.
Default value “sigmoid”.
use_bias? : boolean, whether the layer uses a bias vector.
Default value “True”.
input_weight_initializer : enum, initializer for theย kernelweights matrix, used for the linear transformation of the inputs.
Default value “glorot_uniform”.
hidden_weight_initializer : enum, initializer for theย recurrent_kernelweights matrix, used for the linear transformation of the recurrent state.
Default value “orthogonal”.
bias_initializerย : enum, initializer for the bias vector.
Default value “zeros”.
dropoutย : float, fraction of the units to drop for the linear transformation of the inputs.
Default value “0.0”.
recurrent_dropout : float, fraction of the units to drop for the linear transformation of the recurrent state.
Default value “0.0”.
return_sequences?ย : boolean, whether to return the last output in the output sequence, or the full sequence.
Default value “False”.
stateful?ย : boolean, 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.
Default value “False”.
ย optimizer :

ย algorithm :ย enum, (name of optimizer) for optimizer instance.
Default value โ€œadamโ€.
ย learning_rate :ย float, define the learning rate to use.
Default value โ€œ0.001โ€.
ย beta_1 :ย float, define the exponential decay rate for the 1st moment estimates.
Default value โ€œ0.9โ€.
ย beta_2 :ย float, define the exponential decay rate for the 2nd moment estimates.
Default value โ€œ0.999โ€.

ย training?ย :ย boolean, whether the layer is in training mode (can store data for backward).
Default value โ€œTrueโ€.
ย store?ย :ย boolean, whether the layer stores the last iteration gradient (accessible via the โ€œget_gradientsโ€ function).
Default value โ€œFalseโ€.
ย update?ย :ย boolean, whether the layerโ€™s variables should be updated during backward. Equivalent to freeze the layer.
Default value โ€œTrueโ€.
ย lda_coeff :ย float, defines the coefficient by which the loss derivative will be multiplied before being sent to the previous layer (since during the backward run we go backwards).
Default value โ€œ1โ€.

 

ย in/out paramย :

ย input_shapeย :ย integer array, shape (not including the batch axis). NB : To be used only if it is the first layer of the model.
ย output_behaviorย :ย enum, setup if the layer is an output layer.
Default โ€œNot Outputโ€โ€‹.

name (optional) : string, name of the layer.

 

Output parameters

 

Graph out : model architecture.

Dimension

Input shape

A 3D tensor, with shape : (batch, timesteps, features).

 

Output shape

3D tensor with shape :

  • If “return_sequences” = True : (batch_size, timesteps, units).
  • If “return_sequences” = False ย : (batch_size, units).

Example

All these exemples are snippets PNG, you can drop these Snippet onto the block diagram and get the depicted code added to your VI (Do not forget to install HAIBAL library to run it).

GRU layer with explicit input layer

1 โ€“ Generate a set of data

We generate an array of data of type single and shape [batch_size = 10, timesteps = 7, features = 5].

2 โ€“ Define graph

First, we define the first layer of the graph which is an Input layer (explicit input layer method). This layer is setup as an input array shaped [timesteps = 7, features = 5].
Then we add to the graph the GRU layer.

3 โ€“ Run graph

We call the forward method and retrieve the result with the โ€œPrediction 2Dโ€ method.
This method returns two variables, the first one is the layer information (cluster composed of the layer name, the graph index and the shape of the output layer) and the second one is the prediction with a shape of [batch_size, units].
The output dimension depends on the parameters โ€œreturn-sequencesโ€ refer to the chapter โ€œDimensionโ€ of this documentation.

 

GRU layer with implicit input layer

1 โ€“ Generate a set of data

We generate an array of data of type single and shape [batch_size = 10, timesteps = 7, features = 5].

2 โ€“ Define graph

First, we define the GRU layer as the input layer of the graph (implicit input layer method). To do this, we send in the โ€œinput_shapeโ€ variable of the โ€œin/out paramโ€ cluster an array of shape [timesteps = 7, features = 5].
An input layer will be implicitly created and the name of this input layer will be the same name as its parent prefixed with โ€œinput_โ€.
Then we add to the graph the GRU layer.

3 โ€“ Run graph

We call the forward method and retrieve the result with the โ€œPrediction 2Dโ€ method.
This method returns two variables, the first one is the layer information (cluster composed of the layer name, the graph index and the shape of the output layer) and the second one is the prediction with a shape of [batch_size, units].
The output dimension depends on the parameters โ€œreturn-sequencesโ€ refer to the chapter โ€œDimensionโ€ of this documentation.

 

GRU layer, batch and dimension

1 โ€“ Generate a set of data

We generate an array of data of type single and shape [number of batch = 9, batch_size = 10, timesteps = 7, features = 5].

2 โ€“ Define graph

First, we define the first layer of the graph which is an Input layer (explicit input layer method). This layer is setup as an input array shaped [timesteps = 7, features = 5].
Then we add to the graph the GRU layer.

3 โ€“ Run graph

We call the forward method and retrieve the result with the โ€œPrediction 2Dโ€ method.
This method returns two variables, the first one is the layer information (cluster composed of the layer name, the graph index and the shape of the output layer) and the second one is the prediction with a shape of [batch_size, units].
The output dimension depends on the parameters โ€œreturn-sequencesโ€ refer to the chapter โ€œDimensionโ€ of this documentation.

 

Tags:
Table of Contents