class_docstr: The Slurm Evaluator is a class designed to continuously monitor VISSL pretrainings
  and launch evaluations as checkpoints become available. The method takes a
  config dictionary consisting of the training checkpoint directory, an array of
  benchmarks, and information on how often to evaluate the trainings.
docstr: Generates evaluation configs in order to evaluate the final output of the
  pretraining model specified in 'training_config'.
docstr_tok: ["Generates","evaluation","configs","in","order","to","evaluate","the","final","output","of","the","pretraining","model","specified","in","'training_config","'","."]
code: def _set_initial_benchmark_result(
      self,
      benchmark,
      training_checkpoint,
      evaluation_name,
      evaluation_configs,
  ):
      """
      Generates evaluation configs in order to evaluate the final output of the
      pretraining model specified in 'training_config'.
      """
      log_dir = self._evaluation_log_dir(
          training_checkpoint, evaluation_name
      )
      checkpoint_dir = self._evaluation_checkpoint_dir(
          training_checkpoint, evaluation_name
      )
  
      evaluation_configs[training_checkpoint] = (
          evaluation_configs.get(training_checkpoint) or []
      )
  
      # Add benchmark result information
      benchmark_result = {
          "evaluation_name": evaluation_name,
          "job_id": None,
          "num_retries": 0,
          "slurm_log_dir": log_dir,
          "checkpoint_dir": checkpoint_dir,
          "metrics": None,
          "slurm_state": None,
          "config_files": benchmark["config_files"].copy(),
      }
  
      # Hydra config information
      weights_init_path = os.path.join(
          self.training_config.CHECKPOINT.DIR,
          f"{ training_checkpoint }.torch",
      )
  
      # Override certain options for slurm
      for option in [
          f"config.MODEL.WEIGHTS_INIT.PARAMS_FILE='{weights_init_path}'",
          "config.SLURM.USE_SLURM=true",
          f"config.SLURM.LOG_FOLDER='{log_dir}'",
          f"config.CHECKPOINT.DIR='{checkpoint_dir}'",
          f"hydra.run.dir='{ log_dir }'",
      ]:
          benchmark_result["config_files"].insert(1, option)
  
      evaluation_configs[training_checkpoint].append(benchmark_result)
  
imports: import collections
  import json
  import logging
  import os
  import time
  from datetime import datetime
  from pathlib import Path
  from typing import List
  import submitit
  from iopath.common.file_io import g_pathmgr
  from vissl.config.attr_dict import AttrDict
  from vissl.utils.distributed_launcher import launch_distributed_on_slurm
  from vissl.utils.hydra_config import compose_hydra_configuration, convert_to_attrdict
  from vissl.utils.io import load_file, makedir
  from vissl.utils.misc import flatten_dict, retry
label_desc: Use image node_id 22 for calling the BenchmarkSuiteScheduler obj's underlying member method code with example usage: obj._set_initial_benchmark_result(benchmark, training_checkpoint, evaluation_name, evaluation_configs) without return types