# tf.keras.layers.AlphaDropout

<br />

|---|---|
| [![](https://www.tensorflow.org/images/tf_logo_32px.png) TensorFlow 1 version](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/layers/AlphaDropout) | [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.4.0/tensorflow/python/keras/layers/noise.py#L140-L212) |

Applies Alpha Dropout to the input.

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

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.keras.layers.AlphaDropout`](https://www.tensorflow.org/api_docs/python/tf/keras/layers/AlphaDropout)

<br />

    tf.keras.layers.AlphaDropout(
        rate, noise_shape=None, seed=None, **kwargs
    )

Alpha Dropout is a `Dropout` that keeps mean and variance of inputs
to their original values, in order to ensure the self-normalizing property
even after this dropout.
Alpha Dropout fits well to Scaled Exponential Linear Units
by randomly setting activations to the negative saturation value.

<br />

<br />

<br />

| ## Arguments ||
|---|---|
| `rate` | float, drop probability (as with `Dropout`). The multiplicative noise will have standard deviation `sqrt(rate / (1 - rate))`. |
| `seed` | A Python integer to use as random seed. |

<br />

#### Call arguments:

- **`inputs`**: Input tensor (of any rank).
- **`training`**: Python boolean indicating whether the layer should behave in training mode (adding dropout) or in inference mode (doing nothing).

#### Input shape:

Arbitrary. Use the keyword argument `input_shape`
(tuple of integers, does not include the samples axis)
when using this layer as the first layer in a model.

#### Output shape:

Same shape as input.