class_docstr: TensorBoard callback which writes metrics to the given log directory. Requires the TensorboardX library for python.
  
  Args:
      log_dir (str): The tensorboard log path for output
      comment (str): Descriptive comment to append to path
      visdom (bool): If true, log to visdom instead of tensorboard
      visdom_params (VisdomParams): Visdom parameter settings object, uses default if None
  
  State Requirements:
      - :attr:`torchbearer.state.MODEL`: PyTorch model
class_docstr_tok: ["TensorBoard","callback","which","writes","metrics","to","the","given","log","directory",".","Requires","the","TensorboardX","library","for","python",".","Args",":","log_dir","(","str",")",":","The","tensorboard","log","path","for","output","comment","(","str",")",":","Descriptive","comment","to","append","to","path","visdom","(","bool",")",":","If","true",",","log","to","visdom","instead","of","tensorboard","visdom_params","(","VisdomParams",")",":","Visdom","parameter","settings","object",",","uses","default","if","None","State","Requirements",":","-",":","attr",":","`","torchbearer.state.MODEL","`",":","PyTorch","model"]
code: def on_start(self, state):
      self.log_dir = os.path.join(
          self.log_dir,
          state[torchbearer.MODEL].__class__.__name__
          + "_"
          + self.comment,
      )
      self.writer = self.get_writer(
          visdom=self.visdom, visdom_params=self.visdom_params
      )
  
imports: import copy
  import os
  import warnings
  import torch
  import torch.nn.functional
  import torchbearer
  from torchbearer.callbacks import Callback
label_desc: Use image node_id 4 for calling the AbstractTensorBoard obj's underlying member method code with example usage: obj.on_start(state) without return types