class_docstr: Poly-encoder Agent.
  
  Equivalent of bert_ranker/polyencoder and biencoder_multiple_output but does not
  rely on an external library (hugging face).
class_docstr_tok: ["Poly-encoder","Agent",".","Equivalent","of","bert_ranker\/polyencoder","and","biencoder_multiple_output","but","does","not","rely","on","an","external","library","(","hugging","face",")","."]
docstr: Encode candidates.
  
  Called when encoding fixed candidates.
docstr_tok: ["Encode","candidates",".","Called","when","encoding","fixed","candidates","."]
code: def encode_candidates(self, padded_cands):
      """
      Encode candidates.
  
      Called when encoding fixed candidates.
      """
      padded_cands = padded_cands.unsqueeze(1)
      _, _, cand_rep = self.model(cand_tokens=padded_cands)
      return cand_rep
  
imports: from parlai.core.params import ParlaiParser
  from typing import Any, Dict, Optional, Tuple
  import torch
  from parlai.core.opt import Opt
  from parlai.core.torch_ranker_agent import TorchRankerAgent
  from parlai.core.torch_agent import Batch
  from parlai.utils.misc import recursive_getattr
  from parlai.utils.logging import logging
  from .biencoder import AddLabelFixedCandsTRA
  from .modules import BasicAttention, MultiHeadAttention, TransformerEncoder
  from .transformer import TransformerRankerAgent
label_desc: Use image node_id 9 for calling the PolyencoderAgent obj's underlying member method code with example usage: obj.encode_candidates(padded_cands) and returns: cand_rep