code: def __init__(
      self,
      num_classes=18,
      pretrained=True,
      backend="densenet121",
      sizes=(1, 2, 3, 6),
      psp_size=2048,
      deep_features_size=1024,
      **kwargs,
  ):
      super().__init__()
      self.feats = extractor_models[backend](pretrained=pretrained)
      self.psp = PSPModule(psp_size, 1024, sizes)
      self.drop_1 = nn.Dropout2d(p=0.3)
  
      self.up_1 = PSPUpsample(1024, 256)
      self.up_2 = PSPUpsample(256, 64)
      self.up_3 = PSPUpsample(64, 64)
  
      self.drop_2 = nn.Dropout2d(p=0.15)
      self.final = nn.Conv2d(64, num_classes, kernel_size=1)
      # self.final = nn.Sequential(
      #     nn.Conv2d(64, num_classes, kernel_size=1),
      #     nn.LogSoftmax()
      # )
  
      self.classifier = nn.Sequential(
          nn.Linear(deep_features_size, 256),
          nn.ReLU(),
          nn.Linear(256, num_classes),
      )
  
file_path: pywick/pywick/models/segmentation/lexpsp.py
imports: from .lex_extractors import *
label_desc: Use image node_id 1 to create a new PSPNet object from inherited base classes: nn with example: obj = PSPNet(num_classes, pretrained, backend, sizes, psp_size, deep_features_size)