Welcome to our Support Center

LSTM

Description

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

 

Input parameters

 

Model in : model architecture.

 Parameters : layer parameters.

 units : integer, dimensionality of the output space.
 Activation : cluster, applied to the candidate cell input. This function transforms the new information considered for updating the cell state.
 Output Activation : cluster, applied to the updated cell state before producing the visible hidden output of the LSTM at each time step.

 Recurrent Activation : cluster, applied to the input, forget, and output gates. It controls which parts of the past information are allowed to pass or be blocked.
 use bias? : boolean, whether the layer uses a bias vector.
Default value “True”.
 Input Weight Initializer : cluster, initializer for the kernel weights matrix, used for the linear transformation of the inputs.
 Hidden Weight Initializer : cluster, initializer for the recurrent_kernel weights matrix, used for the linear transformation of the recurrent state.
 Bias Initializer : cluster, initializer for the bias vector.
unit forget bias? : boolean, if True, add 1 to the bias of the forget gate at initialization.
Default value “True”.
 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”.
 Input Weight Regularizer : cluster, regularizer function applied to the kernel weights matrix.
 Hidden Weight Regularizer : cluster, regularizer function applied to the recurrent_kernel weights matrix.
 Bias Regularizer : cluster, regularizer function applied to the bias vector.
 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”.

 

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

 

Output parameters

 

Model 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 Deep Learning library to run it).

LSTM 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 LSTM 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.

 

LSTM 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 = 3].

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 = 3].
Then we add to the graph the LSTM 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.

 

Table of Contents