class_docstr: Callback to write metrics to `LiveLossPlot <https://github.com/stared/livelossplot>`_, a library for visualisation in notebooks
  
  Example: ::
  
      >>> import torch.nn
      >>> from torchbearer import Trial
      >>> from torchbearer.callbacks import LiveLossPlot
  
      # Example Trial which clips all model gradients norms at 2 under the L1 norm.
      >>> model = torch.nn.Linear(1,1)
      >>> live_loss_plot = LiveLossPlot()
      >>> trial = Trial(model, callbacks=[live_loss_plot], metrics=['acc'])
  
  Args:
      on_batch (bool): If True, batch metrics will be logged. Else batch metrics will not be logged
      batch_step_size (int): The number of batches between logging metrics
      on_epoch (bool): If True, epoch metrics will be logged every epoch. Else epoch metrics will not be logged
      draw_once (bool): If True, draw the plot only at the end of training. Else draw every time metrics are logged
      kwargs: Keyword arguments for livelossplot.PlotLosses
  
  State Requirements:
      - :attr:`torchbearer.state.METRICS`: Metrics should be a dict containing the metrics to be plotted
      - :attr:`torchbearer.state.BATCH`: Batch should be the current batch or iteration number in the epoch
code: def on_start(self, state):
      from livelossplot import PlotLosses
  
      self.plt = PlotLosses(**self._kwargs)
      self.batch_plt = PlotLosses(**self._kwargs)
  
file_path: torchbearer/torchbearer/callbacks/live_loss_plot.py
imports: import sys
  import os
  import torchbearer
  from torchbearer.callbacks import Callback
  from torchbearer.bases import get_metric
label_desc: Use image node_id 2 for calling the LiveLossPlot obj's underlying member method code with example usage: obj.on_start(state) without return types