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.
Args
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].
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).
[null,null,["Last updated 2023-10-06 UTC."],[],[],null,["# tf.compat.v1.layers.dropout\n\n\u003cbr /\u003e\n\n|--------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/keras-team/keras/tree/v2.13.1/keras/legacy_tf_layers/core.py#L346-L422) |\n\nApplies Dropout to the input. \n\n tf.compat.v1.layers.dropout(\n inputs, rate=0.5, noise_shape=None, seed=None, training=False, name=None\n )\n\n\u003cbr /\u003e\n\nMigrate to TF2\n--------------\n\n\u003cbr /\u003e\n\n| **Caution:** This API was designed for TensorFlow v1. Continue reading for details on how to migrate from this API to a native TensorFlow v2 equivalent. See the [TensorFlow v1 to TensorFlow v2 migration guide](https://www.tensorflow.org/guide/migrate) for instructions on how to migrate the rest of your code.\n\nThis API is a legacy api that is only compatible with eager execution and\n[`tf.function`](../../../../tf/function) if you combine it with\n[`tf.compat.v1.keras.utils.track_tf1_style_variables`](../../../../tf/compat/v1/keras/utils/track_tf1_style_variables)\n\nPlease refer to [tf.layers model mapping section of the migration guide](https://www.tensorflow.org/guide/migrate/model_mapping)\nto learn how to use your TensorFlow v1 model in TF2 with Keras.\n\nThe corresponding TensorFlow v2 layer is [`tf.keras.layers.Dropout`](../../../../tf/keras/layers/Dropout).\n\n#### Structural Mapping to Native TF2\n\nNone of the supported arguments have changed name.\n\nBefore: \n\n y = tf.compat.v1.layers.dropout(x)\n\nAfter:\n\nTo migrate code using TF1 functional layers use the [Keras Functional API](https://www.tensorflow.org/guide/keras/functional): \n\n x = tf.keras.Input((28, 28, 1))\n y = tf.keras.layers.Dropout()(x)\n model = tf.keras.Model(x, y)\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nDescription\n-----------\n\nDropout consists in randomly setting a fraction `rate` of input units to 0\nat each update during training time, which helps prevent overfitting.\nThe units that are kept are scaled by `1 / (1 - rate)`, so that their\nsum is unchanged at training time and inference time.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `inputs` | Tensor input. |\n| `rate` | The dropout rate, between 0 and 1. E.g. \"rate=0.1\" would drop out 10% of input units. |\n| `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]`. |\n| `seed` | A Python integer. Used to create random seeds. See [`tf.compat.v1.set_random_seed`](../../../../tf/compat/v1/set_random_seed) for behavior. |\n| `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). |\n| `name` | The name of the layer (string). |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| Output tensor. ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|--------------------------------|\n| `ValueError` | if eager execution is enabled. |\n\n\u003cbr /\u003e"]]