code: def __init__(self, num_classes, **kwargs):
      super(FusionNet, self).__init__()
  
      # Assuming input of size 240x320
      self.enc1 = ConvResConv(3, 64)
      self.enc2 = ConvResConv(64, 128)
      self.enc3 = ConvResConv(128, 256)
      self.enc4 = ConvResConv(256, 512)
  
      self.middle = ConvResConv(512, 1024)
  
      self.dec1 = ConvResConv(512, 512)
      self.dec2 = ConvResConv(256, 256)
      self.dec3 = ConvResConv(128, 128)
      self.dec4 = nn.Sequential(nn.Conv2d(64, 64, 3, padding=1))
  
      self.deconvbn1024_512 = DeconvBN(1024, 512)
      self.deconvbn512_256 = DeconvBN(512, 256)
      self.deconvbn256_128 = DeconvBN(256, 128)
      self.deconvbn128_64 = DeconvBN(128, 64)
  
      self.final = nn.Conv2d(64, num_classes, kernel_size=1, stride=1)
      self.activation = nn.Sigmoid()
      initialize_weights(self)
  
imports: import torch.nn
  import torch.nn.init
  import torch.nn.functional
  import numpy
label_desc: Use image node_id 1 to create a new FusionNet object from inherited base classes: nn with example: obj = FusionNet(num_classes)