class_docstr: The tracker may be used to obtain the performance metrics from a set of
  evaluations.
docstr: Args:
      jobs: The jobs that the tracker is used for, either obtained from local storage or from
          AWS Sagemaker.
      validation_metric: The metric that should be used to choose models from different
          checkpoints. If set to `None`, models are not loaded from checkpoints but models
          are taken from predefined intervals.
      group_seeds: Whether the same configuration with differing seeds should be grouped.
docstr_tok: ["Args",":","jobs",":","The","jobs","that","the","tracker","is","used","for",",","either","obtained","from","local","storage","or","from","AWS","Sagemaker",".","validation_metric",":","The","metric","that","should","be","used","to","choose","models","from","different","checkpoints",".","If","set","to","`","None","`",",","models","are","not","loaded","from","checkpoints","but","models","are","taken","from","predefined","intervals",".","group_seeds",":","Whether","the","same","configuration","with","differing","seeds","should","be","grouped","."]
code: def __init__(
      self,
      jobs: list[Job],
      validation_metric: ValidationMetric | None = "val_ncrps",
      group_seeds: bool = True,
      data_path: Path = DEFAULT_DATA_PATH,
  ):
      """
      Args:
          jobs: The jobs that the tracker is used for, either obtained from local storage or from
              AWS Sagemaker.
          validation_metric: The metric that should be used to choose models from different
              checkpoints. If set to `None`, models are not loaded from checkpoints but models
              are taken from predefined intervals.
          group_seeds: Whether the same configuration with differing seeds should be grouped.
      """
      self.infos = extract_job_infos(
          jobs,
          validation_metric=validation_metric,
          group_seeds=group_seeds,
          data_path=data_path,
      )
      self.config_map = {info.config: info for info in self.infos}
  
imports: from __future__ import annotations
  import pickle
  from pathlib import Path
  from typing import Any, List, Optional
  from tsbench.config import Config, ModelConfig
  from tsbench.constants import DEFAULT_DATA_PATH
  from tsbench.evaluations import aws
  from tsbench.evaluations.metrics import Performance
  from tsbench.forecasts.quantile import QuantileForecasts
  from ._base import Tracker
  from ._evaluations import Evaluations
  from ._info import extract_job_infos, ValidationMetric, ValidationScores
  from .job import Job, load_jobs_from_analysis, load_jobs_from_directory
label_desc: Use image node_id 3 to create a new ModelTracker object from inherited base classes: Tracker with example: obj = ModelTracker(jobs, validation_metric, group_seeds, data_path)