O SDK da Vertex AI para Python inclui classes para ajudar na visualização, nas medições e no acompanhamento. Estas classes podem ser agrupadas em três tipos:
- Classes que usam metadados para acompanhar os recursos no seu fluxo de trabalho de aprendizagem automática
- Classes que são usadas para o Vertex AI Experiments
- Classes usadas para um Vertex AI TensorBoard
Os tópicos seguintes oferecem uma vista geral das classes relacionadas com a monitorização e o acompanhamento de um fluxo de trabalho de ML no SDK Vertex AI para Python.
Classes de metadados
Pode usar o SDK Vertex AI para Python para criar metadados do Vertex ML que ajudam a acompanhar e analisar os metadados no seu fluxo de trabalho de ML. Para mais informações, consulte a Introdução aos metadados do Vertex ML.
Artifact
A classe Artifact
representa os metadados num
artefacto no Vertex AI. Um artefacto é uma entidade discreta ou um fragmento de dados
produzido por um fluxo de trabalho de ML. Exemplos de um artefacto são um
conjunto de dados, um
modelo e um
ficheiro de entrada.
Para mais informações, consulte o artigo
Acompanhe execuções e artefactos.
Quando cria um recurso Artifact
, tem de especificar o respetivo esquema. Cada tipo de artefacto tem um esquema único. Por exemplo, o esquema system.Dataset
representa um conjunto de dados e o esquema system.Metrics
representa métricas de avaliação. Para mais informações, consulte o artigo
Como usar esquemas do sistema.
O exemplo de código seguinte 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 numa execução no Vertex AI. Uma execução é um passo num fluxo de trabalho de ML.
Exemplos de uma execução: tratamento de dados, preparação e avaliação de modelos. Uma execução pode consumir artefactos, como um conjunto de dados, e produzir um artefacto, 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 o retomar.
O seguinte exemplo de código 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])
Classes do Vertex AI Experiments
Pode usar o SDK Vertex AI para Python para criar e executar experiências do Vertex AI. Use o Vertex AI Experiments para acompanhar as métricas e os parâmetros registados, o que ajuda a analisar e otimizar o fluxo de trabalho de ML. Para mais informações, consulte o artigo Introdução às experiências da Vertex AI.
Para saber como usar as classes Experiment
e
ExperimentRun
, experimente um dos seguintes
tutoriais:
- Crie a linhagem do Vertex AI Experiments para a preparação personalizada
- Acompanhe parâmetros e métricas para modelos preparados localmente
- Compare execuções de pipelines com o Vertex AI Experiments
- Comece a usar o Vertex AI Experiments
Experiment
A classe Experiment
representa uma experiência no Vertex AI. Use uma experiência para analisar as respetivas execuções de experiências e execuções de pipelines com diferentes configurações, como vários artefactos de entrada e hiperparâmetros.
Existem duas formas de criar um recurso Experiment
:
A forma preferencial de criar uma
Experiment
é especificar um nome para a experiência como um parâmetro quando chamaaiplatform.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 pode criar um
Experiment
ligando paraaiplatform.Experiment.create
.aiplatform.Experiment.create
cria o recursoExperiment
, mas não o define para um ambiente global. Por este motivo, não pode executar a experiência comaiplatform.start_run
. O código de exemplo seguinte mostra como usaraiplatform.Experiment.create
para criar uma experiência e, em seguida, executá-la:# 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 uma experiência.
O seguinte exemplo de código mostra como criar e iniciar uma execução de experiência e, em seguida, usá-la para obter informações sobre a sua experiência. Para eliminar a execução da experiência,
obtenha uma referência à instância ExperimentRun
e chame o respetivo 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()
Classes do Vertex AI TensorBoard
O SDK Vertex AI para Python inclui classes para trabalhar com uma versão gerida do open source Vertex AI TensorBoard. O Vertex AI TensorBoard é uma ferramenta usada para monitorizar medições e visualizações durante o seu fluxo de trabalho de ML. Para mais informações, consulte o artigo Comece a usar o Vertex AI TensorBoard.
Para saber como usar o SDK Vertex AI para Python para trabalhar com o Vertex AI TensorBoard, experimente um dos seguintes tutoriais de blocos de notas:
- Desempenho da preparação do modelo de perfil com o Cloud Profiler
- Preparação personalizada do Vertex AI TensorBoard com um contentor personalizado.
- Preparação personalizada do Vertex AI TensorBoard com contentor pré-criado
- Aperfeiçoamento de hiperparâmetros do Vertex AI TensorBoard com o painel de controlo HParams
- Crie um perfil do desempenho da preparação de um modelo com o Cloud Profiler
- Analise o desempenho da preparação de um modelo com o Cloud Profiler na preparação personalizada com um contentor pré-criado
Tensorboard
A classe Tensorboard
representa um recurso gerido que armazena experiências do Vertex AI TensorBoard. Tem de criar uma instância do
Tensorboard
antes de poder visualizar as experiências. Pode criar mais do que uma instância doTensorboard
num projeto do Google Cloud .
O seguinte exemplo de código mostra como criar uma instância 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
O elemento TensorboardExperiment
representa um grupo de TensorboardRun
objetos. Uma instância TensorboardRun
representa os resultados de uma tarefa de preparação executada num TensorBoard.
TensorboardRun
Uma instância da classe TensorboardRun
é mapeada para
uma tarefa de preparação executada num 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 preparação.
O que se segue?
- Saiba mais sobre o SDK Vertex AI.