Conv2DLSTMCell¶
-
class
Conv2DLSTMCell(input_shape, hidden_channels, i2h_kernel, h2h_kernel, i2h_pad=(0, 0), i2h_dilate=(1, 1), h2h_dilate=(1, 1), i2h_weight_initializer=None, h2h_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', conv_layout='NCHW', activation='tanh', prefix=None, params=None)¶ 2D Convolutional LSTM network cell.
“Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting” paper. Xingjian et al. NIPS2015
(26)¶\[\begin{split}\begin{array}{ll} i_t = \sigma(W_i \ast x_t + R_i \ast h_{t-1} + b_i) \\ f_t = \sigma(W_f \ast x_t + R_f \ast h_{t-1} + b_f) \\ o_t = \sigma(W_o \ast x_t + R_o \ast h_{t-1} + b_o) \\ c^\prime_t = tanh(W_c \ast x_t + R_c \ast h_{t-1} + b_c) \\ c_t = f_t \circ c_{t-1} + i_t \circ c^\prime_t \\ h_t = o_t \circ tanh(c_t) \\ \end{array}\end{split}\]Parameters: - input_shape : tuple of int
Input tensor shape at each time step for each sample, excluding dimension of the batch size and sequence length. Must be consistent with conv_layout. For example, for layout ‘NCHW’ the shape should be (C, H, W).
- hidden_channels : int
Number of output channels.
- i2h_kernel : int or tuple of int
Input convolution kernel sizes.
- h2h_kernel : int or tuple of int
Recurrent convolution kernel sizes. Only odd-numbered sizes are supported.
- i2h_pad : int or tuple of int, default (0, 0)
Pad for input convolution.
- i2h_dilate : int or tuple of int, default (1, 1)
Input convolution dilate.
- h2h_dilate : int or tuple of int, default (1, 1)
Recurrent convolution dilate.
- i2h_weight_initializer : str or Initializer
Initializer for the input weights matrix, used for the input convolutions.
- h2h_weight_initializer : str or Initializer
Initializer for the recurrent weights matrix, used for the input convolutions.
- i2h_bias_initializer : str or Initializer, default zeros
Initializer for the input convolution bias vectors.
- h2h_bias_initializer : str or Initializer, default zeros
Initializer for the recurrent convolution bias vectors.
- conv_layout : str, default ‘NCHW’
Layout for all convolution inputs, outputs and weights. Options are ‘NCHW’ and ‘NHWC’.
- activation : str or gluon.Block, default ‘tanh’
Type of activation function used in c^prime_t. If argument type is string, it’s equivalent to nn.Activation(act_type=str). See
Activation()for available choices. Alternatively, other activation blocks such as nn.LeakyReLU can be used.- prefix : str, default
'conv_lstm_’ Prefix for name of layers (and name of weight if params is None).
- params : RNNParams, default None
Container for weight sharing between cells. Created if None.