Registra manualmente datos en una ejecución de experimento

Con el fin de ingresar registros, usa el SDK de Vertex AI para Python.

Métricas y parámetros admitidos:

  • métricas resumidas
  • métricas de series temporales
  • Parámetros
  • métricas de clasificación

SDK de Vertex AI para Python

Nota: Cuando el parámetro opcional resume se especifica como TRUE, se reanuda la ejecución que se inició antes. Cuando no se especifica, resume se establece de forma predeterminada en FALSE y se crea una ejecución nueva.

En el siguiente ejemplo, se usa el método init, de las funciones de aiplatform.

Métricas de resumen

Las métricas resumidas son métricas escalares de valor único almacenadas junto a las métricas de series temporales y representan un resumen final de una ejecución de experimento.

Un caso de uso de ejemplo es la interrupción anticipada en la que una configuración de paciencia permite el entrenamiento continuo, pero el modelo candidato se restablece de un paso anterior y las métricas calculadas para el modelo en ese paso se representarían como una métrica resumida porque la última métrica de serie temporal no es representativa del modelo restablecido. La API de log_metrics para las métricas de resumen se usa con este fin.

Python

def log_metrics_sample(
    experiment_name: str,
    run_name: str,
    metrics: Dict[str, float],
    project: str,
    location: str,
):
    aiplatform.init(experiment=experiment_name, project=project, location=location)

    aiplatform.start_run(run=run_name)

    aiplatform.log_metrics(metrics)

  • experiment_name: Proporciona un nombre para tu experimento. Para encontrar tu lista de experimentos en la consola de Google Cloud, selecciona Experimentos en la barra de navegación de secciones.
  • run_name: Especifica un nombre de ejecución (consulta start_run).
  • metric: Los pares clave-valor de métricas. Por ejemplo: {'learning_rate': 0.1}
  • project: El ID del proyecto. Puedes encontrarlos en la página de bienvenida de la consola de Google Cloud.
  • location: Consulta Lista de ubicaciones disponibles

Métricas de series temporales

Para registrar las métricas de series temporales, Vertex AI Experiments requiere una instancia de Vertex AI TensorBoard de respaldo.

Asigna el recurso de Vertex AI TensorBoard de respaldo para el registro de métricas de series temporales.

Todas las métricas que se registran a través de log_time_series_metrics se almacenan como métricas de series temporales. Vertex AI TensorBoard es el almacén de métricas de series temporales de respaldo.

experiment_tensorboard se puede configurar en los niveles de experimento y de ejecución de experimento. Establecer experiment_tensorboard a nivel de ejecución anula la configuración a nivel del experimento. Una vez que experiment_tensorboard se configura en una ejecución, el experiment_tensorboard de la ejecución no se puede cambiar.

  • Establece experiment_tensorboard en el nivel de experimento:
      aiplatform.init(experiment='my-experiment',
                   experiment_tensorboard='projects/.../tensorboard/my-tb-resource')
    
  • Establece experiment_tensorboard en el nivel de ejecución: Nota: Anula la configuración a nivel del experimento.
      aiplatform.start_run(run_name='my-other-run',
                        tensorboard='projects/.../.../other-resource')
    aiplatform.log_time_series_metrics(...)
    

Python

def log_time_series_metrics_sample(
    experiment_name: str,
    run_name: str,
    metrics: Dict[str, float],
    step: Optional[int],
    wall_time: Optional[timestamp_pb2.Timestamp],
    project: str,
    location: str,
):
    aiplatform.init(experiment=experiment_name, project=project, location=location)

    aiplatform.start_run(run=run_name, resume=True)

    aiplatform.log_time_series_metrics(metrics=metrics, step=step, wall_time=wall_time)

  • experiment_name: Proporciona el nombre del experimento. Para encontrar tu lista de experimentos en la consola de Google Cloud, selecciona Experimentos en la barra de navegación de secciones.
  • run_name: Especifica un nombre de ejecución (consulta start_run).
  • metrics: Diccionario en el que las claves son nombres de métricas y los valores son valores de métricas.
  • step: Opcional Índice de paso de este dato dentro de la ejecución.
  • wall_time: Opcional Marca de tiempo real del momento en que el usuario final genera estos datos. Si no se proporciona, wall_time se genera en función del valor de time.time()
  • project: El ID del proyecto. Puedes encontrarlos en la página de bienvenida de la consola de Google Cloud.
  • location: Consulta Lista de ubicaciones disponibles

Step y walltime

La API de log_time_series_metrics acepta de forma opcional step y walltime.

  • step: Opcional Índice de paso de este dato dentro de la ejecución. Si no se proporciona, se usa un incremento sobre el paso más reciente entre todas las métricas de series temporales ya registradas. Si el paso existe para cualquiera de las claves de métrica proporcionadas, se reemplaza el paso.
  • wall_time: Opcional Los segundos después de la época de la métrica registrada. Si no se proporciona, el valor predeterminado es time.time de Python.

Por ejemplo:

aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00})
Registra en un paso específico
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=8)
Incluye wall_time
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=10)

Parámetros

Los parámetros son valores de entrada con clave que configuran una ejecución, regulan su comportamiento y afectan sus resultados. Algunos ejemplos son la tasa de aprendizaje, la tasa de abandono y la cantidad de pasos de entrenamiento. Registra los parámetros con el método log_params.

Python

def log_params_sample(
    experiment_name: str,
    run_name: str,
    params: Dict[str, Union[float, int, str]],
    project: str,
    location: str,
):
    aiplatform.init(experiment=experiment_name, project=project, location=location)

    aiplatform.start_run(run=run_name, resume=True)

    aiplatform.log_params(params)

aiplatform.log_params({"learning_rate": 0.01, "n_estimators": 10})
  • experiment_name: Proporciona un nombre para tu experimento. Para encontrar tu lista de experimentos en la consola de Google Cloud, selecciona Experimentos en la barra de navegación de secciones.
  • run_name: Especifica un nombre de ejecución (consulta start_run).
  • params: Pares clave-valor de parámetros Por ejemplo: {'accuracy': 0.9} (consulta log_params) página de bienvenida.
  • location: Consulta Lista de ubicaciones disponibles

Métricas de clasificación

Además de las métricas de resumen y las de series temporales, las matrices de confusión y las curvas ROC son métricas que se usan con frecuencia. Se pueden registrar en Vertex AI Experiments con la API de log_classification_metrics.

Python

def log_classification_metrics_sample(
    experiment_name: str,
    run_name: str,
    project: str,
    location: str,
    labels: Optional[List[str]] = None,
    matrix: Optional[List[List[int]]] = None,
    fpr: Optional[List[float]] = None,
    tpr: Optional[List[float]] = None,
    threshold: Optional[List[float]] = None,
    display_name: Optional[str] = None,
) -> None:
    aiplatform.init(experiment=experiment_name, project=project, location=location)

    aiplatform.start_run(run=run_name, resume=True)

    aiplatform.log_classification_metrics(
        labels=labels,
        matrix=matrix,
        fpr=fpr,
        tpr=tpr,
        threshold=threshold,
        display_name=display_name,
    )

  • experiment_name: Proporciona un nombre para tu experimento. Para encontrar tu lista de experimentos en la consola de Google Cloud, selecciona Experimentos en la barra de navegación de secciones.
  • run_name: Especifica un nombre de ejecución (consulta start_run).
  • project: El ID del proyecto. Puedes encontrarlos en la página de bienvenida de la consola de Google Cloud.
  • location: Consulta Lista de ubicaciones disponibles.
  • labels: Lista de nombres de etiquetas para la matriz de confusión. Se debe configurar si se establece la matriz.
  • matrix: Valores para la matriz de confusión. Debe configurarse si se establecen “etiquetas”.
  • fpr: Lista de tasas de falsos positivos para la curva ROC. Se debe configurar si se configuran “tpr” o “umbrales”.
  • tpr: Lista de tasas de verdaderos positivos para la curva ROC. Se debe configurar si se configuran “fpr” o “umbrales”.
  • threshold: Lista de umbrales para la curva ROC. Se deben establecer si se configura “fpr” o “tpr”.
  • display_name: Es el nombre definido por el usuario para el artefacto de métrica de clasificación.

Visualiza la lista de ejecuciones de experimentos en la consola de Google Cloud

  1. En la consola de Google Cloud, ve a la página Experimentos.
    <a{: class="button button-primary" l10n-attrs-original-order="href,target,class,track-name,track-type" l10n-encrypted-href="V3Ae1hvcBOij4KvUNiRrMltigmNHgUGOXn/QVSGplOhBlpxunv8WHL3F/z3VuS9rwbZOYpOQCXa+v4aZ0dt03w==" target="console" track-name="consoleLink" track-type="tasks" }="">Ir a Experimentos
    Aparece una lista de experimentos. </a{:>
  2. Selecciona el experimento que quieres verificar.
    Aparecerá una lista de ejecuciones.

Página de lista de experimentos de Vertex AI
Para obtener más detalles, consultaCompara y analiza ejecuciones.

¿Qué sigue?

Instructivo de notebook

Entrada de blog