class_docstr: Atrous Spatial Pyramid Pooling
class_docstr_tok: ["Atrous","Spatial","Pyramid","Pooling"]
code: def __init__(self, in_channels, out_channels, pyramids):
      super(_ASPPModule, self).__init__()
      self.stages = nn.Module()
      for i, (dilation, padding) in enumerate(zip(pyramids, pyramids)):
          self.stages.add_module(
              "c{}".format(i),
              nn.Conv2d(
                  in_channels=in_channels,
                  out_channels=out_channels,
                  kernel_size=3,
                  stride=1,
                  padding=padding,
                  dilation=dilation,
                  bias=True,
              ),
          )
  
      for m in self.stages.children():
          nn.init.normal_(m.weight, mean=0, std=0.01)
          nn.init.constant_(m.bias, 0)
  
file_path: pywick/pywick/models/segmentation/testnets/deeplabv2.py
imports: from collections import OrderedDict
  import torch
  import torch.nn
  import torch.nn.functional
  from .resnet import _ConvBatchNormReLU, _ResBlock
  from .msc import MSC
label_desc: Use image node_id 1 to create a new _ASPPModule object from inherited base classes: nn with example: obj = _ASPPModule(in_channels, out_channels, pyramids)