docstr: Add current model predictions (usually the result of a batch) to the tracking
          
docstr_tok: ["Add","current","model","predictions","(","usually","the","result","of","a","batch",")","to","the","tracking"]
code: def track(
      self,
      model: model_interface.TrackerInterface,
      full_res: bool = False,
      data: Data = None,
      **kwargs,
  ):
      """Add current model predictions (usually the result of a batch) to the tracking"""
      super().track(model)
      self._conv_type = model.conv_type
      outputs = self._convert(model.get_output())
      targets = self._convert(model.get_labels())
      batch_idx = self._convert(model.get_batch())
      if batch_idx is None:
          raise ValueError(
              "Your model need to set the batch_idx variable in its set_input function."
          )
  
      nb_batches = batch_idx.max() + 1
  
      if self._stage != "train" and full_res:
          self._add_votes(data, outputs, batch_idx)
  
      # pred to the groundtruth classes (selected by seg_classes[cat])
      for b in range(nb_batches):
          segl = targets[batch_idx == b]
          cat = self._seg_to_class[segl[0]]
          logits = outputs[
              batch_idx == b, :
          ]  # (num_points, num_classes)
          segp = (
              logits[:, self._class_seg_map[cat]].argmax(1)
              + self._class_seg_map[cat][0]
          )
          part_ious = self._compute_part_ious(segl, segp, cat)
          self._shape_ious[cat].append(np.mean(part_ious))
  
      (
          self._miou_per_class,
          self._Cmiou,
          self._Imiou,
      ) = ShapenetPartTracker._get_metrics_per_class(self._shape_ious)
  
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 3 for calling the ShapenetPartTracker obj's underlying member method code with example usage: obj.track(model, full_res, data) without return types