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:
- Crear el linaje de experimentos de Vertex AI para el entrenamiento personalizado
- Hacer un seguimiento de los parámetros y las métricas de los modelos entrenados localmente
- Comparar ejecuciones de flujos de trabajo con Vertex AI Experiments
- Empezar a usar Vertex AI Experiments
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
:
La forma preferida de crear un
Experiment
es especificar un nombre para el experimento como parámetro al llamar aaiplatform.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)
También puedes crear un
Experiment
llamando aaiplatform.Experiment.create
.aiplatform.Experiment.create
crea el recursoExperiment
, pero no lo asigna a un entorno global. Por este motivo, no puedes llevar a cabo el experimento conaiplatform.start_run
. En el siguiente código de ejemplo se muestra cómo usaraiplatform.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:
- Crear un perfil del rendimiento del entrenamiento de modelos con Cloud Profiler
- Entrenamiento personalizado de Vertex AI TensorBoard con un contenedor personalizado.
- Entrenamiento personalizado de Vertex AI TensorBoard con un contenedor precompilado
- Ajuste de hiperparámetros de Vertex AI TensorBoard con el panel de control HParams
- Crear un perfil del rendimiento del entrenamiento de un modelo con Cloud Profiler
- Crear un perfil del rendimiento del entrenamiento de un modelo con Cloud Profiler en un entrenamiento personalizado con un contenedor precompilado
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
- Consulta información sobre el SDK de Vertex AI.