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 gruppieren:
- Klassen, die Metadaten verwenden, um Ressourcen in Ihrem Workflow für maschinelles Lernen (ML) zu verfolgen
- Klassen, die für Vertex AI Experiments verwendet werden
- Klassen, die für ein Vertex AI TensorBoard verwendet werden
Die folgenden Themen bieten eine Übersicht über die Klassen, die zum Verfolgen und Überwachen eines ML-Workflows im Vertex AI SDK für Python verwendet werden.
Metadatenklassen
Mit dem Vertex AI SDK für Python können Sie Vertex ML Metadata erstellen, um die Metadaten in Ihrem ML-Workflow zu verfolgen und zu analysieren. Weitere Informationen finden Sie unter siehe Einführung in Vertex ML Metadata.
Artifact
Die Artifact Klasse stellt die Metadaten in einem
Artefakt in der Gemini Enterprise Agent Platform 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 verfolgen.
Wenn Sie eine Artifact-Ressource erstellen, müssen Sie ihr Schema angeben. Jeder Artefakttyp hat ein eindeutiges Schema. Das Schema system.Dataset stellt beispielsweise ein Dataset dar und das Schema system.Metrics stellt Bewertungs-Messwerte dar. Weitere Informationen finden Sie unter
Systems-Schemas verwenden.
Das folgende Beispielcode zeigt, wie Sie eine
Artifact-Ressource erstellen, die ein Modell darstellt:
model_artifact = aiplatform.Artifact.create(
schema_title="system.Model",
display_name=PREPROCESSED_DATASET_NAME,
uri=PREPROCESSED_DATASET_URI,
Execution
Die Execution Klasse stellt die Metadaten in einer
Ausführung in der Gemini Enterprise Agent Platform dar. Eine Ausführung ist ein Schritt in einem ML-Workflow.
Beispiele für Ausführungen sind Datenverarbeitung, Training und Modellbewertung. Eine Ausführung kann Artefakte wie ein Dataset nutzen und ein Artefakt wie ein Modell erzeugen.
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.
Das folgende Codebeispiel zeigt, wie Sie eine
Execution-Ressource erstellen:
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 Experiments erstellen und ausführen. Verwenden Sie Vertex AI Experiments, um protokollierte Messwerte und Parameter zu verfolgen, damit Sie Ihren ML-Workflow analysieren und optimieren können. Weitere Informationen finden Sie unter Einführung in Vertex AI Experiments.
Weitere Informationen zur Verwendung der Experiment und
ExperimentRun Klassen finden Sie in einem der folgenden
Tutorials:
- Vertex AI Experiments-Herkunft für benutzerdefiniertes Training erstellen
- Parameter und Messwerte für lokal trainierte Modelle verfolgen
- Pipelineausführungen mit Vertex AI Experiments vergleichen
- Erste Schritte mit Vertex AI Experiments
Experiment
Die Experiment Klasse stellt einen Test in
der Gemini Enterprise Agent Platform dar. Verwenden Sie einen Test, 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:
Die bevorzugte Methode zum Erstellen eines
Experimentbesteht darin, beim Aufrufen vonaiplatform.initeinen 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)Sie können auch
aiplatform.Experiment.createaufrufen, um einExperimentzu erstellen.aiplatform.Experiment.createerstellt dieExperiment-Ressource, legt sie aber nicht in einer globalen Umgebung fest. Daher können Sie den Test nicht mitaiplatform.start_runausführen. Das folgende Beispielcode zeigt, wie Sie mitaiplatform.Experiment.createeinen Test erstellen und ihn 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 ExperimentRun Klasse stellt eine Ausführung eines
Tests 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 Verwendung einer verwalteten Version des Open-Source-Tools Vertex AI TensorBoard. Vertex AI TensorBoard ist ein Tool zum Überwachen von Messungen und Visualisierungen während Ihres ML-Workflows. 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:
- Leistung des Modelltrainings mit Cloud Profiler profilieren
- Benutzerdefiniertes Vertex AI TensorBoard-Training mit benutzerdefiniertem Container
- Benutzerdefiniertes Vertex AI TensorBoard-Training mit vordefiniertem Container
- Vertex AI TensorBoard-Hyperparameter-Abstimmung mit dem HParams-Dashboard.
- Leistung des Modelltrainings mit Cloud Profiler profilieren
- Leistung des Modelltrainings mit Cloud Profiler im benutzerdefinierten Training mit einem vordefinierten Container profilieren
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.
Das folgende Codebeispiel zeigt, wie Sie eine
Tensorboard-Instanz erstellen:
# 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
Die TensorboardExperiment stellt eine
Gruppe von TensorboardRun-Objekten dar. Eine
TensorboardRun-Instanz stellt die Ergebnisse
eines Trainingsjoblaufs in einem TensorBoard dar.
TensorboardRun
Eine Instanz der Klasse TensorboardRun wird
einem Trainingsjoblauf in einem TensorBoard mit einer bestimmten Gruppe von Hyperparametern, einer
Modelldefinition, einem Dataset usw. zugeordnet.
TensorboardTimeSeries
Die TensorboardTimeSeries Klasse
stellt eine Reihe dar, die in Trainingsläufen erzeugt wird.