class_docstr: The SFNetHead implementation.
  
  Args:
      inplane (int): Input channels of PPM module.
      num_class (int): The unique number of target classes.
      fpn_inplanes (list): The feature channels from backbone.
      fpn_dim (int, optional): The input channels of FAM module. Default: 256.
      enable_auxiliary_loss (bool, optional): A bool value indicates whether adding auxiliary loss. Default: False.
class_docstr_tok: ["The","SFNetHead","implementation",".","Args",":","inplane","(","int",")",":","Input","channels","of","PPM","module",".","num_class","(","int",")",":","The","unique","number","of","target","classes",".","fpn_inplanes","(","list",")",":","The","feature","channels","from","backbone",".","fpn_dim","(","int",",","optional",")",":","The","input","channels","of","FAM","module",".","Default",":","256.","enable_auxiliary_loss","(","bool",",","optional",")",":","A","bool","value","indicates","whether","adding","auxiliary","loss",".","Default",":","False","."]
code: def forward(self, conv_out):
      psp_out = self.ppm(conv_out[-1])
      f = psp_out
      fpn_feature_list = [psp_out]
      out = []
      for i in reversed(range(len(conv_out) - 1)):
          conv_x = conv_out[i]
          conv_x = self.fpn_in[i](conv_x)
          f = self.fpn_out_align[i]([conv_x, f])
          f = conv_x + f
          fpn_feature_list.append(self.fpn_out[i](f))
          if self.enable_auxiliary_loss:
              out.append(self.dsn[i](f))
  
      fpn_feature_list.reverse()
      output_size = paddle.shape(fpn_feature_list[0])[2:]
      fusion_list = [fpn_feature_list[0]]
  
      for i in range(1, len(fpn_feature_list)):
          fusion_list.append(
              F.interpolate(
                  fpn_feature_list[i],
                  output_size,
                  mode="bilinear",
                  align_corners=True,
              )
          )
      fusion_out = paddle.concat(fusion_list, 1)
      x = self.conv_last(fusion_out)
      if self.enable_auxiliary_loss:
          out.append(x)
          return out
      else:
          return [x]
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.models import layers
  from paddleseg.cvlibs import manager
  from paddleseg.utils import utils
label_desc: Use image node_id 2 for calling the SFNetHead obj's underlying member method code with example usage: obj.forward(conv_out) and returns: out, list