code: def forward(self, x):
      def _inner_forward(x):
          c1 = self.stem(x)
          c2 = self.conv2(c1)
          c3 = self.conv3(c2)
          c4 = self.conv4(c3)
          c1 = self.fc1(c1)
          c2 = self.fc2(c2)
          c3 = self.fc3(c3)
          c4 = self.fc4(c4)
  
          bs, dim, _, _ = c1.shape
          # c1 = c1.view(bs, dim, -1).transpose(1, 2)  # 4s
          c2 = c2.view(bs, dim, -1).transpose(1, 2)  # 8s
          c3 = c3.view(bs, dim, -1).transpose(1, 2)  # 16s
          c4 = c4.view(bs, dim, -1).transpose(1, 2)  # 32s
  
          return c1, c2, c3, c4
  
      if self.with_cp and x.requires_grad:
          outs = cp.checkpoint(_inner_forward, x)
      else:
          outs = _inner_forward(x)
      return outs
  
imports: from functools import partial
  import torch
  import torch.nn
  import torch.utils.checkpoint
  from ...ops.modules import MSDeformAttn
  from .drop_path import DropPath
label_desc: Use image node_id 2 for calling the SpatialPriorModule obj's underlying member method code with example usage: obj.forward(x) and returns: outs, c1,  c2,  c3,  c4