code: def reset(self, stage="train"):
      super().reset(stage=stage)
      self._shape_ious = {cat: [] for cat in self._class_seg_map.keys()}
      self._Cmiou = 0
      self._Imiou = 0
      self._miou_per_class = {}
      self._full_res_scans = {
          cat: {} for cat in self._class_seg_map.keys()
      }
      self._full_shape_ious = {
          cat: [] for cat in self._class_seg_map.keys()
      }
      self._full_miou_per_class = None
      self._full_Cmiou = None
      self._full_Imiou = None
      self._full_res = False
  
file_path: torch-points3d/torch_points3d/metrics/shapenet_part_tracker.py
imports: import numpy
  from .confusion_matrix import ConfusionMatrix
  from .base_tracker import meter_value, BaseTracker
  from torch_geometric.data import Data
  from torch_points3d.models import model_interface
  from torch_points3d.core.data_transform import SaveOriginalPosId
  from torch_points3d.metrics.segmentation_helpers import SegmentationVoter
label_desc: Use image node_id 2 for calling the ShapenetPartTracker obj's underlying member method code with example usage: obj.reset(stage) without return types