code: def write(self):
      global_step = self.global_step
  
      self.save_indicators()
  
      indicators_print = None
  
      for w in self.__writers:
          if isinstance(w, ScreenWriter):
              indicators_print = self._write_writer(w, global_step)
          else:
              self._write_writer(w, global_step)
      self.clear()
  
      if indicators_print is not None:
          if self.__is_looping:
              self.__set_looping_indicators(indicators_print)
          else:
              parts = [
                  (f"{self.global_step :8,}:  ", logger.Text.highlight)
              ]
              parts += indicators_print
              logger.log(parts, is_new_line=False)
  
imports: from pathlib import PurePath
  from typing import Dict, List, Optional, Callable, Union, Tuple
  from labml import logger
  from .indicators import Indicator
  from .indicators.factory import load_indicator_from_dict, create_default_indicator
  from .indicators.numeric import Scalar
  from .namespace import Namespace
  from .writers import Writer
  from .writers.screen import ScreenWriter
  from ..None import util
  from ..lab import lab_singleton, LabYamlNotfoundError
  from ..logger import LogPart
  from ..util import strings
  from ..util.colors import StyleCode
label_desc: Use image node_id 8 for calling the Tracker obj's underlying member method code with example usage: obj.write() without return types