Registrare manualmente i dati in un'esecuzione dell'esperimento

Per la registrazione, utilizza l'SDK Vertex AI per Python.

Metriche e parametri supportati:

  • metriche di riepilogo
  • Metriche delle serie temporali
  • parametri
  • metriche di classificazione

SDK Vertex AI per Python

Nota: quando il parametro facoltativo resume � specificato come TRUE, l'esecuzione avviata in precedenza riprende. Se non specificato, il valore predefinito di resumeFALSE e viene creata una nuova esecuzione.

Il seguente esempio utilizza la classe init dalle funzioni iplatform.

Metriche di riepilogo

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

Un esempio di caso d'uso � l'interruzione anticipata quando una configurazione della pazienza consente ha continuato l'addestramento, ma il modello candidato viene ripristinato da un passaggio precedente e le metriche calcolate per il modello in quel passaggio sarebbero rappresentate come una metrica di riepilogo perch� l'ultima metrica della serie temporale 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 il tuo elenco di esperimenti nella console Google Cloud selezionando Esperimenti nel riquadro di navigazione della sezione.
  • run_name: specifica un nome per l'esecuzione (vedi start_run).
  • metric: coppie chiave-valore delle metriche. Ad esempio: {'learning_rate': 0.1}
  • project: il tuo ID progetto. Puoi trovare queste informazioni nella console Google Cloud pagina di benvenuto.
  • location: consulta l'elenco delle localit� disponibili

Metriche delle serie temporali

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

Assegna la risorsa di supporto Vertex AI TensorBoard per la metrica delle serie temporali Logging.

Tutte le metriche hanno eseguito l'accesso log_time_series_metrics vengono archiviati metriche delle serie temporali. Vertex AI TensorBoard � il magazzino delle metriche delle serie temporali di supporto.

Il valore experiment_tensorboard pu� essere impostato sia a livello di esperimento che di esecuzione dell'esperimento. Impostazione experiment_tensorboard in fuga sostituisce l'impostazione a livello di esperimento. Una volta experiment_tensorboard � impostato in un'esecuzione; il valore experiment_tensorboard dell'esecuzione non pu� essere modificato.

  • 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: indica il nome dell'esperimento. Puoi trovare l'elenco degli esperimenti nella console Google Cloud selezionando Esperimenti nel riquadro di navigazione della sezione.
  • run_name: specifica un nome per l'esecuzione (vedi start_run).
  • metrics: dizionario di dove le chiavi sono nomi e valori delle metriche sono valori delle metriche.
  • step: facoltativo. Indice del passaggio di questo punto dati all'interno dell'esecuzione.
  • wall_time: facoltativo. Timestamp dell'ora standard 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: il tuo ID progetto. Puoi trovarli nella pagina di benvenuto della console Google Cloud.
  • location: consulta l'elenco delle localit� disponibili

Passaggio e tempo totale di esecuzione

L'API log_time_series_metrics accetta facoltativamente step e walltime.

  • step: facoltativo. Indice dei passaggi di questo punto dati all'interno della vengono eseguiti tutti i test delle unit�. Se non viene specificato, 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 metrica registrata. Se non viene fornito, l'impostazione predefinita � il linguaggio time.time.

Ad esempio:

aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00})
Accedi a 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, regolano il comportamento dell'esecuzione e influire sui risultati dell'esecuzione. Alcuni esempi sono il tasso di apprendimento, il tasso di abbandono 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 console Google Cloud selezionando Esperimenti nel riquadro di navigazione della sezione.
  • run_name: specifica un nome per l'esecuzione (vedi start_run).
  • params: coppie chiave-valore del parametro Ad esempio: {'accuracy': 0.9} (vedi log_params). Pagina di benvenuto.
  • location: consulta l'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 registrati in Vertex AI Experiments utilizzando l'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: assegna un nome all'esperimento. Puoi trovare l'elenco degli esperimenti nella console Google Cloud selezionando Esperimenti nel riquadro di navigazione della sezione.
  • run_name: specifica un nome esecuzione (vedi start_run).
  • project: il tuo ID progetto. Puoi trovarli nella pagina di benvenuto della console Google Cloud.
  • location: consulta l'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 "etichette" � impostata.
  • fpr: elenco dei tassi di falsi positivi per la curva ROC. Deve essere impostato se sono impostati "tpr" o "thresholds".
  • tpr: elenco delle percentuali di veri positivi per la curva ROC. Deve essere impostato se sono impostati "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'elemento della metrica di classificazione.

Visualizza l'elenco delle esecuzioni dell'esperimento nella console Google Cloud

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

Pagina dell'elenco degli esperimenti Vertex AI
Per maggiori dettagli, consulta Confrontare e analizzare le esecuzioni.

Passaggi successivi

Tutorial sul blocco note

Blog post