class_docstr: Dropout Polyencoder Agent.
  
  Overrides score_candidates to, sometimes, score candidates in the bi-encoder method.
code: def add_cmdline_args(
      cls, parser: ParlaiParser, partial_opt: Optional[Opt] = None
  ) -> ParlaiParser:
      super().add_cmdline_args(parser, partial_opt=partial_opt)
      agent = parser.add_argument_group("Dropout Polyencoder Arguments")
      agent.add_argument(
          "--poly-dropout-prob",
          type=float,
          default=0.5,
          help="How often to switch to a bi-encoder setup during training",
      )
      agent.add_argument(
          "--poly-dropout-reduction-type",
          type=str,
          choices=["first", "max", "mean"],
          default="first",
          help="how to reduce output when ignoring poly-codes during training",
      )
      agent.add_argument(
          "--poly-dropout-use-codes",
          type="bool",
          default=True,
          help="Whether to attend over codes prior to dropout method.",
      )
  
      return parser
  
file_path: ParlAI/parlai/agents/transformer/dropout_poly.py
imports: from parlai.core.params import ParlaiParser
  from parlai.agents.transformer.polyencoder import PolyencoderAgent
  from parlai.core.opt import Opt
  from parlai.core.torch_agent import Batch
  import random
  import torch
  from typing import Optional, Tuple
label_desc: Use image node_id 1 for calling the DropoutPolyAgent obj's underlying member method code with example usage: obj.add_cmdline_args(cls, parser, partial_opt) and returns: parser