Clases de seguimiento

El SDK de Vertex AI para Python incluye clases que ayudan con la visualización, las mediciones y el seguimiento. Estas clases se pueden agrupar en tres tipos:

  • Clases que usan metadatos para monitorizar recursos en tu flujo de trabajo de aprendizaje automático
  • Clases que se usan en Vertex AI Experiments
  • Clases que se usan en Vertex AI TensorBoard

En los siguientes temas se ofrece una descripción general de las clases relacionadas con el seguimiento y la monitorización de un flujo de trabajo de aprendizaje automático en el SDK de Vertex AI para Python.

Clases de metadatos

Puedes usar el SDK de Vertex AI para Python para crear metadatos de Vertex ML que te ayuden a monitorizar y analizar los metadatos de tu flujo de trabajo de aprendizaje automático. Para obtener más información, consulta la introducción a los metadatos de Vertex ML.

Artifact

La clase Artifact representa los metadatos de un artefacto en Vertex AI. Un artefacto es una entidad o un fragmento de datos discretos que se genera en un flujo de trabajo de aprendizaje automático. Algunos ejemplos de artefactos son un conjunto de datos, un modelo y un archivo de entrada. Para obtener más información, consulta Hacer un seguimiento de las ejecuciones y los artefactos.

Cuando creas un recurso Artifact, debes especificar su esquema. Cada tipo de artefacto tiene un esquema único. Por ejemplo, el esquema system.Dataset representa un conjunto de datos y el esquema system.Metrics representa métricas de evaluación. Para obtener más información, consulta Cómo usar esquemas del sistema.

En el siguiente código de ejemplo se muestra cómo crear un recurso Artifact que representa un modelo:

model_artifact = aiplatform.Artifact.create(
        schema_title="system.Model",
        display_name=PREPROCESSED_DATASET_NAME,
        uri=PREPROCESSED_DATASET_URI,

Execution

La clase Execution representa los metadatos de una ejecución en Vertex AI. Una ejecución es un paso de un flujo de trabajo de aprendizaje automático. Algunos ejemplos de ejecuciones son el procesamiento de datos, el entrenamiento y la evaluación de modelos. Una ejecución puede consumir artefactos, como un conjunto de datos, y producir otro artefacto, como un modelo.

Usa aiplatform.start_execution para crear un recurso Execution. Después de crear un recurso Execution, utiliza el mismo método aiplatform.start_execution con el parámetro resume definido como True para reanudarlo.

En el siguiente código de ejemplo se muestra cómo crear un recurso Execution:

with aiplatform.start_execution(schema_title='system.ContainerExecution',
                                display_name='trainer') as execution:
    execution.assign_input_artifacts([my_artifact])
    model = aiplatform.Artifact.create(uri='gs://my-uri', schema_title='system.Model')
    execution.assign_output_artifacts([model])

Clases de Vertex AI Experiments

Puedes usar el SDK de Vertex AI para Python para crear y ejecutar experimentos de Vertex AI. Usa Vertex AI Experiments para monitorizar las métricas y los parámetros registrados, lo que te ayudará a analizar y optimizar tu flujo de trabajo de aprendizaje automático. Para obtener más información, consulta la introducción a los experimentos de Vertex AI.

Para obtener más información sobre cómo usar las clases Experiment y ExperimentRun, prueba uno de los siguientes tutoriales:

Experiment

La clase Experiment representa un experimento en Vertex AI. Usa un experimento para analizar sus ejecuciones de experimento y ejecuciones de canalización con diferentes configuraciones, como varios artefactos de entrada e hiperparámetros.

Hay dos formas de crear un recurso Experiment:

  1. La forma preferida de crear un Experiment es especificar un nombre para el experimento como parámetro al llamar a aiplatform.init:

    # In a real world scenario it's likely you would specify more parameters
    # when you call aiplatform.init. This sample shows only how to use the
    # parameter used to create an Experiment.
    
    # Specify a name for the experiment
    EXPERIMENT_NAME = "your-experiment-name"
    
    # Create the experiment
    aiplatform.init(experiment=EXPERIMENT_NAME)
    
  2. También puedes crear un Experiment llamando a aiplatform.Experiment.create. aiplatform.Experiment.create crea el recurso Experiment, pero no lo asigna a un entorno global. Por este motivo, no puedes llevar a cabo el experimento con aiplatform.start_run. En el siguiente código de ejemplo se muestra cómo usar aiplatform.Experiment.create para crear un experimento y, a continuación, ejecutarlo:

    # Specify a name for the experiment
    EXPERIMENT_NAME = "your-experiment-name"
    EXPERIMENT_RUN_NAME = "your-run"
    
    # Create the experiment
    experiment = aiplatform.Experiment.create(experiment_name=EXPERIMENT_NAME)
    experiment_run = aiplatform.ExperimentRun.create(EXPERIMENT_RUN_NAME, experiment=EXPERIMENT_NAME)
    

ExperimentRun

La clase ExperimentRun representa una ejecución de un experimento.

En el siguiente código de ejemplo se muestra cómo crear e iniciar una ejecución de un experimento y, a continuación, cómo usarlo para obtener información sobre el experimento. Para eliminar la ejecución del experimento, obtén una referencia a la instancia ExperimentRun y llama a su método delete.

# Specify your project name, location, experiment name, and run name
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
EXPERIMENT_NAME = "experiment-1"
RUN_NAME = "run-1"

# Create the experiment to run
aiplatform.init(experiment=EXPERIMENT_NAME,
                project=PROJECT_NAME,
                location=LOCATION)

# Create and run an ExperimentRun resource. Next, you can use it to get
# information about your experiment. For example, you can log parameters and
# metrics with specified key-value pairs.
with aiplatform.start_run(RUN_NAME):
     aiplatform.log_params({'learning_rate': 0.1, 'dropout_rate': 0.2})
     aiplatform.log_metrics({'accuracy': 0.9, 'recall': 0.8})

# Get a reference to the ExperimentRun resource, get the parameters logged to 
# the run, get the summary metrics logged to the run, then delete it.
with aiplatform.start_run(RUN_NAME, resume=True) as run:
     run.get_params()
     run.get_metrics()
     run.delete()

Clases de Vertex AI TensorBoard

El SDK de Vertex AI para Python incluye clases para trabajar con una versión gestionada de Vertex AI TensorBoard de código abierto. Vertex AI TensorBoard es una herramienta que se usa para monitorizar las mediciones y las visualizaciones durante el flujo de trabajo de aprendizaje automático. Para obtener más información, consulta Empezar a utilizar Vertex AI TensorBoard.

Para obtener más información sobre cómo usar el SDK de Vertex AI para Python con Vertex AI TensorBoard, prueba uno de los siguientes tutoriales en cuaderno:

Tensorboard

La clase Tensorboard representa un recurso gestionado que almacena experimentos de Vertex AI TensorBoard. Debes crear una instancia de Tensorboard para poder visualizar los experimentos. Puedes crear más de una instancia de Tensorboard en un proyecto de Google Cloud .

En el siguiente código de ejemplo se muestra cómo crear una instancia de Tensorboard:

# Specify your project name, location, and the name of your Tensorboard
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
TENSORBOARD_NAME = "my-tensorboard"

aiplatform.init(project=PROJECT_NAME, location=LOCATION)

tensorboard = aiplatform.Tensorboard.create(
    display_name=TENSORBOARD_NAME,
    project=PROJECT_NAME,
    location=LOCATION,
)

TensorboardExperiment

TensorboardExperiment representa un grupo de objetos TensorboardRun. Una instancia de A TensorboardRun representa los resultados de un trabajo de entrenamiento ejecutado en TensorBoard.

TensorboardRun

Una instancia de la clase TensorboardRun se asigna a una ejecución de una tarea de entrenamiento en TensorBoard con un conjunto de hiperparámetros, una definición de modelo, un conjunto de datos y más.

TensorboardTimeSeries

La clase TensorboardTimeSeries representa una serie producida en ejecuciones de entrenamiento.

Siguientes pasos