class_docstr: PSANet
  Parameters
  ----------
  :param num_classes : int
      Number of categories for the training dataset.
  :param backbone : string
      Pre-trained dilated backbone network type (default:'resnet50'; 'resnet50',
      'resnet101' or 'resnet152').
  :param norm_layer : object
      Normalization layer used in backbone network (default: :class:`nn.BatchNorm`;
      for Synchronized Cross-GPU BachNormalization).
  :param aux : (bool, default=False)  Whether to use auxiliary loss.
class_docstr_tok: ["PSANet","Parameters","--","--","--","--","--",":","param","num_classes",":","int","Number","of","categories","for","the","training","dataset",".",":","param","backbone",":","string","Pre-trained","dilated","backbone","network","type","(","default",":","'resnet50","'",";","'resnet50","'",",","'resnet101","'","or","'resnet152","'",")",".",":","param","norm_layer",":","object","Normalization","layer","used","in","backbone","network","(","default",":",":","class",":","`","nn.BatchNorm","`",";","for","Synchronized","Cross-GPU","BachNormalization",")",".",":","param","aux",":","(","bool",",","default=False",")","Whether","to","use","auxiliary","loss","."]
code: def forward(self, x):
      size = x.size()[2:]
      _, _, c3, c4 = self.base_forward(x)
      outputs = []
      x = self.head(c4)
      x = F.interpolate(x, size, mode="bilinear", align_corners=True)
      outputs.append(x)
  
      if self.aux and self.training:
          auxout = self.auxlayer(c3)
          auxout = F.interpolate(
              auxout, size, mode="bilinear", align_corners=True
          )
          outputs.append(auxout)
          return tuple(outputs)
      else:
          return outputs[0]
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from pywick.models.segmentation.da_basenets.basic import _ConvBNReLU
  from pywick.models.segmentation.da_basenets.segbase import SegBaseModel
  from pywick.models.segmentation.da_basenets.fcn import _FCNHead
label_desc: Use image node_id 2 for calling the PSANet obj's underlying member method code with example usage: obj.forward(x) and returns: tuple, outputs