class_docstr: Test Aim integration.
class_docstr_tok: ["Test","Aim","integration","."]
code: def validateLogs(self, runs: list, metrics: list = None):
      expected_logged_hparams = set(flatten_dict(self.config)) - {"bad"}
  
      for i, run in enumerate(runs):
          assert set(run["hparams"]) == expected_logged_hparams
          assert run.get("trial_log_dir")
          assert run.get("trial_ip")
  
          results = None
          all_tune_metrics = set()
          for metric in run.metrics():
              if metric.name.startswith("ray/tune/"):
                  all_tune_metrics.add(
                      metric.name.replace("ray/tune/", "")
                  )
              if metric.name == "ray/tune/episode_reward_mean":
                  results = metric.values.values_list()
  
          assert results
          # Make sure that the set of reported metrics matches with the
          # set of metric names passed in
          # If None is passed in, then all Tune metrics get reported
          assert metrics is None or set(metrics) == all_tune_metrics
  
          results = [int(res) for res in results]
          if i == 0:
              self.assertSequenceEqual(results, [1, 2, 3])
          elif i == 1:
              self.assertSequenceEqual(results, [4, 5, 6])
  
imports: import csv
  from dataclasses import dataclass
  import glob
  import json
  import os
  import unittest
  import tempfile
  from pathlib import Path
  from typing import Optional
  import shutil
  import numpy
  import ray
  from ray.air.constants import EXPR_PARAM_FILE, EXPR_PARAM_PICKLE_FILE, EXPR_PROGRESS_FILE, EXPR_RESULT_FILE
  from ray.cloudpickle import cloudpickle
  from ray.train import Checkpoint
  from ray.tune.logger import CSVLoggerCallback, JsonLoggerCallback, JsonLogger, CSVLogger, TBXLoggerCallback, TBXLogger
  from ray.tune.logger.aim import AimLoggerCallback
  from ray.tune.utils import flatten_dict
label_desc: Use image node_id 4 for calling the AimLoggerSuite obj's underlying member method code with example usage: obj.validateLogs(runs, metrics) without return types