mxnet.gluon.rnn.conv_rnn_cell

Definition of various recurrent neural network cells.

Classes

Conv1DGRUCell(input_shape, hidden_channels, ...)

1D Convolutional Gated Rectified Unit (GRU) network cell.

Conv1DLSTMCell(input_shape, hidden_channels, ...)

1D Convolutional LSTM network cell.

Conv1DRNNCell(input_shape, hidden_channels, ...)

1D Convolutional RNN cell.

Conv2DGRUCell(input_shape, hidden_channels, ...)

2D Convolutional Gated Rectified Unit (GRU) network cell.

Conv2DLSTMCell(input_shape, hidden_channels, ...)

2D Convolutional LSTM network cell.

Conv2DRNNCell(input_shape, hidden_channels, ...)

2D Convolutional RNN cell.

Conv3DGRUCell(input_shape, hidden_channels, ...)

3D Convolutional Gated Rectified Unit (GRU) network cell.

Conv3DLSTMCell(input_shape, hidden_channels, ...)

3D Convolutional LSTM network cell.

Conv3DRNNCell(input_shape, hidden_channels, ...)

3D Convolutional RNN cells

class mxnet.gluon.rnn.conv_rnn_cell.Conv1DGRUCell(input_shape, hidden_channels, i2h_kernel, h2h_kernel, i2h_pad=(0,), i2h_dilate=(1,), h2h_dilate=(1,), i2h_weight_initializer=None, h2h_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', conv_layout='NCW', activation='tanh')[source]

Bases: _ConvGRUCell

1D Convolutional Gated Rectified Unit (GRU) network cell.

\[\begin{split}\begin{array}{ll} r_t = \sigma(W_r \ast x_t + R_r \ast h_{t-1} + b_r) \\ z_t = \sigma(W_z \ast x_t + R_z \ast h_{t-1} + b_z) \\ n_t = tanh(W_i \ast x_t + b_i + r_t \circ (R_n \ast h_{t-1} + b_n)) \\ h^\prime_t = (1 - z_t) \circ n_t + z_t \circ h \\ \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 ‘NCW’ the shape should be (C, 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,)) – Pad for input convolution.

  • i2h_dilate (int or tuple of int, default (1,)) – Input convolution dilate.

  • h2h_dilate (int or tuple of int, default (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 'NCW') – Layout for all convolution inputs, outputs and weights. Options are ‘NCW’ and ‘NWC’.

  • activation (str or gluon.Block, default 'tanh') – Type of activation function used in n_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.

class mxnet.gluon.rnn.conv_rnn_cell.Conv1DLSTMCell(input_shape, hidden_channels, i2h_kernel, h2h_kernel, i2h_pad=(0,), i2h_dilate=(1,), h2h_dilate=(1,), i2h_weight_initializer=None, h2h_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', conv_layout='NCW', activation='tanh')[source]

Bases: _ConvLSTMCell

1D Convolutional LSTM network cell.

“Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting” paper. Xingjian et al. NIPS2015

\[\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 ‘NCW’ the shape should be (C, 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,)) – Pad for input convolution.

  • i2h_dilate (int or tuple of int, default (1,)) – Input convolution dilate.

  • h2h_dilate (int or tuple of int, default (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 'NCW') – Layout for all convolution inputs, outputs and weights. Options are ‘NCW’ and ‘NWC’.

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

class mxnet.gluon.rnn.conv_rnn_cell.Conv1DRNNCell(input_shape, hidden_channels, i2h_kernel, h2h_kernel, i2h_pad=(0,), i2h_dilate=(1,), h2h_dilate=(1,), i2h_weight_initializer=None, h2h_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', conv_layout='NCW', activation='tanh')[source]

Bases: _ConvRNNCell

1D Convolutional RNN cell.

\[h_t = tanh(W_i \ast x_t + R_i \ast h_{t-1} + b_i)\]
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 ‘NCW’ the shape should be (C, 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,)) – Pad for input convolution.

  • i2h_dilate (int or tuple of int, default (1,)) – Input convolution dilate.

  • h2h_dilate (int or tuple of int, default (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 'NCW') – Layout for all convolution inputs, outputs and weights. Options are ‘NCW’ and ‘NWC’.

  • activation (str or gluon.Block, default 'tanh') – Type of activation function. 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.

class mxnet.gluon.rnn.conv_rnn_cell.Conv2DGRUCell(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')[source]

Bases: _ConvGRUCell

2D Convolutional Gated Rectified Unit (GRU) network cell.

\[\begin{split}\begin{array}{ll} r_t = \sigma(W_r \ast x_t + R_r \ast h_{t-1} + b_r) \\ z_t = \sigma(W_z \ast x_t + R_z \ast h_{t-1} + b_z) \\ n_t = tanh(W_i \ast x_t + b_i + r_t \circ (R_n \ast h_{t-1} + b_n)) \\ h^\prime_t = (1 - z_t) \circ n_t + z_t \circ h \\ \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 n_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.

class mxnet.gluon.rnn.conv_rnn_cell.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')[source]

Bases: _ConvLSTMCell

2D Convolutional LSTM network cell.

“Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting” paper. Xingjian et al. NIPS2015

\[\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.

class mxnet.gluon.rnn.conv_rnn_cell.Conv2DRNNCell(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')[source]

Bases: _ConvRNNCell

2D Convolutional RNN cell.

\[h_t = tanh(W_i \ast x_t + R_i \ast h_{t-1} + b_i)\]
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. 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.

class mxnet.gluon.rnn.conv_rnn_cell.Conv3DGRUCell(input_shape, hidden_channels, i2h_kernel, h2h_kernel, i2h_pad=(0, 0, 0), i2h_dilate=(1, 1, 1), h2h_dilate=(1, 1, 1), i2h_weight_initializer=None, h2h_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', conv_layout='NCDHW', activation='tanh')[source]

Bases: _ConvGRUCell

3D Convolutional Gated Rectified Unit (GRU) network cell.

\[\begin{split}\begin{array}{ll} r_t = \sigma(W_r \ast x_t + R_r \ast h_{t-1} + b_r) \\ z_t = \sigma(W_z \ast x_t + R_z \ast h_{t-1} + b_z) \\ n_t = tanh(W_i \ast x_t + b_i + r_t \circ (R_n \ast h_{t-1} + b_n)) \\ h^\prime_t = (1 - z_t) \circ n_t + z_t \circ h \\ \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 ‘NCDHW’ the shape should be (C, D, 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, 0)) – Pad for input convolution.

  • i2h_dilate (int or tuple of int, default (1, 1, 1)) – Input convolution dilate.

  • h2h_dilate (int or tuple of int, default (1, 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 'NCDHW') – Layout for all convolution inputs, outputs and weights. Options are ‘NCDHW’ and ‘NDHWC’.

  • activation (str or gluon.Block, default 'tanh') – Type of activation function used in n_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.

class mxnet.gluon.rnn.conv_rnn_cell.Conv3DLSTMCell(input_shape, hidden_channels, i2h_kernel, h2h_kernel, i2h_pad=(0, 0, 0), i2h_dilate=(1, 1, 1), h2h_dilate=(1, 1, 1), i2h_weight_initializer=None, h2h_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', conv_layout='NCDHW', activation='tanh')[source]

Bases: _ConvLSTMCell

3D Convolutional LSTM network cell.

“Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting” paper. Xingjian et al. NIPS2015

\[\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 ‘NCDHW’ the shape should be (C, D, 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, 0)) – Pad for input convolution.

  • i2h_dilate (int or tuple of int, default (1, 1, 1)) – Input convolution dilate.

  • h2h_dilate (int or tuple of int, default (1, 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 'NCDHW') – Layout for all convolution inputs, outputs and weights. Options are ‘NCDHW’ and ‘NDHWC’.

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

class mxnet.gluon.rnn.conv_rnn_cell.Conv3DRNNCell(input_shape, hidden_channels, i2h_kernel, h2h_kernel, i2h_pad=(0, 0, 0), i2h_dilate=(1, 1, 1), h2h_dilate=(1, 1, 1), i2h_weight_initializer=None, h2h_weight_initializer=None, i2h_bias_initializer='zeros', h2h_bias_initializer='zeros', conv_layout='NCDHW', activation='tanh')[source]

Bases: _ConvRNNCell

3D Convolutional RNN cells

\[h_t = tanh(W_i \ast x_t + R_i \ast h_{t-1} + b_i)\]
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 ‘NCDHW’ the shape should be (C, D, 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, 0)) – Pad for input convolution.

  • i2h_dilate (int or tuple of int, default (1, 1, 1)) – Input convolution dilate.

  • h2h_dilate (int or tuple of int, default (1, 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 'NCDHW') – Layout for all convolution inputs, outputs and weights. Options are ‘NCDHW’ and ‘NDHWC’.

  • activation (str or gluon.Block, default 'tanh') – Type of activation function. 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.