class_docstr: Pyramid Scene Parsing Network
  
  Parameters
  ----------
  nclass : int
      Number of categories for the training dataset.
  backbone : string
      Pre-trained dilated backbone network type (default:'resnet50'; 'resnet50',
      'resnet101' or 'resnet152').
  norm_layer : object
      Normalization layer used in backbone network (default: :class:`mxnet.gluon.nn.BatchNorm`;
      for Synchronized Cross-GPU BachNormalization).
  aux : bool
      Auxiliary loss.
  
  
  Reference:
  
      Zhao, Hengshuang, Jianping Shi, Xiaojuan Qi, Xiaogang Wang, and Jiaya Jia.
      "Pyramid scene parsing network." *CVPR*, 2017
code: def __init__(
      self,
      nclass,
      backbone="resnet50",
      aux=True,
      ctx=cpu(),
      pretrained_base=True,
      base_size=520,
      crop_size=480,
      **kwargs,
  ):
      super(PSPNet, self).__init__(
          nclass,
          aux,
          backbone,
          ctx=ctx,
          base_size=base_size,
          crop_size=crop_size,
          pretrained_base=pretrained_base,
          **kwargs,
      )
      with self.name_scope():
          self.head = _PSPHead(
              nclass,
              feature_map_height=self._up_kwargs["height"] // 8,
              feature_map_width=self._up_kwargs["width"] // 8,
              **kwargs,
          )
          self.head.initialize(ctx=ctx)
          self.head.collect_params().setattr("lr_mult", 10)
          if self.aux:
              self.auxlayer = _FCNHead(1024, nclass, **kwargs)
              self.auxlayer.initialize(ctx=ctx)
              self.auxlayer.collect_params().setattr("lr_mult", 10)
      print("self.crop_size", self.crop_size)
  
imports: from mxnet.gluon import nn
  from mxnet.context import cpu
  from mxnet.gluon.nn import HybridBlock
  from .segbase import SegBaseModel
  from .fcn import _FCNHead
label_desc: Use image node_id 1 to create a new PSPNet object from inherited base classes: SegBaseModel with example: obj = PSPNet(nclass, backbone, aux, ctx, pretrained_base, base_size, crop_size)