code: def test_tblogger_valid_type(self):
      trail_num = 100
      test_config = {}
      test_metric = {}
      for i in range(trail_num):
          test_config["run_{}".format(i)] = {
              "config_good": random.randint(8, 96),
              "config_unstable": None if random.random() < 0.5 else 1,
              "config_bad": None,
          }
          test_metric["run_{}".format(i)] = {
              "matrix_good": random.randint(0, 100) / 100,
              "matrix_unstable": np.nan if random.random() < 0.5 else 1,
              "matrix_bad": np.nan,
          }
      logger = TensorboardLogger(
          os.path.abspath(os.path.expanduser("~/test_tbxlogger"))
      )
      logger.run(test_config, test_metric)
      logger.close()
  
file_path: BigDL/python/orca/test/bigdl/orca/automl/search/test_tensorboardlogger.py
imports: import pytest
  from bigdl.orca.test_zoo_utils import ZooTestCase
  from bigdl.orca.automl.search.tensorboardlogger import TensorboardLogger
  import numpy
  import random
  import os.path
label_desc: Use image node_id 3 for calling the TestTensorboardLogger obj's underlying member method code with example usage: obj.test_tblogger_valid_type() without return types