code: def forward(self, x):
      x = self.forward_features(x)
      if self.use_lenhead:
          len_x = self.len_conv(x.mean(1))
          len_x = self.dropout_len(self.hardswish_len(len_x))
      if self.last_stage:
          if self.patch_merging is not None:
              h = self.HW[0] // 4
          else:
              h = self.HW[0]
          x = self.avg_pool(
              x.transpose([0, 2, 1]).reshape(
                  [0, self.embed_dim[2], h, self.HW[1]]
              )
          )
          x = self.last_conv(x)
          x = self.hardswish(x)
          x = self.dropout(x)
      if self.use_lenhead:
          return x, len_x
      return x
  
imports: from paddle import ParamAttr
  from paddle.nn.initializer import KaimingNormal
  import numpy
  import paddle
  import paddle.nn
  from paddle.nn.initializer import TruncatedNormal, Constant, Normal
label_desc: Use image node_id 4 for calling the SVTRNet obj's underlying member method code with example usage: obj.forward(x) and returns: x, x,  len_x