code: def _mpii_keypoint_results_save(self):
      results = []
      for res in self.results:
          if len(res) == 0:
              continue
          result = [
              {
                  "preds": res["preds"][k].tolist(),
                  "boxes": res["boxes"][k].tolist(),
                  "image_path": res["image_path"][k],
              }
              for k in range(len(res))
          ]
          results.extend(result)
      with open(self.res_file, "w") as f:
          json.dump(results, f, sort_keys=True, indent=4)
          logger.info(
              f"The keypoint result is saved to {self.res_file}."
          )
  
imports: import os
  import json
  from collections import defaultdict, OrderedDict
  import numpy
  import paddle
  from pycocotools.coco import COCO
  from pycocotools.cocoeval import COCOeval
  from ..modeling.keypoint_utils import oks_nms, keypoint_pck_accuracy, keypoint_auc, keypoint_epe
  from scipy.io import loadmat, savemat
  from ppdet.utils.logger import setup_logger
label_desc: Use image node_id 5 for calling the KeyPointTopDownMPIIEval obj's underlying member method code with example usage: obj._mpii_keypoint_results_save() without return types