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 experimentRun: A single training run with parameters, metrics, and artifactsTrackingBackend: 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§
- Experiment
Tracker - Experiment tracker
- Run
- A single experiment run
Enums§
- RunStatus
- Status of a tracking run
- Tracking
Error - Errors from experiment tracking operations
Type Aliases§
- Result
- Result alias for tracking operations