W3cubDocs

/PyTorch 2.9

Dropout

class torch.nn.Dropout(p=0.5, inplace=False) [source]

During training, randomly zeroes some of the elements of the input tensor with probability p.

The zeroed elements are chosen independently for each forward call and are sampled from a Bernoulli distribution.

Each channel will be zeroed out independently on every forward call.

This has proven to be an effective technique for regularization and preventing the co-adaptation of neurons as described in the paper Improving neural networks by preventing co-adaptation of feature detectors .

Furthermore, the outputs are scaled by a factor of 11p\frac{1}{1-p} during training. This means that during evaluation the module simply computes an identity function.

Parameters
  • p (float) – probability of an element to be zeroed. Default: 0.5
  • inplace (bool) – If set to True, will do this operation in-place. Default: False
Shape:
  • Input: ()(*). Input can be of any shape
  • Output: ()(*). Output is of the same shape as input

Examples:

>>> m = nn.Dropout(p=0.2)
>>> input = torch.randn(20, 16)
>>> output = m(input)
forward(input) [source]

Runs the forward pass.

Return type

Tensor

© 2025, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.9/generated/torch.nn.Dropout.html