View source on GitHub
  
 | 
2D Convolutional LSTM.
Inherits From: RNN, Layer, Operation
tf.keras.layers.ConvLSTM2D(
    filters,
    kernel_size,
    strides=1,
    padding='valid',
    data_format=None,
    dilation_rate=1,
    activation='tanh',
    recurrent_activation='sigmoid',
    use_bias=True,
    kernel_initializer='glorot_uniform',
    recurrent_initializer='orthogonal',
    bias_initializer='zeros',
    unit_forget_bias=True,
    kernel_regularizer=None,
    recurrent_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=None,
    kernel_constraint=None,
    recurrent_constraint=None,
    bias_constraint=None,
    dropout=0.0,
    recurrent_dropout=0.0,
    seed=None,
    return_sequences=False,
    return_state=False,
    go_backwards=False,
    stateful=False,
    **kwargs
)
Similar to an LSTM layer, but the input transformations and recurrent transformations are both convolutional.
Args | |
|---|---|
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.
 | 
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)ifdata_format='channels_first'or shape:(samples, new_rows, new_cols, filters)ifdata_format='channels_last'.rowsandcolsvalues 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)ifdata_format='channels_last'. - Else, 4D tensor with shape: 
(samples, filters, new_rows, new_cols)ifdata_format='channels_first'or shape:(samples, new_rows, new_cols, filters)ifdata_format='channels_last'. 
References:
- Shi et al., 2015 (the current implementation does not include the feedback loop on the cells output).
 
Methods
from_config
@classmethodfrom_config( config )
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
get_initial_state(
    batch_size
)
inner_loop
inner_loop(
    sequences, initial_state, mask, training=False
)
reset_state
reset_state()
reset_states
reset_states()
symbolic_call
symbolic_call(
    *args, **kwargs
)
    View source on GitHub