class_docstr: Aim Logger: logs metrics in Aim format.
  
  Aim is an open-source, self-hosted ML experiment tracking tool.
  It's good at tracking lots (thousands) of training runs, and it allows you to
  compare them with a performant and well-designed UI.
  
  Source: https://github.com/aimhubio/aim
  
  Args:
      repo: Aim repository directory or a `Repo` object that the Run object will
          log results to. If not provided, a default repo will be set up in the
          experiment directory (one level above trial directories).
      experiment: Sets the `experiment` property of each Run object, which is the
          experiment name associated with it. Can be used later to query
          runs/sequences.
          If not provided, the default will be the Tune experiment name set
          by `RunConfig(name=...)`.
      metrics: List of metric names (out of the metrics reported by Tune) to
          track in Aim. If no metric are specified, log everything that
          is reported.
      aim_run_kwargs: Additional arguments that will be passed when creating the
          individual `Run` objects for each trial. For the full list of arguments,
          please see the Aim documentation:
          https://aimstack.readthedocs.io/en/latest/refs/sdk.html
docstr: See help(AimLoggerCallback) for more information about parameters.
docstr_tok: ["See","help","(","AimLoggerCallback",")","for","more","information","about","parameters","."]
code: def __init__(
      self,
      repo: Optional[Union[str, "Repo"]] = None,
      experiment_name: Optional[str] = None,
      metrics: Optional[List[str]] = None,
      **aim_run_kwargs,
  ):
      """
      See help(AimLoggerCallback) for more information about parameters.
      """
      assert Run is not None, (
          "aim must be installed!. You can install aim with"
          " the command: `pip install aim`."
      )
      self._repo_path = repo
      self._experiment_name = experiment_name
      if not (bool(metrics) or metrics is None):
          raise ValueError(
              "`metrics` must either contain at least one metric name, or be None, "
              "in which case all reported metrics will be logged to the aim repo."
          )
      self._metrics = metrics
      self._aim_run_kwargs = aim_run_kwargs
      self._trial_to_run: Dict["Trial", Run] = {}
  
file_path: ray/python/ray/tune/logger/aim.py
imports: import logging
  import numpy
  from typing import TYPE_CHECKING, Dict, Optional, List, Union
  from ray.air.constants import TRAINING_ITERATION
  from ray.tune.logger.logger import LoggerCallback
  from ray.tune.result import TIME_TOTAL_S, TIMESTEPS_TOTAL
  from ray.tune.utils import flatten_dict
  from ray.util.annotations import PublicAPI
label_desc: Use image node_id 1 to create a new AimLoggerCallback object from inherited base classes: LoggerCallback with example: obj = AimLoggerCallback(repo, experiment_name, metrics)