GEPA.Tracking.ExperimentTracker (GEPA v0.3.0)

Copy Markdown View Source

Dependency-free experiment tracker compatible with the upstream tracker API.

The tracker stores metrics, tables, config, summary, and HTML artifacts in an Agent. It can be used directly as tracker: in GEPA.optimize/1 because it implements the callbacks expected by GEPA.Tracking.

Summary

Types

t()

@type t() :: %GEPA.Tracking.ExperimentTracker{
  agent: pid(),
  attach_existing: boolean(),
  key_prefix: String.t(),
  mlflow_attach_existing: boolean(),
  mlflow_experiment_name: String.t() | nil,
  mlflow_tracking_uri: String.t() | nil,
  use_mlflow: boolean(),
  use_wandb: boolean(),
  wandb_api_key: String.t() | nil,
  wandb_attach_existing: boolean(),
  wandb_init_kwargs: map() | nil,
  wandb_step_metric: String.t() | nil
}

Functions

active?(tracker)

end_run(tracker)

finish(tracker)

initialize(tracker)

is_active(tracker)

log_config(tracker, config)

log_html(tracker, html, key \\ "candidate_tree")

log_metrics(tracker, metrics, opts \\ [])

log_summary(tracker, summary)

log_table(tracker, name, rows, opts \\ [])

new(opts \\ [])

@spec new(keyword() | map()) :: t()

snapshot(experiment_tracker)

@spec snapshot(t()) :: map()

start(tracker)

start_run(tracker)

with_run(tracker, fun)