code: def __init__(self, rank, size, prefix_dir):
      self.batch_size = config.batch_size
      self.rank = rank
      self.size = size
      self.prefix_dir = prefix_dir
      self.frequent = config.frequent
      self.init = False
      self.tic = 0
      self.last_count = 0
      self.loss_metric = MetricNdarray()
      t = time.localtime()
  
      if self.rank == 0:
          self.summary_writer = SummaryWriter(
              logdir=os.path.join(
                  self.prefix_dir,
                  "log_tensorboard",
                  "%s_%s_%s"
                  % (str(t.tm_mon), str(t.tm_mday), str(t.tm_hour)),
              ),
              verbose=False,
          )
      else:
          time.sleep(2)
  
imports: import logging
  import os
  import sys
  import time
  import horovod.mxnet
  import mxnet
  from mxboard import SummaryWriter
  from mxnet import nd
  from default import config
  from evaluation import verification
label_desc: Use image node_id 1 to create a new CallBackLogging object from inherited base classes: object with example: obj = CallBackLogging(rank, size, prefix_dir)