As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Métricas de log, parâmetros e modelos MLflow durante o treinamento
Depois de se conectar ao servidor de rastreamento MLflow, você pode usar o MLflow SDK para métricas de log, parâmetros e modelos MLflow.
Métricas de treinamento de logs
Use mlflow.log_metric em uma execução de treinamento do MLflow para monitorar as métricas. Para obter mais informações sobre métricas de registro em log usando o MLflow, consulte mlflow.log_metric.
with mlflow.start_run(): mlflow.log_metric("foo",1) print(mlflow.search_runs())
Este script cria uma execução de experimento e imprime uma saída semelhante à seguinte:
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
Com a interface de usuário do MLflow, neste exemplo, deve ser semelhante ao seguinte:
Selecione Nome da execução para ver mais detalhes da execução.
Parâmetros e modelos de log
nota
O exemplo a seguir exige que seu ambiente tenha as permissões s3:PutObject. Essa permissão deve ser associada à função do IAM que o usuário do SDK do MLflow assume ao fazer login ou federar sua conta. AWS Para obter mais informações, consulte Exemplos de políticas de perfil e usuário.
O exemplo a seguir apresenta um fluxo de trabalho de treinamento de modelo básico com uso do SKLearn e mostra como rastrear esse modelo em uma execução experimental do MLflow. Este exemplo registra em log parâmetros, métricas e artefatos do modelo.
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", )
Na interface do usuário do MLflow, escolha o nome do experimento no painel de navegação à esquerda para explorar todas as execuções associadas. Selecione Nome da execução para ver mais informações sobre cada execução. Neste exemplo, a página de execução do experimento para essa execução deve ser semelhante à seguinte:
Este exemplo registra em log o modelo de regressão logística. Na interface do usuário do MLflow, você também verá os artefatos do modelo registrados.