Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Registro de las métricas, los parámetros y los modelos de MLflow durante el entrenamiento
Después de conectarse al servidor de seguimiento de MLflow, puede usar el MLflow SDK para registrar métricas, parámetros y modelos de MLflow.
Registro de métricas de entrenamiento
Utilice mlflow.log_metric en una sesión de entrenamiento de MLflow para realizar un seguimiento de las métricas. Para obtener más información sobre las métricas de registro mediante MLflow, consulte mlflow.log_metric.
with mlflow.start_run(): mlflow.log_metric("foo",1) print(mlflow.search_runs())
Este script debería crear una ejecución de experimento e imprimir una salida similar a la siguiente:
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
En la interfaz de usuario de MLflow, este ejemplo debería tener un aspecto similar al siguiente:
Elija Nombre de ejecución para ver más detalles de la ejecución.
Registro de parámetros y modelos
nota
En el siguiente ejemplo es necesario que el entorno tenga permisos s3:PutObject. Este permiso debe estar asociado a la función de IAM que asume el usuario del SDK de MLflow cuando inicia sesión o se federa en su cuenta. AWS Para obtener más información, consulte User and role policy examples.
En el siguiente ejemplo se explica un flujo de trabajo de entrenamiento de modelos fundacionales con SKLearn y se muestra cómo realizar el seguimiento de ese modelo en una ejecución de experimento de MLflow. En este ejemplo se registran los parámetros, las métricas y los artefactos del 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", )
En la interfaz de usuario de MLflow, elija el nombre del experimento en el panel de navegación de la izquierda para explorar todas las ejecuciones asociadas. Elija Nombre de ejecución para ver más información sobre cada ejecución. En este ejemplo, la página de ejecución del experimento debería tener un aspecto similar al siguiente.
En este ejemplo se registra el modelo de regresión logística. En la interfaz de usuario de MLflow, también deberían aparecer los artefactos del modelo registrados.