L'SDK Vertex AI per Python include classi utili per visualizzazione, misurazioni e monitoraggio. Queste classi possono essere raggruppate in tre tipi:
- Corsi che utilizzano i metadati per tenere traccia delle risorse nel flusso di lavoro di machine learning (ML)
- Corsi utilizzati per gli esperimenti di Vertex AI
- Corsi utilizzati per Vertex AI TensorBoard
Gli argomenti seguenti forniscono una panoramica delle classi relative al monitoraggio e al monitoraggio di un flusso di lavoro ML nell'SDK Vertex AI per Python.
Classi di metadati
Puoi usare l'SDK Vertex AI per Python per creare Vertex ML Metadata e monitorare e analizzare i metadati nel flusso di lavoro ML. Per ulteriori informazioni, consulta la pagina Introduzione ai metadati Vertex ML.
Artifact
La classe Artifact
rappresenta i metadati in un artefatto in Vertex AI. Un artefatto è un'entità discreta o un dato prodotto
da un flusso di lavoro ML. Esempi di un artefatto sono un set di dati, un model e un file di input.
Per maggiori informazioni, consulta
Monitorare esecuzioni ed artefatti.
Quando crei una risorsa Artifact
, devi specificare il relativo 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 ulteriori informazioni, consulta
Come utilizzare gli schemi di sistema.
Il seguente codice campione mostra come creare una risorsa Artifact
che rappresenti 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 in un'esecuzione
in Vertex AI. 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ò consumare artefatti, come 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 relativo parametro resume
impostato su True
per ripristinarla.
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])
Corsi di Vertex AI Experiments
Puoi usare l'SDK Vertex AI per Python per creare ed eseguire gli esperimenti di Vertex AI. Usa gli esperimenti Vertex AI per tenere traccia delle metriche e dei parametri registrati per analizzare e ottimizzare il flusso di lavoro ML. Per ulteriori informazioni, consulta la pagina Introduzione agli esperimenti Vertex AI.
Per scoprire di più su come utilizzare i corsi Experiment
e ExperimentRun
, prova uno dei seguenti tutorial:
- Crea la derivazione degli esperimenti Vertex AI per l'addestramento personalizzato
- Monitorare parametri e metriche per i modelli addestrati localmente
- Confrontare le esecuzioni delle pipeline con gli esperimenti di Vertex AI
- Inizia a utilizzare gli esperimenti di Vertex AI
Experiment
La classe Experiment
rappresenta un
esperimento in Vertex AI. Utilizza un esperimento per analizzare le
esecuzioni degli esperimenti e le
esecuzioni delle pipeline con diverse
configurazioni, ad esempio più artefatti e iperparametri di input.
Esistono due modi per creare una risorsa Experiment
:
Il modo migliore per creare una
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 una
Experiment
chiamandoaiplatform.Experiment.create
.aiplatform.Experiment.create
crea 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.create
per 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 un'esecuzione di un
esperimento.
Il seguente codice campione mostra come creare e avviare un'esecuzione di un esperimento e poi utilizzarlo per ottenere informazioni sull'esperimento. Per eliminare l'esecuzione dell'esperimento, recupera un riferimento all'istanza ExperimentRun
e chiama il relativo 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_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()
Classi di Vertex AI TensorBoard
L'SDK Vertex AI per Python include classi per funzionare con una versione gestita di Vertex AI TensorBoard open source. Vertex AI TensorBoard è uno strumento utilizzato per monitorare misurazioni e visualizzazioni durante il flusso di lavoro ML. Per ulteriori informazioni, consulta la guida introduttiva all'utilizzo di Vertex AI TensorBoard.
Per scoprire di più sull'utilizzo dell'SDK Vertex AI per Python per il funzionamento con Vertex AI TensorBoard, prova uno dei seguenti tutorial sul blocco note:
- Profila le prestazioni di addestramento dei modelli utilizzando Vertex AI TensorBoard Profiler
- Addestramento personalizzato di Vertex AI TensorBoard con un container personalizzato.
- Addestramento personalizzato 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 Vertex AI TensorBoard Profiler
- Profila le prestazioni di addestramento di un modello utilizzando Vertex AI TensorBoard Profiler nell'addestramento personalizzato con un container predefinito
- Profila le prestazioni di addestramento di un modello utilizzando Vertex AI TensorBoard 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 Tensorboard
prima di poter visualizzare gli esperimenti. Puoi creare più di un'istanza Tensorboard
in un progetto Google Cloud.
Il seguente codice campione mostra come creare un'istanza 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 una TensorBoard.
TensorboardRun
Un'istanza della classe TensorboardRun
viene mappata a un job di addestramento eseguito in una TensorBoard con un set specificato di iperparametri, una definizione di modello, un set di dati e altro ancora.
TensorboardTimeSeries
La classe TensorboardTimeSeries
rappresenta una serie prodotta durante le sessioni di addestramento.
Passaggi successivi
- Scopri di più sull'SDK Vertex AI.