MLFlow Logging for eOn

Configuration Logging

When running eOn simulations in a production environment, tracking the exact parameters used is critical for reproducibility.

Added in version 0.1.0.

The rgpycrumbs.eon._mlflow module provides helpers to log hydrated eOn configurations to an MLFlow tracking server.

Features

Hydration

Merges the eOn schema defaults with the user’s config.ini.

Override Tracking

Distinctly logs parameters that the user explicitly changed, separating them from default values.

Artifact Storage

Uploads the raw config.ini as an artifact.

Usage

import mlflow
from rgpycrumbs.eon._mlflow.log_params import log_config_ini
from pathlib import Path

mlflow.set_tracking_uri("http://localhost:5000")
mlflow.set_experiment("eOn_Oxadiazole_Reaction")

with mlflow.start_run():
    # Log parameters from the local config file
    log_config_ini(
        Path("config.ini"),
        w_artifact=True,       # Upload file as artifact
        track_overrides=True   # Log 'Overrides/Section/Key' params
    )
    print("Configuration logged.")

API Reference

For developer details see rgpycrumbs.eon._mlflow.