View source on GitHub |
Applies Dropout to the input.
tf.compat.v1.layers.dropout(
inputs, rate=0.5, noise_shape=None, seed=None, training=False, name=None
)
Migrate to TF2
This API is a legacy api that is only compatible with eager execution and
tf.function
if you combine it with
tf.compat.v1.keras.utils.track_tf1_style_variables
Please refer to tf.layers model mapping section of the migration guide to learn how to use your TensorFlow v1 model in TF2 with Keras.
The corresponding TensorFlow v2 layer is tf.keras.layers.Dropout
.
Structural Mapping to Native TF2
None of the supported arguments have changed name.
Before:
y = tf.compat.v1.layers.dropout(x)
After:
To migrate code using TF1 functional layers use the Keras Functional API:
x = tf.keras.Input((28, 28, 1))
y = tf.keras.layers.Dropout()(x)
model = tf.keras.Model(x, y)
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.
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] .
|
seed
|
A Python integer. Used to create random seeds. See
tf.compat.v1.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. |