tf.layers.dropout

tf.layers.dropout(
    inputs,
    rate=0.5,
    noise_shape=None,
    seed=None,
    training=False,
    name=None
)

Defined in tensorflow/python/layers/core.py.

See the guide: Reading data > Multiple input pipelines

Applies Dropout to the input.

Dropout consists in randomly setting a fraction rate of input units to 0 at each update during training time, which helps prevent overfitting. The units that are kept are scaled by 1 / (1 - rate), so that their sum is unchanged at training time and inference time.

Arguments:

  • inputs: Tensor input.
  • rate: The dropout rate, between 0 and 1. E.g. "rate=0.1" would drop out 10% of input units.
  • noise_shape: 1D tensor of type int32 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=[batch_size, 1, features].
  • seed: A Python integer. Used to create random seeds. See tf.set_random_seed for behavior.
  • training: Either a Python boolean, or a TensorFlow boolean scalar tensor (e.g. a placeholder). Whether to return the output in training mode (apply dropout) or in inference mode (return the input untouched).
  • name: The name of the layer (string).

Returns:

Output tensor.

Raises:

  • ValueError: if eager execution is enabled.