Welcome to our Support Center

ConvLSTM2DCell

Description

Define the cell convolution lstm 2D layer according to its parameters. To be used for the ConvLSTM2D layer. Type : polymorphic.

 

Input parameters

 

 parameters : layer parameters.

filters : integer, the dimensionality of the output space.
Default value “3”.
size : array integer, specify the dimensions of the convolution window.
Default value “[3,3]”.
stride : array integer, specify the strides of the convolution.
Default value “[1,1]”.
 padding : boolean, False = “valid” means no padding. True = “same” results in padding with zeros evenly to the left/right or up/down of the input such that output has the same height/width dimension as the input.
Default value “False”.
 activation : enum, activation function to use.
Default value “tanh”.
output_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”.
kernel_initializer : enum, initializer for the kernel weights matrix, used for the linear transformation of the inputs.
Default value “glorot_uniform”.
recurrent_initializer : enum, initializer for the recurrent_kernel weights matrix, used for the linear transformation of the recurrent state.
Default value “orthogonal”.
 bias_initializer : enum, initializer for the bias vector.
Default value “zero”.
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”.
 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”.

 

Output parameters

 

ConvLSTM2DCell out : layer cell convolution lstm 2d architecture

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

ConvLSTM2D cell inside ConvLSTM2D layer

1 – Generate a set of data

We generate an array of data of type single and shape [samples = 10, time = 7, channels = 6, rows = 5, cols = 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 [time = 7, channels = 6, rows = 5, cols = 5].
Next, we configure the “cell” parameter of the ConvLSTM2D layer with the ConvLSTM2D cell.
Finally, we add to the graph the ConvLSTM2D layer.

3 – Run graph

We call the forward method and retrieve the result with the “Prediction 4D” 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 [samples, filters, new_rows, new_cols].
The output dimension depends on the parameters “return-sequences” refer to the chapter “Dimension” of ConvLSTM2D add to graph documentation.

Table of Contents