code: def run(self, input_dir, output_file_path):
      
      logging.info('Running defense %s', self.submission_id)
      tmp_run_dir = self.temp_copy_extracted_submission()
      output_dir = os.path.dirname(output_file_path)
      output_filename = os.path.basename(output_file_path)
      cmd = ['--network=none',
             '-m=24g',
             '--cpus=3.75',
             '-v', '{0}:/input_images:ro'.format(input_dir),
             '-v', '{0}:/output_data'.format(output_dir),
             '-v', '{0}:/code'.format(tmp_run_dir),
             '-w', '/code',
             self.container_name,
             './' + self.entry_point,
             '/input_images',
             '/output_data/' + output_filename]
      elapsed_time_sec = self.run_with_time_limit(cmd)
      sudo_remove_dirtree(tmp_run_dir)
      return elapsed_time_sec
docs: Runs defense inside Docker.
  
      Args:
        input_dir: directory with input (adversarial images).
        output_file_path: path of the output file.
  
      Returns:
        how long it took to run submission in seconds