class_docstr: This version of VisDial inherits from the core Dialog Teacher, which just requires
  it to define an iterator over its data `setup_data` in order to inherit basic
  metrics, a `act` function, and enables Hogwild training with shared memory with no
  extra work.
class_docstr_tok: ["This","version","of","VisDial","inherits","from","the","core","Dialog","Teacher",",","which","just","requires","it","to","define","an","iterator","over","its","data","`","setup_data","`","in","order","to","inherit","basic","metrics",",","a","`","act","`","function",",","and","enables","Hogwild","training","with","shared","memory","with","no","extra","work","."]
code: def __init__(self, opt, shared=None):
      self.datatype = opt["datatype"]
      data_path, self.image_path = _path(opt)
      opt["datafile"] = data_path
      self.id = "visdial"
  
      super().__init__(opt, shared)
  
file_path: ParlAI/parlai/tasks/visdial/agents.py
imports: from parlai.core.teachers import DialogTeacher
  from .build import build
  from parlai.utils.io import PathManager
  from parlai.tasks.coco_caption.build_2014 import buildImage
  from PIL import Image
  import json
  import os
label_desc: Use image node_id 1 to create a new DefaultTeacher object from inherited base classes: DialogTeacher with example: obj = DefaultTeacher(opt, shared)