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
)What to call the new Layer instance with. Typically a keras
Model, another Layer, or a tf.Tensor/KerasTensor. If object is
missing, the Layer instance is returned, otherwise, layer(object) is
returned.
A layer instance.
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.
Shapes, including the batch size. For instance,
batch_input_shape=c(10, 32) indicates that the expected input will be
batches of 10 32-dimensional vectors. batch_input_shape=list(NULL, 32)
indicates batches of an arbitrary number of 32-dimensional vectors.
Fixed batch size for layer
The data type expected by the input, as a string (float32,
float64, int32...)
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.
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()