class_docstr: The ViT-Adapter
      
code: def _get_pos_embed(self, pos_embed, H, W):
      pos_embed = pos_embed.reshape(
          [
              1,
              self.pretrain_size[0] // 16,
              self.pretrain_size[1] // 16,
              -1,
          ]
      ).transpose([0, 3, 1, 2])
      pos_embed = (
          F.interpolate(
              pos_embed,
              size=(H, W),
              mode="bicubic",
              align_corners=False,
          )
          .reshape([1, -1, H * W])
          .transpose([0, 2, 1])
      )
      return pos_embed
  
imports: import math
  from functools import partial
  import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.cvlibs import manager
  from paddleseg.utils import utils, logger
  from paddleseg.cvlibs.param_init import normal_init, trunc_normal_init, constant_init
  from paddleseg.models.backbones.transformer_utils import to_2tuple, DropPath
  from paddleseg.models.layers.vit_adapter_layers import SpatialPriorModule, InteractionBlock, deform_inputs
  from paddleseg.models.layers.ms_deformable_attention import MSDeformAttn
label_desc: Use image node_id 3 for calling the ViTAdapter obj's underlying member method code with example usage: obj._get_pos_embed(pos_embed, H, W) and returns: pos_embed