tf.nn.dropout  |  TensorFlow v2.0.0 (original) (raw)

Computes dropout.

tf.nn.dropout(
    x, rate, noise_shape=None, seed=None, name=None
)

With probability rate, drops elements of x. Input that are kept are scaled up by 1 / (1 - rate), otherwise outputs 0. The scaling is so that the expected sum is unchanged.

By default, each element is kept or dropped independently. If noise_shapeis specified, it must bebroadcastableto the shape of x, and only dimensions with noise_shape[i] == shape(x)[i]will make independent decisions. For example, if shape(x) = [k, l, m, n]and noise_shape = [k, 1, 1, n], each batch and channel component will be kept independently and each row and column will be kept or not kept together.

Args
x A floating point tensor.
rate A scalar Tensor with the same type as x. The probability that each element is dropped. For example, setting rate=0.1 would drop 10% of input elements.
noise_shape A 1-D Tensor of type int32, representing the shape for randomly generated keep/drop flags.
seed A Python integer. Used to create random seeds. Seetf.compat.v1.set_random_seed for behavior.
name A name for this operation (optional).
Returns
A Tensor of the same shape of x.
Raises
ValueError If rate is not in (0, 1] or if x is not a floating point tensor.