class_docstr: During training, randomly zeroes some of the elements of the input tensor with probability :attr:`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 :math:`\frac{1}{1-p}` during
  training. This means that during evaluation the module simply computes an
  identity function.
  
  Args:
      p: probability of an element to be zeroed. Default: 0.5
      inplace: If set to ``True``, will do this operation in-place. Default: ``False``
  
  Shape:
      - Input: :math:`(*)`. Input can be of any shape
      - Output: :math:`(*)`. Output is of the same shape as input
  
  Examples::
  
      >>> m = nn.Dropout(p=0.2)
      >>> input = torch.randn(20, 16)
      >>> output = m(input)
  
  .. _Improving neural networks by preventing co-adaptation of feature
      detectors: https://arxiv.org/abs/1207.0580
code: def forward(self, input: Tensor) -> Tensor:
      return F.dropout(input, self.p, self.training, self.inplace)
  
imports: from .module import Module
  from ..None import functional
  from torch import Tensor
label_desc: Use image node_id 1 for calling the Dropout obj's underlying member method code with example usage: obj.forward(input) and returns: F