code: def test_depth_2(self):
      mm = ManifoldMixup().at_depth(2)
      state = {torchbearer.MODEL: self.model}
      mm.on_start(state)
  
      top_checks = [
          self.model.fc1 in mm._layers,
          self.model.conv1 in mm._layers,
          self.model.relu in mm._layers,
          self.model.layer1 in mm._layers,
          self.model.layer2 in mm._layers,
      ]
  
      first_checks = [
          self.model.layer1.conv in mm._layers,
          self.model.layer1.relu in mm._layers,
          self.model.layer1.bn in mm._layers,
          self.model.layer2.layer1 in mm._layers,
      ]
  
      second_checks = [
          self.model.layer2.layer1.conv in mm._layers,
          self.model.layer2.layer1.relu in mm._layers,
          self.model.layer2.layer1.bn in mm._layers,
      ]
  
      self.assertFalse(any(top_checks))  # Top level modules not in
      self.assertFalse(any(first_checks))  # Depth 1 modules not in
      self.assertTrue(all(second_checks))
  
imports: from unittest import TestCase
  from mock import patch, Mock
  from torch import nn
  from torchbearer.callbacks.manifold_mixup import ManifoldMixup
  import torchbearer
  import torch
label_desc: Use image node_id 5 for calling the TestManifoldMixup obj's underlying member method code with example usage: obj.test_depth_2() without return types