class_docstr: Yelp MD Gender Teacher.
code: def __init__(self, opt, shared=None):
      self.opt = opt
      self.is_train = (
          "train" in opt["datatype"]
          and "evalmode" not in opt["datatype"]
      )
      self.add_unknown_classes = (
          opt["add_unknown_classes"] and self.is_train
      )
      self.label_candidates = gend_utils.ALL_CANDS
  
      if shared is None:
          # set map
          self.data = self._setup_data(opt)
      else:
          self.data = shared["data"]
      super().__init__(opt, shared)
      self.reset()
  
imports: from typing import Optional
  from parlai.core.params import ParlaiParser
  from parlai.core.opt import Opt
  from parlai.core.message import Message
  from parlai.core.teachers import FixedDialogTeacher
  from parlai.utils.io import PathManager
  import parlai.tasks.md_gender.utils
  import parlai.utils.logging
  from copy import deepcopy
  import os
  import random
  import sys
label_desc: Use image node_id 2 to create a new YelpTeacher object from inherited base classes: FixedDialogTeacher with example: obj = YelpTeacher(opt, shared)