Apply a layer to every temporal slice of an input.
The input should be at least 3D, and the dimension of index one will be considered to be the temporal dimension.
time_distributed( object, layer, input_shape = NULL, batch_input_shape = NULL, batch_size = NULL, dtype = NULL, name = NULL, trainable = NULL, weights = NULL )
object |
Model or layer object |
layer |
A layer instance. |
input_shape |
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. |
batch_input_shape |
Shapes, including the batch size. For instance,
|
batch_size |
Fixed batch size for layer |
dtype |
The data type expected by the input, as a string ( |
name |
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. |
trainable |
Whether the layer weights will be updated during training. |
weights |
Initial weights for layer. |
Consider a batch of 32 samples, where each sample is a sequence of 10 vectors of 16 dimensions. The batch
input shape of the layer is then (32, 10, 16)
, and the input_shape
, not
including the samples dimension, is (10, 16)
. You can then use
time_distributed
to apply a layer_dense
to each of the 10 timesteps,
independently.
Other layer wrappers:
bidirectional()
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.