code: def __init__(self, num_classes=19, block_1=3, block_2=6, **kwargs):
      super().__init__()
      self.init_conv = nn.Sequential(
          Conv(3, 32, 3, 2, padding=1, bn_acti=True),
          Conv(32, 32, 3, 1, padding=1, bn_acti=True),
          Conv(32, 32, 3, 1, padding=1, bn_acti=True),
      )
  
      self.down_1 = InputInjection(1)  # down-sample the image 1 times
      self.down_2 = InputInjection(2)  # down-sample the image 2 times
      self.down_3 = InputInjection(3)  # down-sample the image 3 times
  
      self.bn_prelu_1 = BNPReLU(32 + 3)
  
      # DAB Block 1
      self.downsample_1 = DownSamplingBlock(32 + 3, 64)
      self.DAB_Block_1 = nn.Sequential()
      for i in range(0, block_1):
          self.DAB_Block_1.add_module(
              "DAB_Module_1_" + str(i), DABModule(64, d=2)
          )
      self.bn_prelu_2 = BNPReLU(128 + 3)
  
      # DAB Block 2
      dilation_block_2 = [4, 4, 8, 8, 16, 16]
      self.downsample_2 = DownSamplingBlock(128 + 3, 128)
      self.DAB_Block_2 = nn.Sequential()
      for i in range(0, block_2):
          self.DAB_Block_2.add_module(
              "DAB_Module_2_" + str(i),
              DABModule(128, d=dilation_block_2[i]),
          )
      self.bn_prelu_3 = BNPReLU(256 + 3)
  
      self.classifier = nn.Sequential(
          Conv(259, num_classes, 1, 1, padding=0)
      )
  
imports: import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new DABNet object from inherited base classes: nn with example: obj = DABNet(num_classes, block_1, block_2)