text: from student_code.simple_baseline_net import SimpleBaselineNet
  from student_code.experiment_runner_base import ExperimentRunnerBase
  from student_code.vqa_dataset import VqaDataset
  
  
  class SimpleBaselineExperimentRunner(ExperimentRunnerBase):
      """
      Sets up the Simple Baseline model for training. This class is specifically responsible for creating the model and optimizing it.
      """
      def __init__(self, train_image_dir, train_question_path, train_annotation_path,
                   test_image_dir, test_question_path,test_annotation_path, batch_size, num_epochs,
                   num_data_loader_workers, cache_location, lr, log_validation):
  
          ############ 2.3 TODO: set up transform
  
          transform = None
  
          ############
  
          train_dataset = VqaDataset(image_dir=train_image_dir,
                                     question_json_file_path=train_question_path,
                                     annotation_json_file_path=train_annotation_path,
                                     image_filename_pattern="COCO_train2014_{}.jpg",
                                     transform=transform,
                                     ############ 2.4 TODO: fill in the arguments
                                     question_word_to_id_map='change this argument',
                                     answer_to_id_map='change this argument',
                                     ############
                                     )
          val_dataset = VqaDataset(image_dir=test_image_dir,
                                   question_json_file_path=test_question_path,
                                   annotation_json_file_path=test_annotation_path,
                                   image_filename_pattern="COCO_val2014_{}.jpg",
                                   transform=transform,
                                   ############ 2.4 TODO: fill in the arguments
                                   question_word_to_id_map='change this argument',
                                   answer_to_id_map='change this argument',
                                   ############
                                   )
  
          model = SimpleBaselineNet()
  
          super().__init__(train_dataset, val_dataset, model, batch_size, num_epochs, num_data_loader_workers)
  
          ############ 2.5 TODO: set up optimizer
  
          ############
  
  
      def _optimize(self, predicted_answers, true_answer_ids):
          ############ 2.7 TODO: compute the loss, run back propagation, take optimization step.
  
          ############
          raise NotImplementedError()
  