https://api.gwenlake.com/v1/mlflow, authenticated with your Gwenlake API key. A training written with gwenlake.training reports there by itself; any MLflow client can too.
From a training
gwenlake.training.train opens an MLflow run for each training and records:
- the parameters of the run (steps, batch size, what the decorator and the command line set);
- the metrics passed to
run.log({...}), at their step; - the checkpoints written in
run.checkpoint()as artifacts, shipped as they are written; - a run id kept next to the checkpoints, so a training that resumes after an eviction reports into the same run and the curve stays whole.
model= names the run, so two models trained on the same data stay apart; experiment= picks the experiment (default otherwise). tracking=False on the decorator runs without the server.
Tracking is an enhancement, never a dependency: with no key, no network or no mlflow installed (pip install 'mlflow-skinny[extras]'), the training runs and says so. The key is only ever sent to the platform’s own server, never to another tracking URI.
Environment
A
.env file in the working directory is loaded by the training module.
With the MLflow client
Anything that speaks MLflow works against the server, with the API key as the token:mlflow.search_runs, MlflowClient) pointed at the same server. A model’s card keeps the metrics its training returned; the run keeps the whole curve.