class_docstr: Implements DeepLabV3 model from `"Rethinking Atrous Convolution for Semantic Image Segmentation"
  <https://arxiv.org/abs/1706.05587>`_.
  
  Partially copy-pasted from https://github.com/pytorch/vision/blob/master/torchvision/models/segmentation/deeplabv3.py
class_docstr_tok: ["Implements","DeepLabV3","model","from","`","``","Rethinking","Atrous","Convolution","for","Semantic","Image","Segmentation","''","<","https",":","\/\/arxiv.org\/abs\/1706.05587",">","`","_",".","Partially","copy-pasted","from","https",":","\/\/github.com\/pytorch\/vision\/blob\/master\/torchvision\/models\/segmentation\/deeplabv3.py"]
docstr: Args:
      feature_maps: List of input channels
      aspp_channels:
      out_channels: Output channels
      atrous_rates:
      dropout:
      activation:
docstr_tok: ["Args",":","feature_maps",":","List","of","input","channels","aspp_channels",":","out_channels",":","Output","channels","atrous_rates",":","dropout",":","activation",":"]
code: def __init__(
      self,
      input_spec: FeatureMapsSpecification,
      out_channels: int,
      aspp_channels: int,
      atrous_rates=(12, 24, 36),
      dropout: float = 0.5,
      activation=ACT_RELU,
  ):
      """
  
      Args:
          feature_maps: List of input channels
          aspp_channels:
          out_channels: Output channels
          atrous_rates:
          dropout:
          activation:
      """
      super().__init__(input_spec)
      self.aspp = ASPP(
          in_channels=input_spec.channels[-1],
          out_channels=aspp_channels,
          aspp_module=ASPPModule,
          atrous_rates=atrous_rates,
          dropout=dropout,
          activation=activation,
      )
      self.final = nn.Sequential(
          nn.Conv2d(
              aspp_channels, aspp_channels, 3, padding=1, bias=False
          ),
          nn.BatchNorm2d(aspp_channels),
          instantiate_activation_block(activation, inplace=True),
          nn.Conv2d(aspp_channels, out_channels, kernel_size=1),
      )
  
      self.output_spec = FeatureMapsSpecification(
          channels=[out_channels], strides=[input_spec.strides[-1]]
      )
  
file_path: pytorch-toolbelt/pytorch_toolbelt/modules/decoders/deeplab_v3.py
imports: from typing import List
  import torch
  from torch import nn, Tensor
  from ..activations import instantiate_activation_block, ACT_RELU
  from ..interfaces import AbstractDecoder, FeatureMapsSpecification
  from ..spp import ASPPModule, ASPP
label_desc: Use image node_id 1 to create a new DeeplabV3Decoder object from inherited base classes: AbstractDecoder with example: obj = DeeplabV3Decoder(input_spec, out_channels, aspp_channels, atrous_rates, dropout, activation)