code: def reset(self, stage="train"):
      super().reset(stage=stage)
      self._pred_boxes: Dict[str, List[BoxData]] = {}
      self._gt_boxes: Dict[str, List[BoxData]] = {}
      self._rec: Dict[str, Dict[str, float]] = {}
      self._ap: Dict[str, Dict[str, float]] = {}
      self._neg_ratio = tnt.meter.AverageValueMeter()
      self._obj_acc = tnt.meter.AverageValueMeter()
      self._pos_ratio = tnt.meter.AverageValueMeter()
  
imports: from typing import Dict, List, Any
  import torchnet
  import torch
  from collections import OrderedDict
  from torch_points3d.models.model_interface import TrackerInterface
  from torch_points3d.metrics.base_tracker import BaseTracker, meter_value
  from torch_points3d.metrics.meters import APMeter
  from torch_points3d.datasets.segmentation import IGNORE_LABEL
  from torch_points3d.modules.VoteNet import VoteNetResults
  from torch_points3d.datasets.object_detection.box_data import BoxData
  from .box_detection.ap import eval_detection
label_desc: Use image node_id 2 for calling the ObjectDetectionTracker obj's underlying member method code with example usage: obj.reset(stage) without return types