class_docstr: The STDCNet implementation based on PaddlePaddle.
  
  The original article refers to Meituan
  Fan, Mingyuan, et al. "Rethinking BiSeNet For Real-time Semantic Segmentation."
  (https://arxiv.org/abs/2104.13188)
  
  Args:
      base(int, optional): base channels. Default: 64.
      layers(list, optional): layers numbers list. It determines STDC block numbers of STDCNet's stage3. Defualt: [4, 5, 3].
      block_num(int,optional): block_num of features block. Default: 4.
      type(str,optional): feature fusion method "cat"/"add". Default: "cat".
      num_classes(int, optional): class number for image classification. Default: 1000.
      dropout(float,optional): dropout ratio. if >0,use dropout ratio.  Default: 0.20.
      use_conv_last(bool,optional): whether to use the last ConvBNReLU layer . Default: False.
      pretrained(str, optional): the path of pretrained model.
docstr: forward function for feature extract.
docstr_tok: ["forward","function","for","feature","extract","."]
code: def forward(self, x: paddle.Tensor) -> paddle.Tensor:
      """
      forward function for feature extract.
      """
      feat2 = self.x2(x)
      feat4 = self.x4(feat2)
      feat8 = self.x8(feat4)
      feat16 = self.x16(feat8)
      feat32 = self.x32(feat16)
      if self.use_conv_last:
          feat32 = self.conv_last(feat32)
      return feat2, feat4, feat8, feat16, feat32
  
imports: import math
  import paddle
  import paddle.nn
  import stdc1_seg_voc.layers
label_desc: Use image node_id 2 for calling the STDCNet obj's underlying member method code with example usage: obj.forward(x) and returns: feat2,  feat4,  feat8,  feat16,  feat32