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.

Métricas resumidas

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.

SDK de Vertex AI para 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: 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(...)
    

SDK de Vertex AI para 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_name=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: 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

SDK de Vertex AI para 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 los experimentos de Vertex AI con la API de log_classification_metrics.

SDK de Vertex AI para Python