Tracking-Klassen

Das Vertex AI SDK für Python enthält Klassen, die Sie bei der Visualisierung, der Messung und dem Tracking unterstützen. Diese Klassen lassen sich in drei Typen unterteilen:

  • Klassen, die Metadaten zum Überwachen von Ressourcen in Ihrem ML-Workflow (maschinelles Lernen) verwenden
  • Klassen, die für Vertex AI Experiments verwendet werden
  • Klassen, die für ein Vertex AI TensorBoard verwendet werden

Die folgenden Themen bieten einen Überblick über die Klassen, die mit dem Tracking und Monitoring eines ML-Workflows im Vertex AI SDK for Python zusammenhängen.

Metadatenklassen

Mit dem Vertex AI SDK für Python können Sie Vertex ML-Metadaten erstellen, um die Metadaten in Ihrem ML-Workflow zu verfolgen und zu analysieren. Weitere Informationen finden Sie unter Einführung in Vertex ML-Metadaten.

Artifact

Die Klasse Artifact stellt die Metadaten in einem Artefakt in Vertex AI dar. Ein Artefakt ist eine einzelne Entität oder ein Datenelement, das von einem ML-Workflow erzeugt wird. Beispiele für Artefakte sind ein Dataset, ein Modell und eine Eingabedatei. Weitere Informationen finden Sie unter Ausführungen und Artefakte erfassen.

Wenn Sie eine Artifact-Ressource erstellen, müssen Sie das Schema angeben. Jeder Art von Artefakt ist ein eindeutiges Schema zugewiesen. Das system.Dataset-Schema steht beispielsweise für einen Datensatz und das system.Metrics-Schema für Bewertungsmesswerte. Weitere Informationen finden Sie unter Systemschemas verwenden.

Im folgenden Codebeispiel wird gezeigt, wie eine Artifact-Ressource erstellt wird, die ein Modell darstellt:

model_artifact = aiplatform.Artifact.create(
        schema_title="system.Model",
        display_name=PREPROCESSED_DATASET_NAME,
        uri=PREPROCESSED_DATASET_URI,

Execution

Die Klasse Execution stellt die Metadaten bei einer Ausführung in Vertex AI dar. Eine Ausführung ist ein Schritt in einem ML-Workflow. Beispiele für eine Ausführung sind die Datenverarbeitung, das Training und die Modellbewertung. Eine Ausführung kann Artefakte wie ein Dataset nutzen und ein Artefakt wie ein Modell generieren.

Verwenden Sie aiplatform.start_execution, um eine Execution-Ressource zu erstellen. Nachdem Sie eine Execution-Ressource erstellt haben, verwenden Sie dieselbe aiplatform.start_execution-Methode, wobei der Parameter resume auf True festgelegt ist, um sie fortzusetzen.

Im folgenden Codebeispiel wird gezeigt, wie eine Execution-Ressource erstellt wird:

with aiplatform.start_execution(schema_title='system.ContainerExecution',
                                display_name='trainer') as execution:
    execution.assign_input_artifacts([my_artifact])
    model = aiplatform.Artifact.create(uri='gs://my-uri', schema_title='system.Model')
    execution.assign_output_artifacts([model])

Vertex AI Experiments-Klassen

Mit dem Vertex AI SDK für Python können Sie Vertex AI-Tests erstellen und ausführen. Mit Vertex AI Experiments können Sie protokollierte Messwerte und Parameter verfolgen, um Ihren ML-Workflow zu analysieren und zu optimieren. Weitere Informationen finden Sie unter Einführung in Vertex AI Experiments.

Weitere Informationen zur Verwendung der Klassen Experiment und ExperimentRun finden Sie in den folgenden Anleitungen:

Experiment

Die Klasse Experiment stellt einen Test in Vertex AI dar. Verwenden Sie ein Experiment, um seine Testausführungen und Pipelineausführungen mit verschiedenen Konfigurationen zu analysieren, z. B. mit mehreren Eingabeartefakten und Hyperparametern.

Es gibt zwei Möglichkeiten, eine Experiment-Ressource zu erstellen:

  1. Die bevorzugte Methode zum Erstellen eines Experiment besteht darin, beim Aufrufen von aiplatform.init einen Namen für den Test als Parameter anzugeben:

    # In a real world scenario it's likely you would specify more parameters
    # when you call aiplatform.init. This sample shows only how to use the
    # parameter used to create an Experiment.
    
    # Specify a name for the experiment
    EXPERIMENT_NAME = "your-experiment-name"
    
    # Create the experiment
    aiplatform.init(experiment=EXPERIMENT_NAME)
    
  2. Sie können auch aiplatform.Experiment.create aufrufen, um ein Experiment zu erstellen. Mit aiplatform.Experiment.create wird die Ressource Experiment erstellt, aber nicht für eine globale Umgebung festgelegt. Daher können Sie den Test nicht mit aiplatform.start_run ausführen. Im folgenden Beispielcode wird gezeigt, wie Sie mit aiplatform.Experiment.create einen Test erstellen und dann ausführen:

    # Specify a name for the experiment
    EXPERIMENT_NAME = "your-experiment-name"
    EXPERIMENT_RUN_NAME = "your-run"
    
    # Create the experiment
    experiment = aiplatform.Experiment.create(experiment_name=EXPERIMENT_NAME)
    experiment_run = aiplatform.ExperimentRun.create(EXPERIMENT_RUN_NAME, experiment=EXPERIMENT_NAME)
    

ExperimentRun

Die Klasse ExperimentRun stellt einen Testlauf dar.

Der folgende Beispielcode zeigt, wie Sie einen Testlauf erstellen und starten und ihn dann verwenden, um Informationen über Ihren Test abzurufen. Rufen Sie zum Löschen der Testausführung einen Verweis auf die Instanz ExperimentRun ab und rufen Sie die Methode delete auf.

# Specify your project name, location, experiment name, and run name
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
EXPERIMENT_NAME = "experiment-1"
RUN_NAME = "run-1"

# Create the experiment to run
aiplatform.init(experiment=EXPERIMENT_NAME,
                project=PROJECT_NAME,
                location=LOCATION)

# Create and run an ExperimentRun resource. Next, you can use it to get
# information about your experiment. For example, you can log parameters and
# metrics with specified key-value pairs.
with aiplatform.start_run(RUN_NAME):
     aiplatform.log_params({'learning_rate': 0.1, 'dropout_rate': 0.2})
     aiplatform.log_metrics({'accuracy': 0.9, 'recall': 0.8})

# Get a reference to the ExperimentRun resource, get the parameters logged to 
# the run, get the summary metrics logged to the run, then delete it.
with aiplatform.start_run(RUN_NAME, resume=True) as run:
     run.get_params()
     run.get_metrics()
     run.delete()

Vertex AI TensorBoard-Klassen

Das Vertex AI SDK für Python enthält Klassen für die Arbeit mit einer verwalteten Version des Open-Source-Vertex AI TensorBoard. Vertex AI TensorBoard ist ein Tool, mit dem Sie Messungen und Visualisierungen während Ihres ML-Workflows überwachen können. Weitere Informationen finden Sie unter Erste Schritte mit Vertex AI TensorBoard.

Weitere Informationen über die Verwendung des Vertex AI SDK für Python für die Verwendung von Vertex AI TensorBoard finden Sie in einem der folgenden Notebook-Tutorials:

Tensorboard

Die Klasse Tensorboard stellt eine verwaltete Ressource dar, in der Vertex AI TensorBoard-Tests gespeichert werden. Sie müssen eine Tensorboard-Instanz erstellen, bevor die Tests visualisiert werden können. Sie können in einem Google Cloud -Projekt mehrere Tensorboard-Instanzen erstellen.

Im folgenden Codebeispiel wird gezeigt, wie eine Tensorboard-Instanz erstellt wird:

# Specify your project name, location, and the name of your Tensorboard
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
TENSORBOARD_NAME = "my-tensorboard"

aiplatform.init(project=PROJECT_NAME, location=LOCATION)

tensorboard = aiplatform.Tensorboard.create(
    display_name=TENSORBOARD_NAME,
    project=PROJECT_NAME,
    location=LOCATION,
)

TensorboardExperiment

Das TensorboardExperiment stellt eine Gruppe von TensorboardRun-Objekten dar. Eine TensorboardRun-Instanz stellt die Ergebnisse eines Trainingsjobs dar, der in einem Tensorboard ausgeführt wird.

TensorboardRun

Eine Instanz der Klasse TensorboardRun entspricht einem Trainingsjob, der in einem Tensorboard mit einer bestimmten Gruppe von Hyperparametern, einer Modelldefinition, einem Datensatz usw. ausgeführt wird.

TensorboardTimeSeries

Die Klasse TensorboardTimeSeries stellt eine Reihe dar, die in Trainingsläufen erstellt wurde.

Nächste Schritte