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)

## Arguments

object Model or layer object 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.

## Details

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