Simple Tracker

Overview

The SimpleTracker class, inheriting from BaseTracker, is designed to be the simplest model tracker possible, requiring only the specification a dataset name and input names.

SimpleTracker

Bases: BaseTracker

Tracker object for generic models. Requires a dataset name and model inputs

Source code in sientia_tracker/simple_tracker.py
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class SimpleTracker(BaseTracker):
    """
    Tracker object for generic models. Requires a dataset name and model inputs
    """
    def __init__(self, tracking_uri, username: str = None, password: str = None):
        super().__init__(tracking_uri, username, password)

    def save_experiment(self, dataset_name: str = "data", inputs: str | List[str] = "inputs") -> mlflow.ActiveRun:
        """
        Start a run in MLflow.

        Parameters:
            dataset_name: Name of the dataset
            inputs: Name of the model inputs

        Returns:
            active_run: Active run in MLflow

        """

        mlflow.end_run()
        print("Saving experiment", self.project_name)
        runs = mlflow.search_runs(experiment_names=[
            self.project_name], order_by=["start_time desc"])
        next_run_number = len(runs) + 1
        active_run = mlflow.start_run(run_name=f"{self.project_name}-{next_run_number}")
        mlflow.log_params({
            "Dataset": dataset_name,
            "Inputs": inputs,
            })
        return active_run

save_experiment(dataset_name='data', inputs='inputs')

Start a run in MLflow.

Parameters:
  • dataset_name (str, default: 'data' ) –

    Name of the dataset

  • inputs (str | List[str], default: 'inputs' ) –

    Name of the model inputs

Returns:
  • active_run( ActiveRun ) –

    Active run in MLflow

Source code in sientia_tracker/simple_tracker.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
def save_experiment(self, dataset_name: str = "data", inputs: str | List[str] = "inputs") -> mlflow.ActiveRun:
    """
    Start a run in MLflow.

    Parameters:
        dataset_name: Name of the dataset
        inputs: Name of the model inputs

    Returns:
        active_run: Active run in MLflow

    """

    mlflow.end_run()
    print("Saving experiment", self.project_name)
    runs = mlflow.search_runs(experiment_names=[
        self.project_name], order_by=["start_time desc"])
    next_run_number = len(runs) + 1
    active_run = mlflow.start_run(run_name=f"{self.project_name}-{next_run_number}")
    mlflow.log_params({
        "Dataset": dataset_name,
        "Inputs": inputs,
        })
    return active_run