Dropout consists in randomly setting a fraction rate of input units to 0 at each update during training time, which helps prevent overfitting.

layer_dropout(object, rate, noise_shape = NULL, seed = NULL,
  batch_size = NULL, name = NULL, trainable = NULL, weights = NULL)



Model or layer object


float between 0 and 1. Fraction of the input units to drop.


1D integer tensor representing the shape of the binary dropout mask that will be multiplied with the input. For instance, if your inputs have shape (batch_size, timesteps, features) and you want the dropout mask to be the same for all timesteps, you can use noise_shape=c(batch_size, 1, features).


integer to use as random seed.


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.

See also

Other core layers: layer_activation, layer_activity_regularization, layer_dense, layer_flatten, layer_input, layer_lambda, layer_masking, layer_permute, layer_repeat_vector, layer_reshape

Other dropout layers: layer_spatial_dropout_1d, layer_spatial_dropout_2d, layer_spatial_dropout_3d