class_docstr: Randomly masks out entire channels.
  
  A channel is a feature map,
  e.g. the :math:`j`-th channel of the :math:`i`-th sample in the batch input
  is a tensor :math:`\text{input}[i, j]` of the input tensor). Instead of
  setting activations to zero, as in regular Dropout, the activations are set
  to the negative saturation value of the SELU activation function. More details
  can be found in the paper `Self-Normalizing Neural Networks`_ .
  
  Each element will be masked independently for each sample on every forward
  call with probability :attr:`p` using samples from a Bernoulli distribution.
  The elements to be masked are randomized on every forward call, and scaled
  and shifted to maintain zero mean and unit variance.
  
  Usually the input comes from :class:`nn.AlphaDropout` 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.AlphaDropout` will help promote independence between
  feature maps and should be used instead.
  
  Args:
      p (float, optional): probability of an element to be zeroed. Default: 0.5
      inplace (bool, optional): If set to ``True``, will do this operation
          in-place
  
  Shape:
      - Input: :math:`(N, C, D, H, W)` or :math:`(C, D, H, W)`.
      - Output: :math:`(N, C, D, H, W)` or :math:`(C, D, H, W)` (same shape as input).
  
  Examples::
  
      >>> m = nn.FeatureAlphaDropout(p=0.2)
      >>> input = torch.randn(20, 16, 4, 32, 32)
      >>> output = m(input)
  
  .. _Self-Normalizing Neural Networks: https://arxiv.org/abs/1706.02515
  .. _Efficient Object Localization Using Convolutional Networks:
     https://arxiv.org/abs/1411.4280
code: def forward(self, input: Tensor) -> Tensor:
      return F.feature_alpha_dropout(input, self.p, self.training)
  
imports: from .module import Module
  from ..None import functional
  from torch import Tensor
label_desc: Use image node_id 1 for calling the FeatureAlphaDropout obj's underlying member method code with example usage: obj.forward(input) and returns: F