Das Vertex AI SDK für Python enthält Klassen, die Sie bei der Visualisierung, der Messung und dem Tracking unterstützen. Diese Klassen können in drei Typen unterteilt werden:
- Klassen, die Metadaten verwenden, um Ressourcen in Ihrem ML-Workflow zu verfolgen
- Klassen, die für Vertex AI-Experimente 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 für Python zusammenhängen.
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 Einführung in Vertex ML Metadata.
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 ein Artefakt 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 das zugehörige Schema angeben. Jeder Artefakttyp hat ein eindeutiges Schema. Das Schema system.Dataset
stellt beispielsweise ein Dataset und das Schema system.Metrics
die Bewertungsmesswerte dar. Weitere Informationen finden Sie unter Systemschemas verwenden.
Der 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 Klasse Execution
stellt die Metadaten in einer Ausführung in Vertex AI dar. Eine Ausführung ist ein Schritt in einem ML-Workflow.
Beispiele für eine Ausführung 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.
Der folgende Beispielcode 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
Sie können das Vertex AI SDK für Python verwenden, um Vertex AI Experiments zu erstellen und auszuführen. Mit Vertex AI Experiments können Sie protokollierte Messwerte und Parameter zur Analyse und Optimierung Ihres ML-Workflows verfolgen. 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:
- 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 Klasse Experiment
stellt einen Test in Vertex AI dar. Verwenden Sie einen Test, um die Testausführungen und Pipelineausführungen mit verschiedenen Konfigurationen wie mehrere Eingabeartefakte und Hyperparameter.
Es gibt zwei Möglichkeiten, eine Experiment
-Ressource zu erstellen:
Die bevorzugte Methode zum Erstellen eines
Experiment
ist die Angabe eines Namens für den Test als Parameter beim Aufrufen vonaiplatform.init
:# 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
Experiment
erstellen, indem Sieaiplatform.Experiment.create
aufrufen.aiplatform.Experiment.create
erstellt die RessourceExperiment
, legt sie aber nicht auf eine globale Umgebung fest. Aus diesem Grund können Sie den Test nicht mitaiplatform.start_run
ausführen. Der folgende Beispielcode zeigt, wie Sie mitaiplatform.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 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_name=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-Tools Vertex AI TensorBoard. Vertex AI TensorBoard ist ein Tool, mit dem Messwerte und Visualisierungen während Ihres ML-Workflows überwacht werden. 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 Profilmodelltrainings mit Vertex AI TensorBoard Profiler
- 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
- Profilerstellung der Trainingsleistung eines Modells mit Vertex AI TensorBoard Profiler
- Profilerstellung der Trainingsleistung eines Modells mit Vertex AI TensorBoard Profiler im benutzerdefinierten Training mit einem vordefinierten Container
- Profilerstellung der Trainingsleistung eines Modells mit Vertex AI TensorBoard Profiler im benutzerdefinierten Training mit einem vordefinierten Container
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.
Der folgende Beispielcode 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
Der 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 TensorboardRun
-Klasse wird einem Trainingsjob in einem TensorBoard mit einem angegebenen Satz von Hyperparametern, einer Modelldefinition, einem Dataset und mehr zugeordnet.
TensorboardTimeSeries
Die Klasse TensorboardTimeSeries
stellt eine Reihe dar, die in Trainingsläufen erstellt wurde.