Registrare manualmente i dati in un'esecuzione dell'esperimento

Per la registrazione, utilizza l'SDK Agent Platform per Python.

Metriche e parametri supportati:

  • Metriche di riepilogo
  • Metriche delle serie temporali
  • Parametri
  • Metriche di classificazione

SDK Agent Platform per Python

Nota: se il parametro facoltativo resume è specificato come TRUE, l'esecuzione avviata in precedenza riprende. Se non specificato, resume il valore predefinito è FALSE e viene creata una nuova esecuzione.

L'esempio seguente utilizza il init metodo delle funzioni aiplatform.

Metriche di riepilogo

Le metriche di riepilogo sono metriche scalari a valore singolo archiviate accanto alle metriche delle serie temporali e rappresentano un riepilogo finale di un'esecuzione dell'esperimento.

Un caso d'uso di esempio è l'interruzione anticipata, in cui una configurazione di tolleranza consente di continuare l'addestramento, ma il modello candidato viene ripristinato da un passaggio precedente e le metriche calcolate per il modello in quel passaggio verrebbero rappresentate come una metrica di riepilogo perché l'ultima metrica delle serie temporali non è rappresentativa del modello ripristinato. A questo scopo viene utilizzata l'API log_metrics per le metriche di riepilogo.

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: fornisci un nome per l'esperimento. Puoi trovare l'elenco degli esperimenti nella Google Cloud console selezionando Esperimenti nella navigazione della sezione.
  • run_name: specifica un nome di esecuzione (vedi start_run).
  • metric: coppie chiave-valore delle metriche. Ad esempio: {'learning_rate': 0.1}
  • project: . Puoi trovarli nella Google Cloud console pagina di benvenuto.
  • location: vedi Elenco delle località disponibili

Metriche delle serie temporali

Per registrare le metriche delle serie temporali, Vertex AI Experiments richiede un'istanza di Vertex AI TensorBoard di supporto.

Assegna la risorsa di Vertex AI TensorBoard di supporto per la registrazione delle metriche delle serie temporali.

Tutte le metriche registrate tramite log_time_series_metrics vengono archiviate come metriche delle serie temporali. Vertex AI TensorBoard è l'archivio delle metriche delle serie temporali di supporto.

Il experiment_tensorboard può essere impostato sia a livello di esperimento sia a livello di esecuzione dell'esperimento. L'impostazione di experiment_tensorboard a livello di esecuzione sostituisce l'impostazione a livello di esperimento. Una volta impostato experiment_tensorboard in un'esecuzione, non è possibile modificarlo.experiment_tensorboard

  • Imposta experiment_tensorboard a livello di esperimento:
      aiplatform.init(experiment='my-experiment',
                   experiment_tensorboard='projects/.../tensorboard/my-tb-resource')
  • Imposta experiment_tensorboard a livello di esecuzione: nota: sostituisce l'impostazione a livello di esperimento.
      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: fornisci il nome dell'esperimento. Puoi trovare l'elenco degli esperimenti nella Google Cloud console selezionando Esperimenti nella navigazione della sezione.
  • run_name: specifica un nome di esecuzione (vedi start_run).
  • metrics: dizionario in cui le chiavi sono i nomi delle metriche e i valori sono i valori delle metriche.
  • step: (facoltativo) Indice del passaggio di questo punto dati all'interno dell'esecuzione.
  • wall_time: (facoltativo) Timestamp dell'orologio quando questo punto dati viene generato dall'utente finale. Se non viene fornito, wall_time viene generato in base al valore di time.time()
  • project: . Puoi trovarli nella Google Cloud console pagina di benvenuto.
  • location: vedi Elenco delle località disponibili

Passaggio e tempo reale

L'API log_time_series_metrics accetta facoltativamente step e walltime.

  • step: (facoltativo) Indice del passaggio di questo punto dati all'interno dell' esecuzione. Se non viene fornito, viene utilizzato un incremento rispetto all'ultimo passaggio tra tutte le metriche delle serie temporali già registrate. Se il passaggio esiste per una delle chiavi delle metriche fornite, viene sovrascritto.
  • wall_time: (facoltativo) I secondi dopo l'epoca della metrica registrata. Se non viene fornito, il valore predefinito è time.time di Python.

Ad esempio:

aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00})
Registra un passaggio specifico
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=8)
Includi wall_time
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=10)

Parametri

I parametri sono valori di input con chiave che configurano un'esecuzione, ne regolano il comportamento e influiscono sui risultati. Alcuni esempi sono il tasso di apprendimento, la percentuale di dropout e il numero di passaggi di addestramento. Registra i parametri utilizzando il metodo 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: fornisci un nome per l'esperimento. Puoi trovare l'elenco degli esperimenti nella Google Cloud console selezionando Esperimenti nella navigazione della sezione.
  • run_name: specifica un nome di esecuzione (vedi start_run).
  • params: coppie chiave-valore dei parametri. Ad esempio: {'accuracy': 0.9} (vedi log_params). pagina di benvenuto.
  • location: vedi Elenco delle località disponibili

Metriche di classificazione

Oltre alle metriche di riepilogo e alle metriche delle serie temporali, le matrici di confusione e le curve ROC sono metriche di uso comune. Possono essere registrate in Vertex AI Experiments utilizzando l' log_classification_metrics API.

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: fornisci un nome per l'esperimento. Puoi trovare l'elenco degli esperimenti nella Google Cloud console selezionando Esperimenti nella navigazione della sezione.
  • run_name: specifica un nome di esecuzione (vedi start_run).
  • project: . Puoi trovarli nella Google Cloud console pagina di benvenuto.
  • location: vedi Elenco delle località disponibili.
  • labels: elenco dei nomi delle etichette per la matrice di confusione. Deve essere impostato se è impostato "matrix".
  • matrix: valori per la matrice di confusione. Deve essere impostato se è impostato "labels".
  • fpr: elenco delle percentuali di falsi positivi per la curva ROC. Deve essere impostato se è impostato "tpr" o "thresholds".
  • tpr: elenco delle percentuali di veri positivi per la curva ROC. Deve essere impostato se è impostato "fpr" o "thresholds".
  • threshold: elenco delle soglie per la curva ROC. Deve essere impostato se è impostato "fpr" o "tpr".
  • display_name: il nome definito dall'utente per l'artefatto della metrica di classificazione.

Visualizza l'elenco delle esecuzioni degli esperimenti nella Google Cloud console

  1. Nella Google Cloud console, vai alla pagina Esperimenti.
    Vai a Esperimenti
    Viene visualizzato un elenco di esperimenti.
  2. Seleziona l'esperimento che vuoi controllare.
    Viene visualizzato un elenco di esecuzioni.

Pagina dell'elenco degli esperimenti di Agent Platform
Per maggiori dettagli, vedi Confronta e analizza le esecuzioni.

Passaggi successivi

Tutorial sul notebook

Blog post