class_docstr: Simple Context module.
  
  Args:
      in_channels (int): The number of input channels to pyramid pooling module.
      inter_channels (int): The number of inter channels to pyramid pooling module.
      out_channels (int): The number of output channels after pyramid pooling module.
      bin_sizes (tuple, optional): The out size of pooled feature maps. Default: (1, 3).
      align_corners (bool): An argument of F.interpolate. It should be set to False
          when the output size of feature is even, e.g. 1024x512, otherwise it is True, e.g. 769x769.
code: def __init__(
      self,
      in_channels,
      inter_channels,
      out_channels,
      bin_sizes,
      align_corners=False,
  ):
      super().__init__()
  
      self.stages = nn.LayerList(
          [
              self._make_stage(in_channels, inter_channels, size)
              for size in bin_sizes
          ]
      )
  
      self.conv_out = layers.ConvBNReLU(
          in_channels=inter_channels,
          out_channels=out_channels,
          kernel_size=3,
          padding=1,
      )
  
      self.align_corners = align_corners
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg import utils
  from paddleseg.models import layers
  from paddleseg.cvlibs import manager
  from paddleseg.utils import utils
label_desc: Use image node_id 1 to create a new PPContextModule object from inherited base classes: nn with example: obj = PPContextModule(in_channels, inter_channels, out_channels, bin_sizes, align_corners)