À l'issue de cette section, vous aurez découvert

Mise en place du TP

Pour ce TP, utilisez la branch 6_starting_mlflow

git checkout 6_starting_mlflow

Depuis l'interface de Jupyterhub vous pouvez cliquer sur l'icône MLFLow pour lancer MLFlow qui va
s'ouvrir dans un nouvel onglet.

mlflow-ui

Pour logger le résultat des expérimentations dans MLFlow tracking il faut ajouter un peu de code sur le code d'entraînement.

import mlflow
...
with mlflow.start_run() as run:
    mlflow.sklearn.autolog()
    model = ...
    model.fit(X, y)

Une fois que vous avez intégré ce code, vous pouvez retourner dans l'interface Airflow et déclencher un entraînement.

Actualiser la page de MLFlow pour voir les runs apparaître

MLFLOW-run

Vous pouvez voir l'ensemble des paramètres et métriques stockées.

Ensuite en cliquant sur le run, vous pouvez aller voir plus de détails et en descendant voir l'artefact généré

MLFLOW-artefact

En fait MLFlow est basé sur un système de dossier / fichiers plats qui contiennent tout ce que l'on vient de voir.
En plus de cela, MLFlow se sert d'une base de donnée locale pour stocker les métadonnées liés aux runs

Vous pouvez parcourir les métadonnées en explorant le fichier mlflow.db à la racine

sqlite3 mlflow.db

Listez les tables avec commande

.tables

ou faire une requête SQL qui liste toutes vos expérimentations

SELECT * FROM experiments;

ou encore, lister toutes vos métriques

SELECT * FROM metrics;

Les instructions du tp suivant sont ici