TP3 Partie 1 : log_model + Model Registry + promotion par alias

This commit is contained in:
Johan LEROY
2026-07-22 11:22:50 +02:00
parent e6a05fbbc7
commit 9a52395c91
6 changed files with 127 additions and 0 deletions

View File

@@ -3,6 +3,7 @@ import logging
import mlflow
import pandas as pd
import typer
from mlflow.models import infer_signature
from sklearn import linear_model
from sklearn import metrics
@@ -17,6 +18,11 @@ logger = logging.getLogger(__name__)
@app.command()
def main(
strategy: constants.ModellingStrategy = constants.ModellingStrategy.MIXED,
register: bool = typer.Option(
False,
"--register/--no-register",
help="Enregistrer chaque modele (par alpha) dans le Model Registry.",
),
):
training_file_path = constants.DATASET_DIR / "train.parquet"
validation_file_path = constants.DATASET_DIR / "validation.parquet"
@@ -74,6 +80,18 @@ def main(
):
mlflow.log_metric(f"coef_{feature_name}", float(coefficient))
# Sauvegarde de l'artefact du modele (voir lab/modeling/cli.py).
signature = infer_signature(X_train, train_predictions)
mlflow.sklearn.log_model(
sk_model=model,
name="model",
signature=signature,
input_example=X_train.iloc[:5],
registered_model_name=(
constants.REGISTERED_MODEL_NAME if register else None
),
)
if __name__ == "__main__":
app()