code: def postprocess_per_class(
      params, cls_outputs, box_outputs, image_scales=None
  ):
      """Post processing with per class NMS.
  
      An accurate but relatively slow version of NMS. The idea is to perform NMS for
      each class, and then combine them.
  
      Args:
        params: a dict of parameters.
        cls_outputs: a list of tensors for classes, each tensor denotes a level of
          logits with shape [N, H, W, num_class * num_anchors].
        box_outputs: a list of tensors for boxes, each tensor ddenotes a level of
          boxes with shape [N, H, W, 4 * num_anchors]. Each box format is [y_min,
          x_min, y_max, x_man].
        image_scales: scaling factor or the final image and bounding boxes.
  
      Returns:
        A tuple of batch level (boxes, scores, classess, valid_len) after nms.
      """
      cls_outputs = to_list(cls_outputs)
      box_outputs = to_list(box_outputs)
      boxes, scores, classes = pre_nms(params, cls_outputs, box_outputs)
      return per_class_nms(params, boxes, scores, classes, image_scales)
  
file_path: DALI/docs/examples/use_cases/tensorflow/efficientdet/model/utils/postprocess.py
imports: from typing import List, Tuple
  from absl import logging
  import tensorflow
  from pipeline import anchors
label_desc: Use image node_id 8 for calling a global function with example usage: postprocess_per_class(params, cls_outputs, box_outputs, image_scales) and returns: per_class_nms