class_docstr: Atrous Spatial Pyramid Pooling (ASPP) Module.
  
  Args:
      dilations (tuple[int]): Dilation rate of each layer.
      in_channels (int): Input channels.
      channels (int): Channels after modules, before conv_seg.
      conv_cfg (dict|None): Config of conv layers.
      norm_cfg (dict|None): Config of norm layers.
      act_cfg (dict): Config of activation layers.
code: def __init__(
      self,
      dilations,
      in_channels,
      channels,
      conv_cfg,
      norm_cfg,
      act_cfg,
  ):
      super(ASPPModule, self).__init__()
      self.dilations = dilations
      self.in_channels = in_channels
      self.channels = channels
      self.conv_cfg = conv_cfg
      self.norm_cfg = norm_cfg
      self.act_cfg = act_cfg
      for dilation in dilations:
          self.append(
              ConvModule(
                  self.in_channels,
                  self.channels,
                  1 if dilation == 1 else 3,
                  dilation=dilation,
                  padding=0 if dilation == 1 else dilation,
                  conv_cfg=self.conv_cfg,
                  norm_cfg=self.norm_cfg,
                  act_cfg=self.act_cfg,
              )
          )
  
file_path: lavis/lavis/common/annotator/uniformer/mmseg/models/decode_heads/aspp_head.py
imports: import torch
  import torch.nn
  from annotator.uniformer.mmcv.cnn import ConvModule
  from annotator.uniformer.mmseg.ops import resize
  from ..builder import HEADS
  from .decode_head import BaseDecodeHead
label_desc: Use image node_id 1 to create a new ASPPModule object from inherited base classes: nn with example: obj = ASPPModule(dilations, in_channels, channels, conv_cfg, norm_cfg, act_cfg)