Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Registra metriche, parametri e MLflow modelli durante l'allenamento
Dopo esserti connesso al server di MLflow tracciamento, puoi utilizzare l' MLflow SDK per registrare metriche, parametri e MLflow modelli.
Registrazione di log per metriche di addestramento
Utilizzalo MLflow durante mlflow.log_metric una sessione di allenamento per tenere traccia delle metriche. Per ulteriori informazioni sull'utilizzo MLflow delle metriche di registrazione, consulta. mlflow.log_metric
with mlflow.start_run(): mlflow.log_metric("foo",1) print(mlflow.search_runs())
Questo script deve generare un’esecuzione di esperimento e stampare un output simile al seguente:
run_id experiment_id status artifact_uri ... tags.mlflow.source.name tags.mlflow.user tags.mlflow.source.type tags.mlflow.runName 0 607eb5c558c148dea176d8929bd44869 0 FINISHED s3://dddd/0/607eb5c558c148dea176d8929bd44869/a... ... file.py user-id LOCAL experiment-code-name
Nell' MLflow interfaccia utente, questo esempio dovrebbe essere simile al seguente:
Scegli Nome dell’esecuzione per visualizzare ulteriori dettagli sull’esecuzione.
Registrazione di log per parametri e modelli
Nota
L’esempio seguente richiede che il tuo ambiente disponga di un’autorizzazione s3:PutObject. Questa autorizzazione deve essere associata al ruolo IAM che l'utente MLflow SDK assume quando accede o si federa al proprio account. AWS Per ulteriori informazioni, consulta Esempi di policy utente e dei ruoli.
L'esempio seguente illustra un flusso di lavoro di addestramento di base per l'utilizzo di un modello SKLearn e mostra come tenere traccia di tale modello durante l'esecuzione di un MLflow esperimento. Questo esempio registra log per parametri, metriche e artefatti del modello.
import mlflow from mlflow.models import infer_signature import pandas as pd from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score # This is the ARN of the MLflow Tracking Server you created mlflow.set_tracking_uri(your-tracking-server-arn) mlflow.set_experiment("some-experiment") # Load the Iris dataset X, y = datasets.load_iris(return_X_y=True) # Split the data into training and test sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Define the model hyperparameters params = {"solver": "lbfgs", "max_iter": 1000, "multi_class": "auto", "random_state": 8888} # Train the model lr = LogisticRegression(**params) lr.fit(X_train, y_train) # Predict on the test set y_pred = lr.predict(X_test) # Calculate accuracy as a target loss metric accuracy = accuracy_score(y_test, y_pred) # Start an MLflow run and log parameters, metrics, and model artifacts 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, lr.predict(X_train)) # Log the model model_info = mlflow.sklearn.log_model( sk_model=lr, name="iris_model", # Changed from artifact_path to name for MLflow 3.0 signature=signature, input_example=X_train, registered_model_name="tracking-quickstart", )
All'interno dell' MLflow interfaccia utente, scegli il nome dell'esperimento nel riquadro di navigazione a sinistra per esplorare tutte le esecuzioni associate. Seleziona Nome dell’esecuzione per visualizzare ulteriori informazioni su ciascuna esecuzione. Per questo esempio, la pagina di esecuzione di esperimento per questa esecuzione deve essere simile alla seguente.
Questo esempio registra log per il modello di regressione logistica. All'interno dell' MLflow interfaccia utente, dovresti vedere anche gli artefatti del modello registrati.