class_docstr: The DNLNet head.
  
  Args:
      num_classes (int): The unique number of target classes.
      in_channels (tuple): The number of input channels.
      reduction (int): Reduction factor of projection transform. Default: 2.
      use_scale (bool): Whether to scale pairwise_weight by
          sqrt(1/inter_channels). Default: False.
      mode (str): The nonlocal mode. Options are 'embedded_gaussian',
          'dot_product'. Default: 'embedded_gaussian.'.
      temperature (float): Temperature to adjust attention. Default: 0.05
      concat_input (bool): Whether concat the input and output of convs before classification layer. Default: True
      enable_auxiliary_loss (bool, optional): A bool value indicates whether adding auxiliary loss. Default: True.
class_docstr_tok: ["The","DNLNet","head",".","Args",":","num_classes","(","int",")",":","The","unique","number","of","target","classes",".","in_channels","(","tuple",")",":","The","number","of","input","channels",".","reduction","(","int",")",":","Reduction","factor","of","projection","transform",".","Default",":","2.","use_scale","(","bool",")",":","Whether","to","scale","pairwise_weight","by","sqrt","(","1\/inter_channels",")",".","Default",":","False",".","mode","(","str",")",":","The","nonlocal","mode",".","Options","are","'embedded_gaussian","'",",","'dot_product","'",".","Default",":","'embedded_gaussian.","'",".","temperature","(","float",")",":","Temperature","to","adjust","attention",".","Default",":","0.05","concat_input","(","bool",")",":","Whether","concat","the","input","and","output","of","convs","before","classification","layer",".","Default",":","True","enable_auxiliary_loss","(","bool",",","optional",")",":","A","bool","value","indicates","whether","adding","auxiliary","loss",".","Default",":","True","."]
code: def forward(self, feat_list):
      C3, C4 = feat_list
      output = self.conv0(C4)
      output = self.dnl_block(output)
      output = self.conv1(output)
      if self.concat_input:
          output = self.conv_cat(paddle.concat([C4, output], axis=1))
      output = self.cls(output)
      if self.enable_auxiliary_loss:
          auxout = self.aux(C3)
          return [output, auxout]
      else:
          return [output]
  
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 DNLHead obj's underlying member method code with example usage: obj.forward(feat_list) and returns: list, list