code: def update(self, sample_dict, pp_out_dict):
      pred = pp_out_dict["sem_pred"].squeeze().numpy().astype(np.int64)
      gt = sample_dict["sem_label"].squeeze().numpy().astype(np.int64)
      gt[gt == self.ignore_index] = self.num_classes
  
      # row: pred, column: gt
      self.conf_matrix += np.bincount(
          self._N * pred.reshape(-1) + gt.reshape(-1),
          minlength=self._N**2,
      ).reshape(self._N, self._N)
  
file_path: PaddleSeg/contrib/PanopticSeg/paddlepanseg/utils/evaluation/sem_seg_evaluator.py
imports: import numpy
  from paddlepanseg.cvlibs import build_info_dict
  from .evaluator import Evaluator
label_desc: Use image node_id 2 for calling the SemSegEvaluator obj's underlying member method code with example usage: obj.update(sample_dict, pp_out_dict) without return types