class_docstr: End-to-end negotiation teacher that loads the data from
  https://github.com/facebookresearch/end-to-end-negotiator.
class_docstr_tok: ["End-to-end","negotiation","teacher","that","loads","the","data","from","https",":","\/\/github.com\/facebookresearch\/end-to-end-negotiator","."]
code: def __init__(self, opt, shared=None):
      super().__init__(opt, shared)
      self.datatype = opt["datatype"].split(":")[0]
      self.datatype_ = opt["datatype"]
      self.random = self.datatype_ == "train"
      build(opt)
  
      filename = "val" if self.datatype == "valid" else self.datatype
      data_path = os.path.join(
          opt["datapath"],
          "negotiation",
          "end-to-end-negotiator-bbb93bbf00f69fced75d5c0d22e855bda07c9b78",
          "src",
          "data",
          "negotiate",
          filename + ".txt",
      )
  
      if shared and "data" in shared:
          self.episodes = shared["episodes"]
      else:
          self._setup_data(data_path)
  
      # for ordered data in batch mode (especially, for validation and
      # testing), each teacher in the batch gets a start index and a step
      # size so they all process disparate sets of the data
      self.step_size = opt.get("batchsize", 1)
      self.data_offset = opt.get("batchindex", 0)
  
      self.reset()
  
imports: from parlai.core.teachers import Teacher
  from .build import build
  from parlai.utils.io import PathManager
  import os
  import random
label_desc: Use image node_id 1 to create a new NegotiationTeacher object from inherited base classes: Teacher with example: obj = NegotiationTeacher(opt, shared)