code: def __init__(self):
      super(BoringModel, self).__init__()
      self.layer = nn.Linear(32, 10, bias=False)
      self.net_a = SubModule(self.layer)
      self.layer_2 = nn.Linear(10, 32, bias=False)
      self.net_b = SubModule(self.layer)
  
imports: import collections
  import os
  from copy import deepcopy
  from unittest import mock
  from unittest.mock import MagicMock, call, patch
  import lightning.fabric
  import pytest
  import torch
  from lightning.fabric.utilities.imports import _IS_WINDOWS
  from lightning.pytorch import Trainer
  from lightning.pytorch.accelerators import CPUAccelerator, XLAAccelerator
  from lightning.pytorch.demos.boring_classes import BoringModel, RandomDataset
  from lightning.pytorch.plugins import Precision, XLACheckpointIO, XLAPrecision
  from lightning.pytorch.strategies import DDPStrategy, XLAStrategy
  from lightning.pytorch.utilities import find_shared_parameters
  from torch import nn
  from torch.utils.data import DataLoader
  from tests_pytorch.helpers.runif import RunIf
  from tests_pytorch.trainer.connectors.test_accelerator_connector import DeviceMock
  from tests_pytorch.trainer.optimization.test_manual_optimization import assert_emtpy_grad
label_desc: Use image node_id 1 to create a new NestedModule object from inherited base classes: BoringModel with example: obj = NestedModule()