code: def forward(self, feats):
      h, w = feats.size(2), feats.size(3)
      priors = [
          F.interpolate(
              input=self.act(stage(feats)),
              size=(h, w),
              mode="bilinear",
              align_corners=False,
          )
          for stage in self.stages
      ] + [feats]
      out = self.act(self.bottleneck(torch.cat(priors, 1)))
      return out
  
file_path: mmdetection/projects/SparseInst/sparseinst/encoder.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from mmengine.model.weight_init import caffe2_xavier_init, kaiming_init
  from mmdet.registry import MODELS
label_desc: Use image node_id 3 for calling the PyramidPoolingModule obj's underlying member method code with example usage: obj.forward(feats) and returns: out