code: def __init__(
      self,
      num_classes,
      in_channels,
      use_dw=False,
      dropout_ratio=0.1,
      align_corners=False,
  ):
      super().__init__()
      self.align_corners = align_corners
      self.last_channels = in_channels
  
      self.linear_fuse = ConvBNAct(
          in_channels=self.last_channels,
          out_channels=self.last_channels,
          kernel_size=1,
          stride=1,
          groups=self.last_channels if use_dw else 1,
          act=nn.ReLU,
      )
      self.dropout = nn.Dropout2D(dropout_ratio)
      self.conv_seg = nn.Conv2D(
          self.last_channels, num_classes, kernel_size=1
      )
  
file_path: PaddleSeg/paddleseg/models/pp_mobileseg.py
imports: import warnings
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.cvlibs import manager
  from paddleseg.models import layers
  from paddleseg.utils import utils
  from paddleseg.models.backbones.strideformer import ConvBNAct
label_desc: Use image node_id 1 to create a new PPMobileSegHead object from inherited base classes: nn with example: obj = PPMobileSegHead(num_classes, in_channels, use_dw, dropout_ratio, align_corners)