class_docstr: FVQA Teacher, which loads the json VQA data and implements its own `act` method for
  interacting with student agent.
  
  Use "fvqa:split:X" to choose between splits 0-4 (inclusive), or just "fvqa" to use
  the default split (0).
code: def _setup_data(
      self, questions_path, trainset_path, datatype, task_num
  ):
      print("loading: " + questions_path)
      with PathManager.open(questions_path) as questions_file:
          questions = json.load(questions_file)
      train_test_images = set()
      fn = os.path.join(
          trainset_path, "{}_list_{}.txt".format(datatype, task_num)
      )
      with PathManager.open(fn) as imageset:
          for line in imageset:
              train_test_images.add(line.strip())
      self.ques = [
          questions[k]
          for k in sorted(questions.keys())
          if questions[k]["img_file"] in train_test_images
      ]
  
imports: from parlai.core.image_featurizers import ImageLoader
  from parlai.core.metrics import TeacherMetrics
  from parlai.core.teachers import Teacher
  from parlai.utils.io import PathManager
  from .build import build
  import json
  import random
  import os
label_desc: Use image node_id 10 for calling the SplitTeacher obj's underlying member method code with example usage: obj._setup_data(questions_path, trainset_path, datatype, task_num) without return types