class_docstr: Perform Label Smoothing Regularisation (LSR) on the targets during training. This involves converting the target
  to a one-hot vector and smoothing according to the value epsilon.
  
  .. note::
  
      Requires a multi-label loss, such as nn.BCELoss
  
  Example: ::
  
      >>> from torchbearer import Trial
      >>> from torchbearer.callbacks import LabelSmoothingRegularisation
  
      # Example Trial which does label smoothing regularisation
      >>> smoothing = LabelSmoothingRegularisation()
      >>> trial = Trial(None, criterion=nn.BCELoss(), callbacks=[smoothing], metrics=['acc'])
  
  Args:
      epsilon (float): The epsilon parameter from the paper
      classes (int): The number of target classes, not required if the target is already one-hot encoded
code: def __init__(self, epsilon, classes=-1):
      self.epsilon = epsilon
      self.classes = classes
  
file_path: torchbearer/torchbearer/callbacks/label_smoothing.py
imports: import torch
  import torchbearer
  from torchbearer import cite
  from torchbearer.callbacks import Callback
label_desc: Use image node_id 1 to create a new LabelSmoothingRegularisation object from inherited base classes: Callback with example: obj = LabelSmoothingRegularisation(epsilon, classes)