code: def __init__(
      self,
      num_classes,
      backbone="vgg16",
      aux=False,
      pretrained=True,
      norm_layer=nn.BatchNorm2d,
      **kwargs,
  ):
      super(FCN16s, self).__init__()
      self.aux = aux
      if backbone == "vgg16":
          self.pretrained = vgg16(pretrained=pretrained).features
      else:
          raise RuntimeError("unknown backbone: {}".format(backbone))
      self.pool4 = nn.Sequential(*self.pretrained[:24])
      self.pool5 = nn.Sequential(*self.pretrained[24:])
      self.head = _FCNHead(512, num_classes, norm_layer)
      self.score_pool4 = nn.Conv2d(512, num_classes, 1)
      if aux:
          self.auxlayer = _FCNHead(512, num_classes, norm_layer)
  
      self.__setattr__(
          "exclusive",
          ["head", "score_pool4", "auxlayer"]
          if aux
          else ["head", "score_pool4"],
      )
  
file_path: pywick/pywick/models/segmentation/da_basenets/fcn.py
imports: import torch.nn
  import torch.nn.functional
  from .vgg import vgg16
label_desc: Use image node_id 1 to create a new FCN16s object from inherited base classes: nn with example: obj = FCN16s(num_classes, backbone, aux, pretrained, norm_layer)