# tf.compat.v1.layers.Dropout

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/keras-team/keras/tree/v2.13.1/keras/legacy_tf_layers/core.py#L274-L343) |

Applies Dropout to the input.

Inherits From: [`Dropout`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/keras/layers/Dropout), [`Layer`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/compat/v1/layers/Layer), [`Layer`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/keras/layers/Layer), [`Module`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/Module)

    tf.compat.v1.layers.Dropout(
        rate=0.5, noise_shape=None, seed=None, name=None, **kwargs
    )

<br />

## Migrate to TF2

<br />

> [!CAUTION]
> **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.

This API is a legacy api that is only compatible with eager execution and
[`tf.function`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/function) if you combine it with
[`tf.compat.v1.keras.utils.track_tf1_style_variables`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/compat/v1/keras/utils/track_tf1_style_variables)

Please refer to [tf.layers model mapping section of the migration guide](https://www.tensorflow.org/guide/migrate/model_mapping)
to learn how to use your TensorFlow v1 model in TF2 with Keras.

The corresponding TensorFlow v2 layer is [`tf.keras.layers.Dropout`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/keras/layers/Dropout).

#### Structural Mapping to Native TF2

None of the supported arguments have changed name.

Before:

     dropout = tf.compat.v1.layers.Dropout()

After:

     dropout = tf.keras.layers.Dropout()

<br />

<br />

## Description

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.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `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.compat.v1.set_random_seed`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/compat/v1/set_random_seed). for behavior. |
| `name` | The name of the layer (string). |

<br />

<br />

<br />

<br />

| ## Attributes ||
|---|---|
| `graph` | <br /> <br /> |
| `scope_name` | <br /> <br /> |

<br />

## Methods

### `apply`

[View source](https://github.com/keras-team/keras/tree/v2.13.1/keras/legacy_tf_layers/base.py#L239-L240)

    apply(
        *args, **kwargs
    )

### `get_losses_for`

[View source](https://github.com/keras-team/keras/tree/v2.13.1/keras/engine/base_layer_v1.py#L1467-L1484)

    get_losses_for(
        inputs
    )

Retrieves losses relevant to a specific set of inputs.

<br />

<br />

<br />

| Args ||
|---|---|
| `inputs` | Input tensor or list/tuple of input tensors. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| List of loss tensors of the layer that depend on `inputs`. ||

<br />

### `get_updates_for`

[View source](https://github.com/keras-team/keras/tree/v2.13.1/keras/engine/base_layer_v1.py#L1448-L1465)

    get_updates_for(
        inputs
    )

Retrieves updates relevant to a specific set of inputs.

<br />

<br />

<br />

| Args ||
|---|---|
| `inputs` | Input tensor or list/tuple of input tensors. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| List of update ops of the layer that depend on `inputs`. ||

<br />