Skip to main content

Module tracking

Module tracking 

Source
Expand description

Experiment Tracking Module (GH-31)

Provides high-level experiment tracking with parameter logging, metric recording, and artifact management. Backed by pluggable storage via the TrackingBackend trait.

§Architecture

  • ExperimentTracker: Top-level handle that manages runs for a named experiment
  • Run: A single training run with parameters, metrics, and artifacts
  • TrackingBackend: Pluggable persistence (JSON files, in-memory)

§Example

use entrenar::tracking::{ExperimentTracker, RunStatus};
use entrenar::tracking::storage::InMemoryBackend;

let backend = InMemoryBackend::new();
let mut tracker = ExperimentTracker::new("my-experiment", backend);
tracker.add_tag("team", "ml-infra");

let run_id = tracker.start_run(Some("baseline-v1"))?;
tracker.log_param(&run_id, "lr", "0.001")?;
tracker.log_metric(&run_id, "loss", 0.5, 1)?;
tracker.log_metric(&run_id, "loss", 0.3, 2)?;
tracker.log_artifact(&run_id, "model.safetensors")?;
tracker.end_run(&run_id, RunStatus::Completed)?;

let run = tracker.get_run(&run_id)?;
assert_eq!(run.params.get("lr").unwrap_or(&String::new()), "0.001");

let all = tracker.list_runs()?;
assert_eq!(all.len(), 1);

Modules§

storage
Tracking storage backends

Structs§

ExperimentTracker
Experiment tracker
Run
A single experiment run

Enums§

RunStatus
Status of a tracking run
TrackingError
Errors from experiment tracking operations

Type Aliases§

Result
Result alias for tracking operations