Registe dados manualmente numa execução de experiência

Para fins de registo, use o SDK Vertex AI para Python.

Métricas e parâmetros suportados:

  • métricas de resumo
  • métricas de intervalos temporais
  • parâmetros
  • métricas de classificação

SDK Vertex AI para Python

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

O exemplo seguinte usa o método init da aiplatform.functions.

Métricas de resumo

As métricas de resumo são métricas escalares de valor único armazenadas junto às métricas de séries cronológicas e representam um resumo final de uma execução de experiência.

Um exemplo de utilização é a paragem antecipada, em que uma configuração de paciência permite a continuação da preparação, mas o modelo candidato é restaurado a partir de um passo anterior e as métricas calculadas para o modelo nesse passo seriam representadas como uma métrica de resumo, porque a métrica de série cronológica mais recente não é representativa do modelo restaurado. A API log_metrics para métricas de resumo é usada para este fim.

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)

Métricas de intervalos temporais

Para registar métricas de séries cronológicas, o Vertex AI Experiments requer uma instância do Vertex AI TensorBoard de apoio.

Atribua um recurso do Vertex AI TensorBoard para o registo de métricas de séries cronológicas.

Todas as métricas registadas através de log_time_series_metrics são armazenadas como métricas de séries cronológicas. O Vertex AI TensorBoard é o arquivo de métricas de séries cronológicas subjacente.

O experiment_tensorboard pode ser definido ao nível da experiência e da execução da experiência. A definição do experiment_tensorboard ao nível da execução substitui a definição ao nível da experiência. Depois de definir o experiment_tensorboard numa execução, não é possível alterar o experiment_tensorboard da execução.

  • Defina experiment_tensorboard ao nível da experiência:
      aiplatform.init(experiment='my-experiment',
                   experiment_tensorboard='projects/.../tensorboard/my-tb-resource')
  • Defina experiment_tensorboard ao nível da execução: Nota: substitui a definição ao nível da experiência.
      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: indique o nome da sua experiência. Pode encontrar a sua lista de experiências na Google Cloud consola selecionando Experiências na navegação da secção.
  • run_name: especifique um nome de execução (consulte start_run).
  • metrics: dicionário em que as chaves são nomes de métricas e os valores são valores de métricas.
  • step: opcional. Índice de passos deste ponto de dados na execução.
  • wall_time: opcional. Data/hora do relógio quando este ponto de dados é gerado pelo utilizador final. Se não for fornecido, wall_time é gerado com base no valor de time.time()
  • project: . Pode encontrá-los na página de Google Cloud boas-vindas da consola.
  • location: consulte a lista de localizações disponíveis

Passo e tempo total

A API log_time_series_metrics aceita opcionalmente step e walltime.

  • step: opcional. Índice de passos deste ponto de dados na execução. Se não for indicado, é usado um incremento sobre o passo mais recente entre todas as métricas de séries cronológicas já registadas. Se o passo existir para qualquer uma das chaves de métricas fornecidas, o passo é substituído.
  • wall_time: opcional. Os segundos após epoch da métrica registada. Se não for fornecido, a predefinição é o time.time do Python.

Por exemplo:

aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00})
Registar um passo específico
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 da execução e afetam os resultados da execução. Os exemplos incluem a taxa de aprendizagem, a taxa de abandono e o número de passos de preparação. Registe parâmetros através do 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: indique um nome para a sua experiência. Pode encontrar a sua lista de experiências na Google Cloud consola selecionando Experiências na navegação da secção.
  • run_name: especifique um nome de execução (consulte start_run).
  • params: pares de chaves-valores de parâmetros Por exemplo: {'accuracy': 0.9} (consulte log_params). Página welcome.
  • location: consulte a lista de localizações disponíveis

Métricas de classificação

Além das métricas de resumo e das métricas de séries temporais, as matrizes de confusão e as curvas ROC são métricas usadas frequentemente. Podem ser registados em experiências do Vertex AI através da 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: indique um nome para a sua experiência. Pode encontrar a sua lista de experiências na Google Cloud consola selecionando Experiências na navegação da secção.
  • run_name: especifique um nome de execução (consulte start_run).
  • project: . Pode encontrá-los na página de Google Cloud boas-vindas da consola.
  • location: consulte a lista de localizações disponíveis.
  • labels: lista de nomes de etiquetas para a matriz de confusão. Tem de ser definido se "matrix" estiver definido.
  • matrix: valores para a matriz de confusão. Tem de ser definido se "labels" estiver definido.
  • fpr: lista de taxas de falsos positivos para a curva ROC. Tem de ser definido se "tpr" ou "thresholds" estiver definido.
  • tpr: lista de taxas de verdadeiros positivos para a curva ROC. Tem de ser definido se "fpr" ou "thresholds" estiver definido.
  • threshold: lista de limites para a curva ROC. Tem de ser definido se "fpr" ou "tpr" estiver definido.
  • display_name: o nome definido pelo utilizador para o artefacto de métrica de classificação.

Veja a lista de execuções de experiências na Google Cloud consola

  1. Na Google Cloud consola, aceda à página Experiências.
    Aceda a Experiências
    É apresentada uma lista de experiências.
  2. Selecione a experiência que quer verificar.
    É apresentada uma lista de execuções.

Página da lista de experiências do Vertex AI
Para mais detalhes, consulte Compare e analise execuções.

O que se segue?

Tutorial do bloco de notas

Publicação no blogue