docstr: x: B, H*W, C
docstr_tok: ["x",":","B",",","H","*","W",",","C"]
code: def forward(self, x):
      """
      x: B, H*W, C
      """
      H, W = self.input_resolution
      x = self.expand(x)
      B, L, C = paddle.shape(x)[0:3]
      assert L == H * W, "input features has wrong size"
  
      x = x.reshape((B, H, W, C))
      x = x.reshape(
          (
              B,
              H,
              W,
              self.dim_scale,
              self.dim_scale,
              C // (self.dim_scale**2),
          )
      )
      x = x.transpose((0, 1, 3, 2, 4, 5))
      x = x.reshape(
          (
              B,
              H * self.dim_scale,
              W * self.dim_scale,
              C // (self.dim_scale**2),
          )
      )
      x = x.reshape((B, -1, self.output_dim))
      x = self.norm(x)
  
      return x
  
imports: import numpy
  import paddle
  import paddle.nn
  from medicalseg.cvlibs import manager, param_init
  from medicalseg.models.backbones.swin_transformer import SwinTransformerBlock, window_partition
  from medicalseg.utils import load_pretrained_model
label_desc: Use image node_id 2 for calling the FinalPatchExpandX4 obj's underlying member method code with example usage: obj.forward(x) and returns: x