code: def __init__(
      self,
      pyramid_channels=256,
      deeplab_ch=256,
      backbone="resnet34",
      backbone_lr_mult=0.1,
  ):
      super(DeepLabBB, self).__init__()
      self.pyramid_on = pyramid_channels > 0
      if self.pyramid_on:
          self.output_channels = [pyramid_channels] * 4
      else:
          self.output_channels = [deeplab_ch]
  
      self.deeplab = DeepLabV3Plus(
          backbone=backbone,
          ch=deeplab_ch,
          project_dropout=0.2,
          norm_layer=nn.BatchNorm2d,
          backbone_norm_layer=nn.BatchNorm2d,
      )
      self.deeplab.backbone.apply(LRMult(backbone_lr_mult))
  
      if self.pyramid_on:
          self.downsize = MaxPoolDownSize(
              deeplab_ch, pyramid_channels, pyramid_channels, 4
          )
  
file_path: carefree-learn/cflearn/api/cv/third_party/iharm/model/backboned/deeplab.py
imports: import torch.nn
  from .ih_model import IHModelWithBackbone
  from ..modifiers import LRMult
  from ..modeling.deeplab_v3 import DeepLabV3Plus
  from ..modeling.basic_blocks import MaxPoolDownSize
label_desc: Use image node_id 1 to create a new DeepLabBB object from inherited base classes: nn with example: obj = DeepLabBB(pyramid_channels, deeplab_ch, backbone, backbone_lr_mult)