class_docstr: With set frequency, replaces tokens with unknown token.
  
  This layer can be used right before an embedding layer to make the model more robust
  to unknown words at test time.
docstr: If training and dropout rate > 0, masks input with unknown token.
docstr_tok: ["If","training","and","dropout","rate",">","0",",","masks","input","with","unknown","token","."]
code: def forward(self, input):
      """
      If training and dropout rate > 0, masks input with unknown token.
      """
      if self.training and self.prob > 0:
          mask = (
              input.new(input.size()).float().uniform_(0, 1) < self.prob
          )
          input.masked_fill_(mask, self.unknown_idx)
      return input
  
imports: import math
  import torch
  import torch.nn
  from torch.nn.parameter import Parameter
  from torch.nn.utils.rnn import pad_packed_sequence, pack_padded_sequence
  import torch.nn.functional
  from parlai.utils.torch import neginf
  from parlai.core.torch_generator_agent import TorchGeneratorModel
label_desc: Use image node_id 2 for calling the UnknownDropout obj's underlying member method code with example usage: obj.forward(input) and returns: input