code: def process(
      self, data_batch: dict, data_samples: Sequence[dict]
  ) -> None:
      for data_sample in data_samples:
          result = dict()
          pred = data_sample["pred_instances"]
          result["img_id"] = data_sample["img_id"]
          result["bboxes"] = pred["bboxes"].cpu()
          result["scores"] = pred["scores"].cpu()
          self.results.append(result)
  
file_path: mmdetection/mmdet/evaluation/metrics/grefcoco_metric.py
imports: from typing import Dict, Optional, Sequence
  import numpy
  import torch
  from mmengine.evaluator import BaseMetric
  from mmengine.fileio import get_local_path
  from mmengine.logging import MMLogger
  from mmdet.datasets.api_wrappers import COCO
  from mmdet.registry import METRICS
  from ..functional import bbox_overlaps
label_desc: Use image node_id 2 for calling the gRefCOCOMetric obj's underlying member method code with example usage: obj.process(data_batch, data_samples) without return types