class_docstr: This class defines the segmentation head in `PSPNet architecture <https://arxiv.org/abs/1612.01105>`_
  Args:
      opts: command-line arguments
      enc_conf (Dict): Encoder input-output configuration at each spatial level
      use_l5_exp (Optional[bool]): Use features from expansion layer in Level5 in the encoder
code: def forward_seg_head(self, enc_out: Dict) -> Tensor:
      # low resolution features
      x = (
          enc_out["out_l5_exp"]
          if self.use_l5_exp
          else enc_out["out_l5"]
      )
  
      # Apply PSP layer
      x = self.psp_layer(x)
  
      out = self.classifier(x)
  
      return out
  
file_path: ml-cvnets/cvnets/models/segmentation/heads/pspnet.py
imports: import argparse
  from typing import Dict, Optional
  from torch import Tensor
  from cvnets.layers import ConvLayer2d
  from cvnets.misc.init_utils import initialize_weights
  from cvnets.models import MODEL_REGISTRY
  from cvnets.models.segmentation.heads.base_seg_head import BaseSegHead
  from cvnets.modules import PSP
label_desc: Use image node_id 4 for calling the PSPNet obj's underlying member method code with example usage: obj.forward_seg_head(enc_out) and returns: out