class_docstr: Cutout callback which randomly masks out patches of image data. Implementation a modified version of the code
  found `here <https://github.com/uoguelph-mlrg/Cutout>`_.
  
  Example: ::
  
      >>> from torchbearer import Trial
      >>> from torchbearer.callbacks import Cutout
  
      # Example Trial which does Cutout regularisation
      >>> cutout = Cutout(1, 10)
      >>> trial = Trial(None, callbacks=[cutout], metrics=['acc'])
  
  Args:
      n_holes (int): Number of patches to cut out of each image.
      length (int): The length (in pixels) of each square patch.
      constant (float): Constant value for each square patch
  
  State Requirements:
      - :attr:`torchbearer.state.X`: State should have the current data stored
code: def __init__(self, n_holes, length, constant=0.0):
      super(Cutout, self).__init__()
      self.constant = constant
      self.cutter = BatchCutout(n_holes, length, length)
  
imports: import torchbearer
  from torchbearer import Callback
  import torch
  from torch.distributions import Beta
  from torchbearer.bases import cite
label_desc: Use image node_id 1 to create a new Cutout object from inherited base classes: Callback with example: obj = Cutout(n_holes, length, constant)