Skip to content

MLFlow

Wird benutzt, um das Training mit wechselnden Parametern zu loggen und vergleichbar zu halten. Die vollständige Doku findet sich hier.

Es erfordert die beiden Environment Variablen MLFLOW_TRACKING_USERNAME=mlflow MLFLOW_TRACKING_PASSWORD=..., um sich mit dem Server zu verbinden. Außerdem muss die URI gesetzt werden:

import mlflow

mlflow.set_tracking_uri(uri="https://mlflow.jafar.live/")

Damit lassen sich dann die Parameter und Metriken eines Runs, die vorher definiert wurden, loggen:

from mlflow.models import infer_signature

# Create a new MLflow Experiment
mlflow.set_experiment("Erstes Experiment auf jafar.live")

# Start an MLflow run
with mlflow.start_run():
    # Log the hyperparameters
    mlflow.log_params(params)

    # Log the loss metric
    mlflow.log_metric("accuracy", accuracy)

    # Set a tag that we can use to remind ourselves what this run was for
    mlflow.set_tag("Training Info", "Basic LR model for iris data")

    # Infer the model signature
    signature = infer_signature(X_train["text"], full_dt_pipe.predict(X_train["text"]))

    # Log the model
    model_info = mlflow.sklearn.log_model(
        sk_model=full_dt_pipe,
        artifact_path="ticket_model",
        signature=signature,
        input_example=np.array(X_train["text"]),
        registered_model_name="tracking-quickstart",
    )