class_docstr: A :class:`Reporter` subclass to visualise the results in Tensorboard.
  
  It utilises Tensorboard's HParams plugin as a dashboard for the summary of
  the optimisation. This class prepares and creates entries with the scalar
  data of the experiment trials, containing the domain sample and the
  corresponding metrics.
  
  Notes:
      The user is responsible for launching TensorBoard in the browser.
class_docstr_tok: ["A",":","class",":","`","Reporter","`","subclass","to","visualise","the","results","in","Tensorboard",".","It","utilises","Tensorboard","'s","HParams","plugin","as","a","dashboard","for","the","summary","of","the","optimisation",".","This","class","prepares","and","creates","entries","with","the","scalar","data","of","the","experiment","trials",",","containing","the","domain","sample","and","the","corresponding","metrics",".","Notes",":","The","user","is","responsible","for","launching","TensorBoard","in","the","browser","."]
docstr: Initialise the TensorBoard reporter.
  
  Args:
      domain: :class:`Domain`. The domain to which all evaluated samples belong.
      metrics: :obj:`List[str]`. The names of the metrics.
      logdir: :obj:`str`. Path to a folder for storing the Tensorboard events.
      primary_metric: (optional) :obj:`str`. Primary metric from `metrics`.
          This is used by the :py:meth:`format` method to determine the
          sorting column and the best value. Default is the first one.
      database_path: (optional) :obj:`str`. The path to the database for
          storing experiment history on disk. Default is in-memory storage.
docstr_tok: ["Initialise","the","TensorBoard","reporter",".","Args",":","domain",":",":","class",":","`","Domain","`",".","The","domain","to","which","all","evaluated","samples","belong",".","metrics",":",":","obj",":","`","List","[","str","]","`",".","The","names","of","the","metrics",".","logdir",":",":","obj",":","`","str","`",".","Path","to","a","folder","for","storing","the","Tensorboard","events",".","primary_metric",":","(","optional",")",":","obj",":","`","str","`",".","Primary","metric","from","`","metrics","`",".","This","is","used","by","the",":","py",":","meth",":","`","format","`","method","to","determine","the","sorting","column","and","the","best","value",".","Default","is","the","first","one",".","database_path",":","(","optional",")",":","obj",":","`","str","`",".","The","path","to","the","database","for","storing","experiment","history","on","disk",".","Default","is","in-memory","storage","."]
code: def __init__(
      self,
      domain: Domain,
      metrics: List[str],
      logdir: str,
      primary_metric: str = "",
      database_path: str = None,
  ):
      """Initialise the TensorBoard reporter.
  
      Args:
          domain: :class:`Domain`. The domain to which all evaluated samples belong.
          metrics: :obj:`List[str]`. The names of the metrics.
          logdir: :obj:`str`. Path to a folder for storing the Tensorboard events.
          primary_metric: (optional) :obj:`str`. Primary metric from `metrics`.
              This is used by the :py:meth:`format` method to determine the
              sorting column and the best value. Default is the first one.
          database_path: (optional) :obj:`str`. The path to the database for
              storing experiment history on disk. Default is in-memory storage.
      """
      super(Tensorboard, self).__init__(
          domain, metrics, primary_metric, database_path
      )
      self._hparams_domain = self._convert_to_hparams_domain(
          self.domain
      )
      if not os.path.exists(logdir):
          os.makedirs(logdir)
      self._logdir = logdir
      self._experiment_counter = 0
      self._set_up()
      print(
          f"Run 'tensorboard --logdir={logdir}' to launch "
          f"the visualisation in TensorBoard",
          file=sys.stderr,
      )
  
file_path: hypertunity/hypertunity/reports/tensorboard.py
imports: import os
  import sys
  from typing import Any, Dict, List, Union
  import tinydb
  from hypertunity import utils
  from hypertunity.domain import Domain, Sample
  from hypertunity.optimisation.base import HistoryPoint
  from .base import Reporter
label_desc: Use image node_id 1 to create a new Tensorboard object from inherited base classes: Reporter with example: obj = Tensorboard(domain, metrics, logdir, primary_metric, database_path)