Tracking¶
- class endgame.tracking.ExperimentLogger[source]¶
Bases:
ABCAbstract base for experiment logging backends.
All loggers implement this interface, enabling consistent tracking across MLflow, console, or custom backends.
Supports context manager usage:
with MyLogger() as logger: logger.log_params({"lr": 0.01}) logger.log_metrics({"acc": 0.95})
- abstractmethod log_artifact(local_path, artifact_path=None)[source]¶
Log a local file as an artifact.
- class endgame.tracking.ConsoleLogger(log_file=None, verbose=True)[source]¶
Bases:
ExperimentLoggerSimple console/file logger with no external dependencies.
Prints experiment tracking information to the console and optionally writes a JSON log file. Useful for lightweight tracking without MLflow.
- Parameters:
Examples
>>> logger = ConsoleLogger() >>> with logger: ... logger.log_params({"lr": 0.01, "epochs": 10}) ... logger.log_metrics({"accuracy": 0.95})
With file logging:
>>> logger = ConsoleLogger(log_file="experiment_log.json") >>> logger.start_run("my_experiment") >>> logger.log_metrics({"f1": 0.92}) >>> logger.end_run()
- endgame.tracking.get_logger(backend='console', **kwargs)[source]¶
Factory function to get a logger instance.
- Parameters:
backend (str, default="console") – Logging backend: “console”, “mlflow”.
**kwargs – Arguments passed to the logger constructor.
- Return type:
- Returns:
ExperimentLogger – Logger instance.