class_docstr: Re-ranker object which uses a predictor model to rerank candidates given.
  
  This AbstractReranker can be subclassed to use any classifier or ranking model as
  the predictor.
class_docstr_tok: ["Re-ranker","object","which","uses","a","predictor","model","to","rerank","candidates","given",".","This","AbstractReranker","can","be","subclassed","to","use","any","classifier","or","ranking","model","as","the","predictor","."]
docstr: Initializes Predictor Module.
docstr_tok: ["Initializes","Predictor","Module","."]
code: def init_predictor(self, opt: Opt, shared=None):
      """
      Initializes Predictor Module.
      """
      if not shared:
          if not opt.get("predictor_model_file"):
              logging.warn(
                  "Reranker MUST specify predictor_model_file unless subclass __init__() sets up the model in its own way (unusual). Skipping predictor setup!"
              )
          else:
              self.predictor = create_agent_from_model_file(
                  self.predictor_model_file
              )
      else:
          self.predictor = shared["predictor"]
  
imports: import logging
  import torch
  from abc import ABC, abstractmethod, abstractclassmethod
  from typing import List, Optional, Tuple
  from parlai.agents.transformer.transformer import TransformerGeneratorAgent
  from parlai.core.agents import create_agent_from_model_file, Agent
  from parlai.core.build_data import modelzoo_path
  from parlai.core.message import Message
  from parlai.core.opt import Opt
  from parlai.core.params import ParlaiParser
  from parlai.core.torch_agent import TorchAgent
  from parlai.utils.strings import normalize_reply
  from parlai.utils.torch import argsort
  from parlai.agents.hugging_face.gpt2 import Gpt2Agent
  from projects.msc.agents.long_tga import TransformerVariantAgent
label_desc: Use image node_id 3 for calling the AbstractReranker obj's underlying member method code with example usage: obj.init_predictor(opt, shared) without return types