Daten manuell in einer Testausführung loggen

Verwenden Sie zu Logging-Zwecken das Vertex AI SDK für Python.

Unterstützte Messwerte und Parameter:

  • Zusammenfassende Messwerte
  • Zeitachsenmesswerte
  • Parameter
  • Klassifizierungsmesswerte

Vertex AI SDK für Python

Hinweis: Wenn der optionale Parameter resume als TRUE angegeben ist, wird die zuvor gestartete Ausführung fortgesetzt. Wenn keine Angabe erfolgt, verwendet resume standardmäßig FALSE und eine neue Ausführung wird erstellt.

Im folgenden Beispiel wird die Methode init aus den aiplatform-Funktionen verwendet.

Zusammenfassende Messwerte

Zusammenfassende Messwerte sind skalare Messwerte, die neben Zeitachsenmesswerten gespeichert werden und die abschließende Zusammenfassung eines Testlaufs darstellen.

Ein Beispiel für einen Anwendungsfall ist das frühzeitige Anhalten, wenn eine Geduldkonfiguration das Training fortsetzen kann, das Kandidatenmodell jedoch aus einem früheren Schritt wiederhergestellt wird und die für dieses Modell berechneten Messwerte in diesem Schritt als zusammenfassender Messwert dargestellt werden. Dies liegt daran, dass der neueste Zeitachsenmesswert nicht repräsentativ für das wiederhergestellte Modell ist. Zu diesem Zweck wird die log_metrics API für zusammengefasste Messwerte verwendet.

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: Geben Sie einen Namen für den Test an. Um die Liste der Experimente in der Google Cloud Console aufzurufen, wählen Sie Tests im Navigationsbereich aus.
  • run_name: Geben Sie einen Ausführungsnamen an (siehe start_run).
  • metric: Messwert-Schlüssel/Wert-Paare. Zum Beispiel {'learning_rate': 0.1}.
  • project: Ihre Projekt-ID. Sie finden die Projekt-ID auf der Begrüßungsseite der Google Cloud Console.
  • location: Siehe Liste der verfügbaren Standorte.

Zeitachsenmesswerte

Für das Logging von Zeitachsenmesswerten ist für Vertex AI Experiments eine unterstützende Vertex AI TensorBoard-Instanz erforderlich.

Weisen Sie Vertex AI TensorBoard-Sicherungsressourcen für Zeitachsenmesswert zu.

Alle über log_time_series_metrics protokollierten Messwerte werden als Zeitachsenmesswerte gespeichert. Vertex AI TensorBoard ist der unterstützende Speicher für Zeitachsenmesswerte.

experiment_tensorboard kann sowohl auf Testebene als auch auf Testausführungsebene festgelegt werden. Wenn Sie das experiment_tensorboard auf Ausführungsebene festlegen, wird die Einstellung auf Testebene überschrieben. Sobald das experiment_tensorboard in einer Ausführung festgelegt wurde, kann das experiment_tensorboard der Ausführung nicht mehr geändert werden.

  • Legen Sie experiment_tensorboard auf Testebene fest:
      aiplatform.init(experiment='my-experiment',
                   experiment_tensorboard='projects/.../tensorboard/my-tb-resource')
    
  • Legen Sie experiment_tensorboard auf Ausführungsebene fest: Hinweis: Überschreibt die Einstellung auf Testebene.
      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: Geben Sie den Namen Ihres Tests an. Um die Liste der Experimente in der Google Cloud Console aufzurufen, wählen Sie Tests in der Abschnittsnavigation aus.
  • run_name: Geben Sie einen Ausführungsnamen an (siehe start_run).
  • metrics: Wörterbuch, in dem Schlüssel Messwertnamen und Werte Messwerte sind.
  • step: Optional. Schrittindex dieses Datenpunkts innerhalb der Ausführung.
  • wall_time: Optional. Uhrzeit-Zeitstempel, wenn dieser Datenpunkt vom Endnutzer generiert wird. Wenn nicht angegeben, wird wall_time basierend auf dem Wert von time.time() generiert.
  • project: Ihre Projekt-ID. Sie finden die Projekt-ID auf der Begrüßungsseite der Google Cloud Console.
  • location: Siehe Liste der verfügbaren Standorte.

Schritt und Walltime

Die log_time_series_metrics-API akzeptiert optional step und walltime.

  • step: Optional. Schrittindex dieses Datenpunkts innerhalb der Ausführung. Wenn nicht angegeben, wird ein Inkrement über dem letzten Schritt unter allen bereits protokollierten Zeitachsenmesswerten verwendet. Wenn der Schritt für einen der bereitgestellten Messwertschlüssel vorhanden ist, wird der Schritt überschrieben.
  • wall_time: Optional. Die Sekunden nach der Epoche des protokollierten Messwerts. Wenn dies nicht angegeben ist, gilt standardmäßig time.time von Python.

Beispiel:

aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00})
Für einen bestimmten Schritt protokollieren
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=8)
wall_time einschließen
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=10)

Parameter

Parameter sind Schlüsseleingabewerte, die eine Ausführung konfigurieren, das Verhalten der Ausführung steuern und die Ergebnisse der Ausführung beeinflussen. Beispiele sind die Lernrate, die Abbruchrate und die Anzahl der Trainingsschritte. Loggen Sie Parameter mit der Methode 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: Geben Sie einen Namen für den Test an. Um die Liste der Experimente in der Google Cloud Console aufzurufen, wählen Sie Tests in der Abschnittsnavigation aus.
  • run_name: Geben Sie einen Ausführungsnamen an (siehe start_run).
  • params: Schlüssel/Wert-Paare für Parameter. Beispiel: {'accuracy': 0.9} (siehe log_params). Begrüßungsseite.
  • location: Siehe Liste der verfügbaren Standorte.

Klassifizierungsmesswerte

Zusätzlich zu den zusammenfassenden Messwerten und Zeitachsenmesswerten werden Wahrheitsmatrizen und ROC-Kurven häufig verwendet. Sie können mithilfe der log_classification_metrics API in Vertex AI Experiments protokolliert werden.

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: Geben Sie einen Namen für den Test an. Um die Liste der Experimente in der Google Cloud Console aufzurufen, wählen Sie Tests im Navigationsbereich aus.
  • run_name: Geben Sie einen Ausführungsnamen an (siehe start_run).
  • project: Ihre Projekt-ID. Sie finden die Projekt-ID auf der Begrüßungsseite der Google Cloud Console.
  • location: Siehe Liste der verfügbaren Standorte.
  • labels: Liste der Labelnamen für die Wahrheitsmatrix. Muss festgelegt werden, wenn "matrix" festgelegt ist.
  • matrix: Werte für die Wahrheitsmatrix. Muss festgelegt werden, wenn "labels" festgelegt ist.
  • fpr: Liste der falsch positiven Werte für die ROC-Kurve. Muss festgelegt werden, wenn "tpr" oder "thresholds" festgelegt ist.
  • tpr: Liste der richtig positiven Werte für die ROC-Kurve. Muss festgelegt werden, wenn "fpr“ oder "thresholds" festgelegt ist.
  • threshold: Liste der Schwellenwerte für die ROC-Kurve. Muss festgelegt werden, wenn "fpr" oder "tpr" festgelegt ist.
  • display_name: Der benutzerdefinierte Name für das Artefakt des Klassifizierungsmesswerts.

Liste der Testausführungen in der Google Cloud Console anzeigen

  1. Rufen Sie in der Google Cloud Console die Seite Tests auf.
    Tests aufrufen
    Eine Liste mit Tests wird angezeigt.
  2. Wählen Sie den Test aus, den Sie prüfen möchten.
    Es wird eine Liste der Ausführungen angezeigt.

Seite mit Liste der Vertex AI-Tests
Weitere Informationen finden Sie unter Ausführungen vergleichen und analysieren.

Nächste Schritte

Notebook-Anleitung

Blogpost