tf.keras.layers.ConvLSTM2D

2D Convolutional LSTM.

Inherits From: RNN, Layer, Operation

Similar to an LSTM layer, but the input transformations and recurrent transformations are both convolutional.

filters int, the dimension of the output space (the number of filters in the convolution).
kernel_size int or tuple/list of 2 integers, specifying the size of the convolution window.
strides int or tuple/list of 2 integers, specifying the stride length of the convolution. strides > 1 is incompatible with dilation_rate > 1.
padding string, "valid" or "same" (case-insensitive). "valid" means no padding. "same" results in padding evenly to the left/right or up/down of the input such that output has the same height/width dimension as the input.
data_format string, either "channels_last" or "channels_first". The ordering of the dimensions in the inputs. "channels_last" corresponds to inputs with shape (batch, steps, features) while "channels_first" corresponds to inputs with shape (batch, features, steps). It defaults to the image_data_format value found in your Keras config file at ~/.keras/keras.json. If you never set it, then it will be "channels_last".
dilation_rate int or tuple/list of 2 integers, specifying the dilation rate to use for dilated convolution.
activation Activation function to use. By default hyperbolic tangent activation function is applied (tanh(x)).
recurrent_activation Activation function to use for the recurrent step.
use_bias Boolean, whether the layer uses a bias vector.
kernel_initializer Initializer for the kernel weights matrix, used for the linear transformation of the inputs.
recurrent_initializer Initializer for the recurrent_kernel weights matrix, used for the linear transformation of the recurrent state.
bias_initializer Initializer for the bias vector.
unit_forget_bias Boolean. If True, add 1 to the bias of the forget gate at initialization. Use in combination with bias_initializer="zeros". This is recommended in Jozefowicz et al., 2015
kernel_regularizer Regularizer function applied to the kernel weights matrix.
recurrent_regularizer Regularizer function applied to the recurrent_kernel weights matrix.
bias_regularizer Regularizer function applied to the bias vector.
activity_regularizer Regularizer function applied to.
kernel_constraint Constraint function applied to the kernel weights matrix.
recurrent_constraint Constraint function applied to the recurrent_kernel weights matrix.
bias_constraint Constraint function applied to the bias vector.
dropout Float between 0 and 1. Fraction of the units to drop for the linear transformation of the inputs.
recurrent_dropout Float between 0 and 1. Fraction of the units to drop for the linear transformation of the recurrent state.
seed Random seed for dropout.
return_sequences Boolean. Whether to return the last output in the output sequence, or the full sequence. Default: False.
return_state Boolean. Whether to return the last state in addition to the output. Default: False.
go_backwards Boolean (default: False). If True, process the input sequence backwards and return the reversed sequence.
stateful Boolean (default False). 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.
unroll Boolean (default: False). If True, the network will be unrolled, else a symbolic loop will be used. Unrolling can speed-up a RNN, although it tends to be more memory-intensive. Unrolling is only suitable for short sequences.

inputs A 5D tensor.
mask Binary tensor of shape (samples, timesteps) indicating whether a given timestep should be masked.
training Python boolean indicating whether the layer should behave in training mode or in inference mode. This is only relevant if dropout or recurrent_dropout are set.
initial_state List of initial state tensors to be passed to the first call of the cell.

Input shape:

  • If data_format='channels_first': 5D tensor with shape: (samples, time, channels, rows, cols)
  • If data_format='channels_last': 5D tensor with shape: (samples, time, rows, cols, channels)

Output shape:

  • If return_state: a list of tensors. The first tensor is the output. The remaining tensors are the last states, each 4D tensor with shape: (samples, filters, new_rows, new_cols) if data_format='channels_first' or shape: (samples, new_rows, new_cols, filters) if data_format='channels_last'. rows and cols values might have changed due to padding.
  • If return_sequences: 5D tensor with shape: (samples, timesteps, filters, new_rows, new_cols) if data_format='channels_first' or shape: (samples, timesteps, new_rows, new_cols, filters) if data_format='channels_last'.
  • Else, 4D tensor with shape: (samples, filters, new_rows, new_cols) if data_format='channels_first' or shape: (samples, new_rows, new_cols, filters) if data_format='channels_last'.

References:

  • Shi et al., 2015 (the current implementation does not include the feedback loop on the cells output).

activation

bias_constraint

bias_initializer

bias_regularizer

data_format

dilation_rate

dropout

filters

input Retrieves the input tensor(s) of a symbolic operation.

Only returns the tensor(s) corresponding to the first time the operation was called.

kernel_constraint

kernel_initializer

kernel_regularizer

kernel_size

output Retrieves the output tensor(s) of a layer.

Only returns the tensor(s) corresponding to the first time the operation was called.

padding

recurrent_activation

recurrent_constraint

recurrent_dropout

recurrent_initializer

recurrent_regularizer

strides

unit_forget_bias

use_bias

Methods

from_config

View source

Creates a layer from its config.

This method is the reverse of get_config, capable of instantiating the same layer from the config dictionary. It does not handle layer connectivity (handled by Network), nor weights (handled by set_weights).

Args
config A Python dictionary, typically the output of get_config.

Returns
A layer instance.

get_initial_state

View source

inner_loop

View source

reset_state

View source

reset_states

View source

symbolic_call

View source