Registrar dados em uma execução do experimento

Para fins de geração de registros, use o SDK da Vertex AI para Python.

Métricas e parâmetros compatíveis:

  • Métricas de resumo
  • métricas de séries temporais
  • parameters
  • métricas de classificação

SDK da Vertex AI para Python

Observação: quando o parâmetro resume opcional é especificado como TRUE, a execução iniciada anteriormente é retomada. Quando não especificado, resume assume como padrão FALSE e uma nova execução é criada.

O exemplo a seguir usa o método init das funções da AIplatform.

Métricas de resumo

As métricas de resumo são métricas escalares de valor único armazenadas adjacentes às métricas de série temporal e representam um resumo final de uma execução de um experimento.

Um exemplo de caso de uso é a interrupção antecipada, em que uma configuração de paciência permite continuar o treinamento, mas o modelo candidato é restaurado de uma etapa anterior e as métricas calculadas para o modelo nessa etapa seriam representadas como uma métrica de resumo. porque a métrica de série temporal mais recente não representa o modelo restaurado. A API log_metrics para métricas de resumo é usada para essa finalidade.

Python

from typing import Dict

from google.cloud import aiplatform


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: dê um nome para o experimento. Para ver sua lista de experimentos no Console do Google Cloud, selecione Experimentos no painel de navegação.
  • run_name: especifica um nome de execução (consulte start_run).
  • metric: pares de chave-valor de métricas. Por exemplo: {'learning_rate': 0.1}
  • project: o ID do projeto. É possível encontrá-los na página de boas-vindas do Console do Google Cloud.
  • location: consulte a Lista de locais disponíveis.

Métricas de série temporal

Para registrar métricas de série temporal, o Vertex AI Experiments requer uma instância de apoio do TensorBoard da Vertex AI.

Atribua o recurso TensorBoard do Vertex AI de apoio para a geração de registros de métricas de série temporal.

Todas as métricas registradas pelo log_time_series_metrics são armazenadas como métricas de série temporal. O TensorBoard da Vertex AI é o armazenamento de métricas de série temporal de apoio.

O experiment_tensorboard pode ser definido nos níveis de experimento e execução. Definir experiment_tensorboard no nível da execução substitui a configuração no nível do experimento. Depois que o experiment_tensorboard é definido em uma execução, não é possível mudar o experiment_tensorboard dela.

  • Defina experiment_tensorboard no nível do experimento:
      aiplatform.init(experiment='my-experiment',
                   experiment_tensorboard='projects/.../tensorboard/my-tb-resource')
  • Defina experiment_tensorboard no nível da execução. Observação: substitui a configuração no nível do experimento.
      aiplatform.start_run(run_name='my-other-run',
                        tensorboard='projects/.../.../other-resource')
    aiplatform.log_time_series_metrics(...)

Python

from typing import Dict, Optional

from google.cloud import aiplatform
from google.protobuf import timestamp_pb2


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=run_name, resume=True)

    aiplatform.log_time_series_metrics(metrics=metrics, step=step, wall_time=wall_time)

  • experiment_name: informe o nome do experimento. Para ver a lista de experimentos no Console do Google Cloud, selecione Experimentos na seção de navegação.
  • run_name: especifica um nome de execução (consulte start_run).
  • metrics: dicionário de onde as chaves são nomes de métricas e valores são valores de métricas.
  • step: opcional. Índice da etapa deste ponto de dados na execução.
  • wall_time: opcional. Carimbo de data/hora de relógio de parede quando esse ponto de dados é gerado pelo usuário final. Caso nenhum valor seja fornecido, wall_time será gerado com base no valor de time.time().
  • project: o ID do projeto. É possível encontrá-los na página de boas-vindas do Console do Google Cloud.
  • location: consulte a Lista de locais disponíveis.

Passo e tempo decorrido

A API log_time_series_metrics tem a opção de aceitar step e walltime.

  • step: opcional. Índice da etapa desse ponto de dados durante a execução. Se não for fornecido, será usado um incremento na etapa mais recente entre todas as métricas de séries temporais registradas. Se a etapa já existir para qualquer uma das chaves de métrica fornecidas, ela será substituída.
  • wall_time: opcional. Os segundos após a época da métrica registrada. Se isso não for fornecido, o padrão será time.time do Python.

Exemplo:

aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00})
Registre-se em uma etapa específica
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=8)
Incluir wall_time
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=10)

Parâmetros

Os parâmetros são valores de entrada com chave que configuram uma execução, regulam o comportamento dela e afetam os resultados. Exemplos incluem taxa de aprendizado, taxa de desistência e número de etapas de treinamento. Parâmetros de registro usando o método log_params.

Python

from typing import Dict, Union

from google.cloud import aiplatform


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: dê um nome para o experimento. Para ver a lista de experimentos no Console do Google Cloud, selecione Experimentos na seção de navegação.
  • run_name: especifica um nome de execução (consulte start_run).
  • params: pares de chave-valor de parâmetros. Por exemplo: {'accuracy': 0.9} (consulte log_params). Página de boas-vindas de dados.
  • location: consulte a Lista de locais disponíveis.

Métricas de classificação

Além de métricas de resumo e métricas de série temporal, matrizes de confusão e curvas ROC são usadas com frequência. Elas podem ser registradas nos experimentos da Vertex AI usando a API log_classification_metrics.

Python

from typing import List, Optional

from google.cloud import aiplatform


def log_classification_metrics_sample(
    experiment_name: str,
    run_name: str,
    project: str,
    location: str,
    labels: Optional[List[str]] = None,
    matrix: Optional[List[List[int]]] = None,
    fpr: Optional[List[float]] = None,
    tpr: Optional[List[float]] = None,
    threshold: Optional[List[float]] = None,
    display_name: Optional[str] = None,
) -> None:
    aiplatform.init(experiment=experiment_name, project=project, location=location)

    aiplatform.start_run(run=run_name, resume=True)

    aiplatform.log_classification_metrics(
        labels=labels,
        matrix=matrix,
        fpr=fpr,
        tpr=tpr,
        threshold=threshold,
        display_name=display_name,
    )

  • experiment_name: dê um nome para o experimento. Para ver a lista de experimentos no Console do Google Cloud, selecione Experimentos na navegação por seção.
  • run_name: especifica um nome de execução (consulte start_run).
  • project: o ID do projeto. É possível encontrá-los na página de boas-vindas do Console do Google Cloud.
  • location: Consulte a Lista de locais disponíveis.
  • labels: lista de nomes de rótulos para a matriz de confusão. Precisa ser definido se a opção "matriz" for definido.
  • matrix: valores da matriz de confusão. Precisa ser definido se a opção "rótulos" for definida.
  • fpr: lista de taxas de falsos positivos para a curva ROC. Precisa ser definido se "tpr" ou "limites" estiverem definidos.
  • tpr: lista de taxas de verdadeiros positivos para a curva ROC. Precisa ser definido se "fpr" ou "limites" estiverem definidos.
  • threshold: lista de limites para a curva ROC. Precisa ser definido se "fpr" ou "tpr" estiverem definidos.
  • display_name: o nome definido pelo usuário para o artefato da métrica de classificação.

Ver a lista de execuções do experimento no Console do Google Cloud

  1. No Console do Google Cloud, acesse a página Experimentos.
    Acessar os Experimentos
    Uma lista de experimentos será exibida.
  2. Selecione o experimento que você quer verificar.
    Uma lista de execuções será exibida.

Página da lista de experimentos da Vertex AI
Para mais detalhes, consulte Comparar e analisar execuções.

A seguir

Tutorial do notebook

Postagem do blog