code: def lraspp_mobilenetv3_large(num_classes=21, pretrain_backbone=False):
      # 'mobilenetv3_large_imagenet': 'https://download.pytorch.org/models/mobilenet_v3_large-8738ca79.pth'
      # 'lraspp_mobilenet_v3_large_coco': 'https://download.pytorch.org/models/lraspp_mobilenet_v3_large-d234d4ea.pth'
      backbone = mobilenet_v3_large(dilated=True)
  
      if pretrain_backbone:
          # 载入mobilenetv3 large backbone预训练权重
          backbone.load_state_dict(
              torch.load("mobilenet_v3_large.pth", map_location="cpu")
          )
  
      backbone = backbone.features
  
      # Gather the indices of blocks which are strided. These are the locations of C1, ..., Cn-1 blocks.
      # The first and last blocks are always included because they are the C0 (conv1) and Cn.
      stage_indices = (
          [0]
          + [
              i
              for i, b in enumerate(backbone)
              if getattr(b, "is_strided", False)
          ]
          + [len(backbone) - 1]
      )
      low_pos = stage_indices[
          -4
      ]  # use C2 here which has output_stride = 8
      high_pos = stage_indices[
          -1
      ]  # use C5 which has output_stride = 16
      low_channels = backbone[low_pos].out_channels
      high_channels = backbone[high_pos].out_channels
  
      return_layers = {str(low_pos): "low", str(high_pos): "high"}
      backbone = IntermediateLayerGetter(
          backbone, return_layers=return_layers
      )
  
      model = LRASPP(backbone, low_channels, high_channels, num_classes)
      return model
  
file_path: deep-learning-for-image-processing/pytorch_segmentation/lraspp/src/lraspp_model.py
imports: from collections import OrderedDict
  from typing import Dict
  import torch
  from torch import nn, Tensor
  from torch.nn import functional
  from .mobilenet_backbone import mobilenet_v3_large
label_desc: Use image node_id 1 for calling a global function with example usage: lraspp_mobilenetv3_large(num_classes, pretrain_backbone) and returns: model