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.
code: def _evaluate_checkpoints(self):
      for checkpoint_str, benchmarks in self.evaluation_results.items():
          # TODO: Can we possible retrieve this from CheckpointWriter, to consolidate logic.
          checkpoint_str = os.path.join(
              self.training_config.CHECKPOINT.DIR,
              f"{ checkpoint_str }.torch",
          )
          if g_pathmgr.exists(checkpoint_str):
              self._evaluate_checkpoint(checkpoint_str, benchmarks)
  
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 10 for calling the BenchmarkSuiteScheduler obj's underlying member method code with example usage: obj._evaluate_checkpoints() without return types