code: def __init__(
      self,
      in_channels,
      channels=512,
      sizes=(1, 2, 3, 6),
      act_cfg=dict(type="ReLU"),
  ):
      super().__init__()
      self.stages = []
      self.stages = nn.ModuleList(
          [
              self._make_stage(in_channels, channels, size)
              for size in sizes
          ]
      )
      self.bottleneck = nn.Conv2d(
          in_channels + len(sizes) * channels, in_channels, 1
      )
      self.act = MODELS.build(act_cfg)
  
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 1 to create a new PyramidPoolingModule object from inherited base classes: nn with example: obj = PyramidPoolingModule(in_channels, channels, sizes, act_cfg)