Registra i dati su un'esecuzione dell'esperimento

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Per il logging, utilizza l'SDK Vertex AI per Python.

Metriche e parametri supportati:

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

SDK Python

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 esempio di caso d'uso è l'interruzione anticipata in cui una configurazione della pazienza consente l'addestramento continuo, ma il modello candidato viene ripristinato da un passaggio precedente e le metriche calcolate per il modello in quel passaggio verrebbero rappresentate come 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

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

    aiplatform.log_metrics(metrics)

  • experiment_name: specifica un nome per l'esperimento. Puoi trovare l'elenco degli esperimenti nella console Google Cloud selezionando Esperimenti nella sezione nav.
  • run_name: specifica un nome di esecuzione (vedi start_run).
  • metric: coppie chiave-valore delle metriche. Ad esempio: {'learning_rate': 0.1}
  • project: ID del progetto. Puoi trovarli nella pagina di benvenuto di Google Cloud Console.
  • location: consulta l'elenco delle località disponibili.

Metriche delle serie temporali

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

Assegna il supporto di una risorsa Vertex AI TensorBoard per il logging delle metriche delle serie temporali.

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

experiment_tensorboard può essere impostato sia a livello di esperimento che di esecuzione dell'esperimento. L'impostazione di experiment_tensorboard a livello di esecuzione sostituisce l'impostazione a livello di esperimento. Una volta che il valore experiment_tensorboard è impostato in un'esecuzione, l'elemento 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

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_name=experiment_name, project=project, location=location)

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

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

  • experiment_name: specifica il nome dell'esperimento. Puoi trovare l'elenco degli esperimenti nella console Google Cloud selezionando Esperimenti nella sezione nav.
  • run_name: specifica un nome di esecuzione (vedi start_run).
  • metrics: dizionario delle chiavi in cui i nomi sono e i valori delle metriche.
  • step: facoltativo. Indice dei passaggi di questo punto dati all'interno dell'esecuzione.
  • wall_time: facoltativo. Timestamp orologio da parete quando questo punto dati viene generato dall'utente finale. Se non specificato, il valore wall_time viene generato in base al valore di time.time()
  • project: ID del progetto. Puoi trovarli nella pagina di benvenuto di Google Cloud Console.
  • location: consulta l'elenco delle località disponibili.

Passaggio e tempo di utilizzo

L'API log_time_series_metrics accetta facoltativamente step e walltime.

  • step: facoltativo. Indice dei passaggi di questo punto dati all'interno dell'esecuzione. 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 di metrica fornite, viene sovrascritto.
  • wall_time: facoltativo. Secondi dopo il periodo della metrica registrata. Se non viene fornito, l'impostazione predefinita è time.time di Python.

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

Python

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: specifica un nome per l'esperimento. Puoi trovare l'elenco degli esperimenti nella console Google Cloud selezionando Esperimenti nella sezione nav.
  • run_name: specifica un nome di esecuzione (vedi start_run).
  • params: coppie chiave-valore del parametro Ad esempio: {'accuracy': 0.9} (vedi la pagina log_params. pagina di benvenuto).
  • location: consulta l'elenco delle località disponibili.

Metriche di classificazione

Oltre alle metriche di riepilogo e alle serie temporali, le matrici di confusione e le curve ROC sono metriche di uso comune. Possono essere registrati a Vertex AI Experiment utilizzando l'API log_classification_metrics.

Python

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

Visualizza l'elenco delle esecuzioni dell'esperimento in Google Cloud Console

  1. In Google Cloud Console, vai alla pagina Esperimenti.
    </a{:>
  2. Seleziona l'esperimento che vuoi controllare.
    Viene visualizzato un elenco di esecuzioni.

Pagina elenco esperimenti Vertex AI

Passaggi successivi

Esempio di blocco note pertinente

Blog post