class_docstr: Dropout Polyencoder Agent.
  
  Overrides score_candidates to, sometimes, score candidates in the bi-encoder method.
code: def __init__(self, opt: Opt, shared=None):
      super().__init__(opt, shared)
      self.poly_dropout_reduction_type = opt[
          "poly_dropout_reduction_type"
      ]
      self.poly_dropout_prob = opt["poly_dropout_prob"]
      self.use_codes = opt.get("poly_dropout_use_codes", True)
      assert 0 <= self.poly_dropout_prob <= 1
  
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 2 to create a new DropoutPolyAgent object from inherited base classes: PolyencoderAgent with example: obj = DropoutPolyAgent(opt, shared)