O SDK da Vertex AI para Python inclui classes que ajudam na visualização, nas medições e no rastreamento. Essas classes podem ser agrupadas em três tipos:
- Classes que usam metadados para rastrear recursos no fluxo de trabalho de machine learning (ML)
- Classes usadas para experimentos da Vertex AI
- Classes usadas para um TensorBoard da Vertex AI
Os tópicos a seguir fornecem uma visão geral das classes relacionadas ao rastreamento e monitoramento de um fluxo de trabalho de ML no SDK da Vertex AI para Python.
Classes de metadados
É possível usar o SDK da Vertex AI para Python para criar Vertex ML Metadata. Isso ajuda a rastrear e analisar os metadados no fluxo de trabalho de ML. Para mais informações, consulte Introdução aos Vertex ML Metadata.
Artifact
A classe Artifact
representa os metadados em um
artefato na Vertex AI. Um artefato é uma entidade discreta ou um dado produzido por um fluxo de trabalho de ML. Exemplos de um artefato são um
conjunto de dados, um
modelo e um
arquivo de entrada.
Para mais informações, consulte
Rastrear execuções e artefatos.
Ao criar um recurso Artifact
, você precisa
especificar o esquema dele. Cada tipo de artefato tem um esquema exclusivo. Por exemplo,
o esquema system.Dataset
representa um conjunto de dados, e o esquema system.Metrics
representa métricas de avaliação. Para saber mais, consulte
Como usar esquemas do sistema.
O exemplo de código a seguir mostra como criar um recurso
Artifact
que representa um modelo:
model_artifact = aiplatform.Artifact.create(
schema_title="system.Model",
display_name=PREPROCESSED_DATASET_NAME,
uri=PREPROCESSED_DATASET_URI,
Execution
A classe Execution
representa os metadados em uma
execução na Vertex AI. Uma execução é uma etapa em um fluxo de trabalho de ML.
Exemplos de execução são processamento de dados, treinamento e avaliação de modelo. Uma
execução pode consumir artefatos, como um conjunto de dados, e produzir um artefato,
como um modelo.
Use
aiplatform.start_execution
para criar um recurso Execution
. Depois de criar um recurso
Execution
, use o mesmo método
aiplatform.start_execution
com o parâmetro resume
definido como True
para retomá-lo.
O exemplo de código a seguir mostra como criar um
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])
Aulas de experimentos da Vertex AI
É possível usar o SDK da Vertex AI para Python para criar e executar experimentos da Vertex AI. Use os experimentos da Vertex AI para rastrear métricas e parâmetros registrados para ajudar a analisar e otimizar seu fluxo de trabalho de ML. Para mais informações, consulte Introdução aos experimentos da Vertex AI.
Para saber mais sobre como usar as classes Experiment
e
ExperimentRun
, siga um destes
tutoriais:
- Crie linhagem de experimento da Vertex AI para treinamento personalizado.
- Rastrear parâmetros e métricas para modelos treinados localmente.
- Compare execuções de pipeline com os experimentos da Vertex AI.
- Primeiros passos com os experimentos da Vertex AI
Experiment
A classe Experiment
representa um experimento na
Vertex AI. Usar um experimento para analisar as
execuções do experimento e as
execuções do pipeline com diferentes
configurações, como vários artefatos de entrada e hiperparâmetros.
Há duas maneiras de criar um recurso Experiment
:
A maneira preferencial de criar um
Experiment
é especificando um nome para o experimento como um parâmetro ao chamaraiplatform.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)
Também é possível criar um
Experiment
chamandoaiplatform.Experiment.create
.aiplatform.Experiment.create
cria o recursoExperiment
, mas não o define como um ambiente global. Por isso, não é possível executar o experimento comaiplatform.start_run
. O código de exemplo a seguir mostra como usar oaiplatform.Experiment.create
para criar um experimento e, em seguida, executá-lo:# 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
A classe ExperimentRun
representa a execução de um
experimento.
O código de exemplo a seguir mostra como criar e iniciar uma execução de experimento e usá-lo para receber informações sobre o experimento. Para excluir a execução do experimento, acesse uma referência à instância ExperimentRun
e chame o método delete
dela (em inglês).
# 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_name=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()
Classes do TensorBoard da Vertex AI
O SDK da Vertex AI para Python inclui classes para trabalhar com uma versão gerenciada do TensorBoard da Vertex AI de código aberto. O TensorBoard da Vertex AI é uma ferramenta usada para monitorar medições e visualizações durante o fluxo de trabalho de ML. Para mais informações, consulte Primeiros passos com o Vertex AI TensorBoard.
Para saber mais sobre como usar o SDK da Vertex AI para Python para trabalhar com o Vertex AI TensorBoard, siga um destes tutoriais de notebook:
- Criar perfil de desempenho de treinamento de modelo usando o Vertex AI TensorBoard Profiler
- Treinamento personalizado do Vertex AI TensorBoard com contêineres pré-criados
- Treinamento personalizado do Vertex AI TensorBoard com contêineres pré-criados
- Ajuste de hiperparâmetros do Vertex AI com o painel HParams
- Criar perfil de desempenho de treinamento de um modelo usando o Vertex AI TensorBoard Profiler
- Criar perfil de desempenho de treinamento de um modelo usando o Vertex AI TensorBoard Profiler em treinamentos personalizados com um contêiner pré-criado
- Criar perfil de desempenho de treinamento de um modelo usando o Vertex AI TensorBoard Profiler em treinamentos personalizados com um contêiner pré-criado
Tensorboard
A classe Tensorboard
representa um recurso gerenciado que armazena experimentos do Vertex AI TensorBoard. Você precisa criar uma instância Tensorboard
antes que os experimentos possam ser visualizados. É possível criar mais de uma
instância do Tensorboard
em um projeto do Google Cloud.
O exemplo de código a seguir mostra como criar uma instância
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
O TensorboardExperiment
representa um
grupo de objetos TensorboardRun
. Uma instância TensorboardRun
representa os resultados de um job de treinamento executado em um TensorBoard.
TensorboardRun
Uma instância da classe TensorboardRun
é mapeada para um job de treinamento executado em um TensorBoard com um conjunto especificado de hiperparâmetros, uma definição de modelo, um conjunto de dados e muito mais.
TensorboardTimeSeries
A classe TensorboardTimeSeries
representa uma série produzida em execuções de treinamento.
A seguir
- Saiba mais sobre o SDK Vertex AI.