code: def __init__(
      self, num_classes, in_channels=3, deep_supervision=True, **kwargs
  ):
      super().__init__()
      self.deep_supervision = deep_supervision
  
      filters = [32, 64, 128, 256, 512]
  
      # j == 0
      self.x_00 = StandardUnit(
          in_channels=in_channels, out_channels=filters[0]
      )
      self.pool0 = nn.MaxPool2d(kernel_size=2)
  
      self.x_01 = StandardUnit(
          in_channels=filters[0] * 2, out_channels=filters[0]
      )
      self.x_02 = StandardUnit(
          in_channels=filters[0] * 3, out_channels=filters[0]
      )
      self.x_03 = StandardUnit(
          in_channels=filters[0] * 4, out_channels=filters[0]
      )
      self.x_04 = StandardUnit(
          in_channels=filters[0] * 5, out_channels=filters[0]
      )
  
      self.up_10_to_01 = nn.ConvTranspose2d(
          in_channels=filters[1],
          out_channels=filters[0],
          kernel_size=2,
          stride=2,
      )
      self.up_11_to_02 = nn.ConvTranspose2d(
          in_channels=filters[1],
          out_channels=filters[0],
          kernel_size=2,
          stride=2,
      )
      self.up_12_to_03 = nn.ConvTranspose2d(
          in_channels=filters[1],
          out_channels=filters[0],
          kernel_size=2,
          stride=2,
      )
      self.up_13_to_04 = nn.ConvTranspose2d(
          in_channels=filters[1],
          out_channels=filters[0],
          kernel_size=2,
          stride=2,
      )
  
      # j == 1
      self.x_10 = StandardUnit(
          in_channels=filters[0], out_channels=filters[1]
      )
      self.pool1 = nn.MaxPool2d(kernel_size=2)
  
      self.x_11 = StandardUnit(
          in_channels=filters[1] * 2, out_channels=filters[1]
      )
      self.x_12 = StandardUnit(
          in_channels=filters[1] * 3, out_channels=filters[1]
      )
      self.x_13 = StandardUnit(
          in_channels=filters[1] * 4, out_channels=filters[1]
      )
  
      self.up_20_to_11 = nn.ConvTranspose2d(
          in_channels=filters[2],
          out_channels=filters[1],
          kernel_size=2,
          stride=2,
      )
      self.up_21_to_12 = nn.ConvTranspose2d(
          in_channels=filters[2],
          out_channels=filters[1],
          kernel_size=2,
          stride=2,
      )
      self.up_22_to_13 = nn.ConvTranspose2d(
          in_channels=filters[2],
          out_channels=filters[1],
          kernel_size=2,
          stride=2,
      )
  
      # j == 2
      self.x_20 = StandardUnit(
          in_channels=filters[1], out_channels=filters[2]
      )
      self.pool2 = nn.MaxPool2d(kernel_size=2)
  
      self.x_21 = StandardUnit(
          in_channels=filters[2] * 2, out_channels=filters[2]
      )
      self.x_22 = StandardUnit(
          in_channels=filters[2] * 3, out_channels=filters[2]
      )
  
      self.up_30_to_21 = nn.ConvTranspose2d(
          in_channels=filters[3],
          out_channels=filters[2],
          kernel_size=2,
          stride=2,
      )
      self.up_31_to_22 = nn.ConvTranspose2d(
          in_channels=filters[3],
          out_channels=filters[2],
          kernel_size=2,
          stride=2,
      )
  
      # j == 3
      self.x_30 = StandardUnit(
          in_channels=filters[2], out_channels=filters[3]
      )
      self.pool3 = nn.MaxPool2d(kernel_size=2)
  
      self.x_31 = StandardUnit(
          in_channels=filters[3] * 2, out_channels=filters[3]
      )
  
      self.up_40_to_31 = nn.ConvTranspose2d(
          in_channels=filters[4],
          out_channels=filters[3],
          kernel_size=2,
          stride=2,
      )
  
      # j == 4
      self.x_40 = StandardUnit(
          in_channels=filters[3], out_channels=filters[4]
      )
  
      # 1x1 conv layer
      self.final_1x1_x01 = Final1x1ConvLayer(
          in_channels=filters[0], out_channels=num_classes
      )
      self.final_1x1_x02 = Final1x1ConvLayer(
          in_channels=filters[0], out_channels=num_classes
      )
      self.final_1x1_x03 = Final1x1ConvLayer(
          in_channels=filters[0], out_channels=num_classes
      )
      self.final_1x1_x04 = Final1x1ConvLayer(
          in_channels=filters[0], out_channels=num_classes
      )
  
file_path: pywick/pywick/models/segmentation/testnets/unet_plus_plus.py
imports: import torch
  import torch.nn
label_desc: Use image node_id 1 to create a new NestNet object from inherited base classes: nn with example: obj = NestNet(num_classes, in_channels, deep_supervision)