class_docstr: Random erase callback which replaces random patches of image data with random noise.
  Implementation a modified version of the cutout code found
  `here <https://github.com/uoguelph-mlrg/Cutout>`_.
  
  Example: ::
  
      >>> from torchbearer import Trial
      >>> from torchbearer.callbacks import RandomErase
  
      # Example Trial which does Cutout regularisation
      >>> erase = RandomErase(1, 10)
      >>> trial = Trial(None, callbacks=[erase], 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.
  
  State Requirements:
      - :attr:`torchbearer.state.X`: State should have the current data stored
code: def __init__(self, n_holes, length):
      super(RandomErase, self).__init__()
      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 RandomErase object from inherited base classes: Callback with example: obj = RandomErase(n_holes, length)