docstr: This is a generic tracker for segmentation tasks.
  It uses a confusion matrix in the back-end to track results.
  Use the tracker to track an epoch.
  You can use the reset function before you start a new epoch
  
  Arguments:
      dataset  -- dataset to track (used for the number of classes)
  
  Keyword Arguments:
      stage {str} -- current stage. (train, validation, test, etc...) (default: {"train"})
      wandb_log {str} --  Log using weight and biases
docstr_tok: ["This","is","a","generic","tracker","for","segmentation","tasks",".","It","uses","a","confusion","matrix","in","the","back-end","to","track","results",".","Use","the","tracker","to","track","an","epoch",".","You","can","use","the","reset","function","before","you","start","a","new","epoch","Arguments",":","dataset","--","dataset","to","track","(","used","for","the","number","of","classes",")","Keyword","Arguments",":","stage","{","str","}","--","current","stage",".","(","train",",","validation",",","test",",","etc","...",")","(","default",":","{","``","train","''","}",")","wandb_log","{","str","}","--","Log","using","weight","and","biases"]
code: def __init__(
      self,
      dataset,
      stage="train",
      wandb_log=False,
      use_tensorboard: bool = False,
      ignore_label: int = IGNORE_LABEL,
  ):
      """This is a generic tracker for segmentation tasks.
      It uses a confusion matrix in the back-end to track results.
      Use the tracker to track an epoch.
      You can use the reset function before you start a new epoch
  
      Arguments:
          dataset  -- dataset to track (used for the number of classes)
  
      Keyword Arguments:
          stage {str} -- current stage. (train, validation, test, etc...) (default: {"train"})
          wandb_log {str} --  Log using weight and biases
      """
      super(SegmentationTracker, self).__init__(
          stage, wandb_log, use_tensorboard
      )
      self._num_classes = dataset.num_classes
      self._ignore_label = ignore_label
      self._dataset = dataset
      self.reset(stage)
      self._metric_func = {
          "miou": max,
          "macc": max,
          "acc": max,
          "loss": min,
          "map": max,
      }
  
file_path: torch-points3d/torch_points3d/metrics/segmentation_tracker.py
imports: from typing import Dict, Any
  import torch
  import wandb
  import numpy
  from torch_points3d.metrics.confusion_matrix import ConfusionMatrix
  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.models import model_interface
label_desc: Use image node_id 1 to create a new SegmentationTracker object from inherited base classes: BaseTracker with example: obj = SegmentationTracker(dataset, stage, wandb_log, use_tensorboard, ignore_label)