class_docstr: Randomly zero out entire channels.
  
  A channel is a 2D feature map,
  e.g., the :math:`j`-th channel of the :math:`i`-th sample in the
  batched input is a 2D tensor :math:`\text{input}[i, j]`.
  
  Each channel will be zeroed out independently on every forward call with
  probability :attr:`p` using samples from a Bernoulli distribution.
  
  Usually the input comes from :class:`nn.Conv2d` modules.
  
  As described in the paper
  `Efficient Object Localization Using Convolutional Networks`_ ,
  if adjacent pixels within feature maps are strongly correlated
  (as is normally the case in early convolution layers) then i.i.d. dropout
  will not regularize the activations and will otherwise just result
  in an effective learning rate decrease.
  
  In this case, :func:`nn.Dropout2d` will help promote independence between
  feature maps and should be used instead.
  
  Args:
      p (float, optional): probability of an element to be zero-ed.
      inplace (bool, optional): If set to ``True``, will do this operation
          in-place
  
  .. warning ::
      Due to historical reasons, this class will perform 1D channel-wise dropout
      for 3D inputs (as done by :class:`nn.Dropout1d`). Thus, it currently does NOT
      support inputs without a batch dimension of shape :math:`(C, H, W)`. This
      behavior will change in a future release to interpret 3D inputs as no-batch-dim
      inputs. To maintain the old behavior, switch to :class:`nn.Dropout1d`.
  
  Shape:
      - Input: :math:`(N, C, H, W)` or :math:`(N, C, L)`.
      - Output: :math:`(N, C, H, W)` or :math:`(N, C, L)` (same shape as input).
  
  Examples::
  
      >>> m = nn.Dropout2d(p=0.2)
      >>> input = torch.randn(20, 16, 32, 32)
      >>> output = m(input)
  
  .. _Efficient Object Localization Using Convolutional Networks:
     https://arxiv.org/abs/1411.4280
code: def forward(self, input: Tensor) -> Tensor:
      return F.dropout2d(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 Dropout2d obj's underlying member method code with example usage: obj.forward(input) and returns: F