class_docstr: Base class for weight initialisations. Performs the provided function for each module when on_init is
  called.
  
  Args:
      initialiser (lambda): a function which initialises an nn.Module **inplace**
      modules (Iterable[nn.Module] or nn.Module, optional): an iterable of nn.Modules or a
          single nn.Module that will have weights initialised, otherwise this is retrieved from the model
      targets (list[String]): A list of lookup strings to match which modules will be initialised
  
  State Requirements:
      - :attr:`torchbearer.state.MODEL`: Model should have the `modules` method if modules is None
class_docstr_tok: ["Base","class","for","weight","initialisations",".","Performs","the","provided","function","for","each","module","when","on_init","is","called",".","Args",":","initialiser","(","lambda",")",":","a","function","which","initialises","an","nn.Module","*","*","inplace","*","*","modules","(","Iterable","[","nn.Module","]","or","nn.Module",",","optional",")",":","an","iterable","of","nn.Modules","or","a","single","nn.Module","that","will","have","weights","initialised",",","otherwise","this","is","retrieved","from","the","model","targets","(","list","[","String","]",")",":","A","list","of","lookup","strings","to","match","which","modules","will","be","initialised","State","Requirements",":","-",":","attr",":","`","torchbearer.state.MODEL","`",":","Model","should","have","the","`","modules","`","method","if","modules","is","None"]
code: def __init__(
      self,
      initialiser=lambda module: module,
      modules=None,
      targets=["Conv", "Linear", "Bilinear"],
  ):
      self.initialiser = initialiser
      self.modules = modules
      self.targets = targets
  
imports: import torchbearer
  from torchbearer import cite
  from torchbearer.callbacks import Callback
  import torch.nn.init
label_desc: Use image node_id 1 to create a new WeightInit object from inherited base classes: Callback with example: obj = WeightInit(initialiser, modules, targets)