It is similar to an LSTM layer, but the input transformations and recurrent transformations are both convolutional.
layer_conv_lstm_2d(
object,
filters,
kernel_size,
strides = c(1L, 1L),
padding = "valid",
data_format = NULL,
dilation_rate = c(1L, 1L),
activation = "tanh",
recurrent_activation = "hard_sigmoid",
use_bias = TRUE,
kernel_initializer = "glorot_uniform",
recurrent_initializer = "orthogonal",
bias_initializer = "zeros",
unit_forget_bias = TRUE,
kernel_regularizer = NULL,
recurrent_regularizer = NULL,
bias_regularizer = NULL,
activity_regularizer = NULL,
kernel_constraint = NULL,
recurrent_constraint = NULL,
bias_constraint = NULL,
return_sequences = FALSE,
return_state = FALSE,
go_backwards = FALSE,
stateful = FALSE,
dropout = 0,
recurrent_dropout = 0,
batch_size = NULL,
name = NULL,
trainable = NULL,
weights = NULL,
input_shape = NULL
)
What to compose the new Layer
instance with. Typically a
Sequential model or a Tensor (e.g., as returned by layer_input()
).
The return value depends on object
. If object
is:
missing or NULL
, the Layer
instance is returned.
a Sequential
model, the model with an additional layer is returned.
a Tensor, the output tensor from layer_instance(object)
is returned.
Integer, the dimensionality of the output space (i.e. the number of output filters in the convolution).
An integer or list of n integers, specifying the dimensions of the convolution window.
An integer or list of n integers, specifying the strides of
the convolution. Specifying any stride value != 1 is incompatible with
specifying any dilation_rate
value != 1.
One of "valid"
or "same"
(case-insensitive).
A string, one of channels_last
(default) or
channels_first
. The ordering of the dimensions in the inputs.
channels_last
corresponds to inputs with shape (batch, time, ..., channels)
while channels_first
corresponds to inputs with shape (batch, time, channels, ...)
. 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".
An integer or list of n integers, specifying the
dilation rate to use for dilated convolution. Currently, specifying any
dilation_rate
value != 1 is incompatible with specifying any strides
value != 1.
Activation function to use. If you don't specify anything,
no activation is applied (ie. "linear" activation: a(x) = x
).
Activation function to use for the recurrent step.
Boolean, whether the layer uses a bias vector.
Initializer for the kernel
weights matrix, used
for the linear transformation of the inputs..
Initializer for the recurrent_kernel
weights
matrix, used for the linear transformation of the recurrent state..
Initializer for the bias vector.
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.
Regularizer function applied to the kernel
weights matrix.
Regularizer function applied to the
recurrent_kernel
weights matrix.
Regularizer function applied to the bias vector.
Regularizer function applied to the output of the layer (its "activation")..
Constraint function applied to the kernel
weights
matrix.
Constraint function applied to the
recurrent_kernel
weights matrix.
Constraint function applied to the bias vector.
Boolean. Whether to return the last output in the output sequence, or the full sequence.
Boolean. Whether to return the last state in addition to the output.
Boolean (default FALSE). If TRUE, rocess the input sequence backwards.
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.
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the inputs.
Float between 0 and 1. Fraction of the units to drop for the linear transformation of the recurrent state.
Fixed batch size for layer
An optional name string for the layer. Should be unique in a model (do not reuse the same name twice). It will be autogenerated if it isn't provided.
Whether the layer weights will be updated during training.
Initial weights for layer.
Dimensionality of the input (integer) not including the samples axis. This argument is required when using this layer as the first layer in a model.
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)
Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting The current implementation does not include the feedback loop on the cells output
Other convolutional layers:
layer_conv_1d_transpose()
,
layer_conv_1d()
,
layer_conv_2d_transpose()
,
layer_conv_2d()
,
layer_conv_3d_transpose()
,
layer_conv_3d()
,
layer_cropping_1d()
,
layer_cropping_2d()
,
layer_cropping_3d()
,
layer_depthwise_conv_1d()
,
layer_depthwise_conv_2d()
,
layer_separable_conv_1d()
,
layer_separable_conv_2d()
,
layer_upsampling_1d()
,
layer_upsampling_2d()
,
layer_upsampling_3d()
,
layer_zero_padding_1d()
,
layer_zero_padding_2d()
,
layer_zero_padding_3d()