L'SDK Vertex AI include la classe Model per lavorare con un modello che addestrini e poi utilizzi per le previsioni. L'SDK include anche la classe ModelEvaluation per valutare le metriche sui modelli AutoML addestrati. Per ulteriori informazioni sui modelli, consulta Addestrare
e utilizzare i tuoi modelli.
Model
La classe Model rappresenta un modello addestrato registrato in Vertex AI Model Registry. Utilizzi un modello addestrato per
generare previsioni.
Utilizza il metodo aiplatform.Model() per trovare e
restituire un riferimento a un modello. Puoi specificare un modello utilizzando il nome o l'ID.
Poiché più modelli in un progetto possono condividere lo stesso nome, ti consigliamo di specificare un modello con il relativo ID modello. Il seguente esempio di codice mostra come
utilizzare un ID modello per trovare e restituire un riferimento a un modello esistente:
MODEL_ID="my-sample-model-ID"
model = aiplatform.Model(model_name=MODEL_ID)
Dopo aver ottenuto un riferimento a un modello addestrato, puoi utilizzare le proprietà e i metodi di Model per utilizzarlo e ottenere previsioni.
Creare un modello registrato
Per creare una risorsa modello registrata nel
registro dei modelli di Vertex AI, chiama il metodo run in una classe di job di addestramento.
I seguenti metodi creano un modello, lo addestrano, lo registrano in Vertex AI Model Registry e poi restituiscono un riferimento al modello.
AutoMLForecastingTrainingJob.runAutoMLImageTrainingJob.runAutoMLTabularTrainingJob.runAutoMLTextTrainingJob.runAutoMLVideoTrainingJob.runCustomContainerTrainingJob.runCustomPythonPackageTrainingJob.runCustomTrainingJob.run
Il seguente codice di esempio mostra come creare una risorsa CustomTrainingJob e poi utilizzare il relativo metodo run per creare un modello, addestrarlo, registrarlo nel Model Registry di Vertex AI e restituire un riferimento al modello:
# Create a custom training job using a script
job = aiplatform.CustomTrainingJob(
display_name="my-training-job",
script_path="task.py",
container_uri="us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-8:latest",
requirements=["google-cloud-bigquery>=2.20.0", "db-dtypes", "protobuf<3.20.0"],
model_serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-8:latest",
)
# Create and train your model using a BigQuery dataset. The method
# returns a reference to the trained model.
model = job.run(
dataset=dataset,
model_display_name="my-model-name",
bigquery_destination=f"bq://{project_id}",
args=CMDARGS,
)
Creare un modello non registrato
Per creare un modello non registrato in Vertex AI Model Registry,
utilizza la classe CustomJob e il relativo metodo run. Il metodo
CustomJob.run
addestra un modello, ma non lo registra nel
registro dei modelli di Vertex AI e non restituisce un riferimento al modello.
Se utilizzi la classe CustomJob, devi utilizzare uno script per scrivere il
modello in una posizione, ad esempio un bucket Cloud Storage. Per ulteriori informazioni, consulta la sezione Esportare un modello di ML addestrato.
Registra un modello
Se hai un modello non registrato in Vertex AI Model Registry, devi registrarlo per poter gestire il suo ciclo di vita. Vertex AI Model Registry è un repository centrale che fornisce una panoramica dei tuoi modelli in modo da poterli gestire. Per maggiori informazioni, consulta Introduzione a Vertex AI Model Registry.
L'SDK Vertex AI include i seguenti metodi per importare un modello nel registro dei modelli di Vertex AI. Fai clic su uno dei metodi per saperne di più nella guida di riferimento dell'SDK Vertex AI.
Model.uploadModel.upload_scikit_learn_model_fileModel.upload_tensorflow_saved_modelModel.upload_xgboost_model_file
Esegui il deployment di un modello
Dopo aver registrato un modello, devi eseguirlo in un endpoint prima di poterlo utilizzare per le previsioni. Utilizza il metodo
Model.deploy per eseguire il deployment del modello in un
Endpoint. Per maggiori informazioni, consulta Eseguire il deployment di un modello in un endpoint.
ModelEvaluation
Utilizza la classe ModelEvaluation per ottenere le metriche di valutazione per i modelli AutoML, come precisione e richiamo, per aiutarti a determinare le prestazioni dei tuoi modelli. Per ulteriori informazioni, consulta la sezione Valutazione del
modello in Vertex AI.
Il seguente esempio di codice mostra come elencare tutte le valutazioni per un modello con ID modello model-id che si trova in un progetto con ID progetto my-project e nella regione us-central1:
model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')
evaluations = model.list_model_evaluations()
Il seguente esempio di codice mostra come ottenere la valutazione del modello per un modello con ID modello model-id che si trova in un progetto con ID progetto my-project e che si trova nella regione us-central1:
model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')
# Return the first evaluation with no arguments. You can also specify a model
# using its model ID.
evaluation = model.get_model_evaluation()
eval_metrics = evaluation.metrics
Per creare un riferimento a una valutazione del modello, utilizza il nome della risorsa o l'ID del modello e l'ID valutazione. Il seguente esempio di codice mostra come creare un riferimento a una valutazione del modello utilizzando il nome della risorsa:
evaluation = aiplatform.ModelEvaluation(
evaluation_name='projects/my-project/locations/us-central1/
models/{model-id}/evaluations/{evaluation-id}')
eval_metrics = evaluation.metrics
Il seguente esempio di codice mostra come creare un riferimento a una valutazione del modello utilizzando l'ID modello e l'ID valutazione:
evaluation.metrics = aiplatform.ModelEvaluation(
evaluation_name={evaluation-id},
model_id={model-id})
eval_metrics = evaluation.metrics
Passaggi successivi
- Scopri di più sull'SDK Vertex AI.