class_docstr: TensorBoardX Logger.
  
  Note that hparams will be written only after a trial has terminated.
  This logger automatically flattens nested dicts to show on TensorBoard:
  
      {"a": {"b": 1, "c": 2}} -> {"a/b": 1, "a/c": 2}
code: def __init__(self):
      try:
          from tensorboardX import SummaryWriter
  
          self._summary_writer_cls = SummaryWriter
      except ImportError:
          if log_once("tbx-install"):
              logger.info(
                  'pip install "ray[tune]" to see TensorBoard files.'
              )
          raise
      self._trial_writer: Dict["Trial", SummaryWriter] = {}
      self._trial_result: Dict["Trial", Dict] = {}
  
imports: import logging
  import numpy
  from typing import TYPE_CHECKING, Dict
  from ray.air.constants import TRAINING_ITERATION
  from ray.tune.logger.logger import _LOGGER_DEPRECATION_WARNING, Logger, LoggerCallback
  from ray.util.debug import log_once
  from ray.tune.result import TIME_TOTAL_S, TIMESTEPS_TOTAL
  from ray.tune.utils import flatten_dict
  from ray.util.annotations import Deprecated, PublicAPI
label_desc: Use image node_id 1 to create a new TBXLoggerCallback object from inherited base classes: LoggerCallback with example: obj = TBXLoggerCallback()