class_docstr: Performs manifold mixup on desired layers. Requires use of :meth:`MixupInputs.loss`, otherwise lambdas can be found in
  state under :attr:`.MIXUP_LAMBDA`. Model targets will be a tuple containing the original target and permuted target.
  
  Args:
      lam: Mixup lambda. If RANDOM, choose lambda from Beta(alpha, alpha). Else, lambda=lam
      alpha: Mixup alpha. Alpha used to sample lambda from Beta(alpha, alpha)
docstr: Specify the module depth at which to search for layers. Top level modules are at level 0. 
  Submodules of these are at level 1, etc. 
  To search all depths, set N=None.
  
  Args:
      N (int or None): Module depth
  
  Returns: self
docstr_tok: ["Specify","the","module","depth","at","which","to","search","for","layers",".","Top","level","modules","are","at","level","0",".","Submodules","of","these","are","at","level","1",",","etc",".","To","search","all","depths",",","set","N=None",".","Args",":","N","(","int","or","None",")",":","Module","depth","Returns",":","self"]
code: def at_depth(self, N):
      """Specify the module depth at which to search for layers. Top level modules are at level 0.
      Submodules of these are at level 1, etc.
      To search all depths, set N=None.
  
      Args:
          N (int or None): Module depth
  
      Returns: self
      """
      self.depth = N
      return self
  
imports: from torchbearer import Callback
  import torchbearer
  from torch.distributions.beta import Beta
  import random
  import torch
  import types
  from torchbearer import cite
label_desc: Use image node_id 7 for calling the ManifoldMixup obj's underlying member method code with example usage: obj.at_depth(N) and returns: self