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 _set_largest_metric(self, metrics, final_metrics):
      # Get the largest metrics over all recorded metrics.
      for m in metrics:
          flattened_metrics = flatten_dict(m)
          for metric_name, metric in flattened_metrics.items():
              if metric_name in [
                  "iteration",
                  "phase_idx",
                  "train_phase_idx",
              ]:
                  continue  # These are not evaluation metrics
  
              if metric > final_metrics[metric_name]["metric"]:
                  final_metrics[metric_name]["metric"] = metric
                  final_metrics[metric_name][
                      "iteration"
                  ] = flattened_metrics["iteration"]
                  final_metrics[metric_name][
                      "train_phase_idx"
                  ] = flattened_metrics["train_phase_idx"]
  
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 19 for calling the BenchmarkSuiteScheduler obj's underlying member method code with example usage: obj._set_largest_metric(metrics, final_metrics) without return types