L'SDK Vertex AI Python include classi che aiutano con la visualizzazione, le misurazioni e il monitoraggio. Queste classi possono essere raggruppate in tre tipi:
- Classi che utilizzano i metadati per monitorare le risorse nel flusso di lavoro di machine learning (ML)
- Classi utilizzate per Vertex AI Experiments
- Classi utilizzate per una Vertex AI TensorBoard
Gli argomenti seguenti forniscono una panoramica delle classi relative al monitoraggio e al controllo di un workflow ML in SDK Vertex AI Python.
Classi di metadati
Puoi utilizzare l'SDK Vertex AI Python per creare Vertex ML Metadata per aiutarti a monitorare e analizzare i metadati nel workflow ML. Per ulteriori informazioni, consulta Introduzione a Vertex ML Metadata.
Artifact
La classe Artifact rappresenta i metadati in un
artefatto nella piattaforma Gemini Enterprise Agent. Un artefatto è un'entità discreta o un insieme di dati
prodotto da un flusso di lavoro ML. Esempi di artefatto sono un
set di dati, un
modello e un
file di input.
Per saperne di più, consulta Monitorare le esecuzioni e gli artefatti.
Quando crei una risorsa Artifact, devi specificarne lo schema. Ogni tipo di artefatto ha uno schema univoco. Ad esempio,
lo schema system.Dataset rappresenta un set di dati e lo schema system.Metrics
rappresenta le metriche di valutazione. Per saperne di più, consulta
Come utilizzare gli schemi di sistema.
Il seguente codice campione mostra come creare una risorsa
Artifact che rappresenta un modello:
model_artifact = aiplatform.Artifact.create(
schema_title="system.Model",
display_name=PREPROCESSED_DATASET_NAME,
uri=PREPROCESSED_DATASET_URI,
Execution
La classe Execution rappresenta i metadati di un'esecuzione in Gemini Enterprise Agent Platform. Un'esecuzione è un passaggio in un flusso di lavoro ML.
Esempi di esecuzione sono l'elaborazione dei dati, l'addestramento e la valutazione del modello. Un'esecuzione può utilizzare artefatti, ad esempio un set di dati, e produrre un artefatto, ad esempio un modello.
Utilizza
aiplatform.start_execution
per creare una risorsa Execution. Dopo aver creato una risorsa
Execution, utilizza lo stesso metodo
aiplatform.start_execution con il parametro resume impostato su True per riprenderla.
Il seguente codice campione mostra come creare una risorsa
Execution:
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])
Classi Vertex AI Experiments
Puoi utilizzare l'SDK Vertex AI Python per creare ed eseguire Vertex AI Experiments. Utilizza Vertex AI Experiments per monitorare le metriche e i parametri registrati per analizzare e ottimizzare il flusso di lavoro ML. Per ulteriori informazioni, consulta Introduzione a Vertex AI Experiments.
Per scoprire di più su come utilizzare le classi Experiment e ExperimentRun, prova uno dei seguenti tutorial:
- Crea la genealogia degli esperimenti Vertex AI per l'addestramento personalizzato
- Monitorare parametri e metriche per i modelli addestrati localmente
- Confrontare le esecuzioni delle pipeline con Vertex AI Experiments
- Inizia a utilizzare Vertex AI Experiments
Experiment
La classe Experiment rappresenta un esperimento in
Gemini Enterprise Agent Platform. Utilizza un esperimento per analizzare le relative
esecuzioni dell'esperimento e
esecuzioni della pipeline con configurazioni diverse, ad esempio più artefatti di input e iperparametri.
Esistono due modi per creare una risorsa Experiment:
Il modo preferito per creare un
Experimentè specificare un nome per l'esperimento come parametro quando chiamiaiplatform.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)Puoi anche creare un
Experimentchiamando il numeroaiplatform.Experiment.create.aiplatform.Experiment.createcrea la risorsaExperiment, ma non la imposta su un ambiente globale. Per questo motivo, non puoi eseguire l'esperimento conaiplatform.start_run. Il seguente codice campione mostra come utilizzareaiplatform.Experiment.createper creare un esperimento e poi eseguirlo:# 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
La classe ExperimentRun rappresenta l'esecuzione di un
esperimento.
Il seguente codice campione mostra come creare e avviare l'esecuzione di un esperimento, quindi
utilizzarlo per ottenere informazioni sull'esperimento. Per eliminare l'esecuzione dell'esperimento,
ottieni un riferimento all'istanza ExperimentRun
e chiama il suo
metodo delete.
# 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()
Classi Vertex AI TensorBoard
L'SDK Vertex AI per Python include classi per lavorare con una versione gestita di open source Vertex AI TensorBoard. Vertex AI TensorBoard è uno strumento utilizzato per monitorare le misurazioni e le visualizzazioni durante il flusso di lavoro ML. Per saperne di più, consulta Guida introduttiva a Vertex AI TensorBoard.
Per scoprire di più su come utilizzare l'SDK Vertex AI Python per lavorare con Vertex AI TensorBoard, prova uno dei seguenti tutorial sui blocchi note:
- Prestazioni dell'addestramento del modello di profilo utilizzando Cloud Profiler
- Addestramento personalizzato di Vertex AI TensorBoard con un container personalizzato.
- Addestramento personalizzato di Vertex AI TensorBoard con container predefinito
- Ottimizzazione degli iperparametri di Vertex AI TensorBoard con la dashboard HParams
- Profilare le prestazioni di addestramento di un modello utilizzando Cloud Profiler
- Profilare le prestazioni di addestramento di un modello utilizzando Cloud Profiler nell'addestramento personalizzato con un container predefinito
Tensorboard
La classe Tensorboard rappresenta una risorsa gestita che archivia gli esperimenti di Vertex AI TensorBoard. Devi creare un'istanza di
Tensorboard prima che gli esperimenti possano essere
visualizzati. Puoi creare più di un'istanza Tensorboard in un progetto Google Cloud .
Il seguente codice campione mostra come creare un'istanza di
Tensorboard:
# 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
TensorboardExperiment rappresenta un gruppo di oggetti TensorboardRun. Un'istanza
TensorboardRun rappresenta i risultati
di un job di addestramento eseguito in TensorBoard.
TensorboardRun
Un'istanza della classe TensorboardRun corrisponde
a un job di addestramento eseguito in TensorBoard con un insieme specificato di iperparametri, una
definizione del modello, un set di dati e altro ancora.
TensorboardTimeSeries
La classe TensorboardTimeSeries
rappresenta una serie prodotta nelle esecuzioni di addestramento.
Passaggi successivi
- Scopri di più sull'SDK Vertex AI.