L'SDK Vertex AI include la classe Model
per lavorare con un modello che addestra 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 modelli personalizzati.
Model
La classe Model
rappresenta un modello addestrato
registrato in Vertex AI Model Registry. Si usa un modello addestrato
per generare previsioni.
Utilizza il metodo aiplatform.Model()
per trovare e
restituire un riferimento a un modello. Puoi specificare un modello tramite 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 della Model
per lavorarci e ottenere previsioni.
Crea un modello registrato
Per creare una risorsa del modello registrata in Vertex AI Model Registry, chiama il metodo run
in una classe job di addestramento.
I seguenti metodi creano un modello, lo addestrano, lo registrano in Vertex AI Model Registry, quindi restituiscono un riferimento al modello.
AutoMLForecastingTrainingJob.run
AutoMLImageTrainingJob.run
AutoMLTabularTrainingJob.run
AutoMLTextTrainingJob.run
AutoMLVideoTrainingJob.run
CustomContainerTrainingJob.run
CustomPythonPackageTrainingJob.run
CustomTrainingJob.run
Il seguente codice campione mostra come creare una risorsa CustomTrainingJob
e quindi utilizzare il relativo metodo run
per creare un modello, addestrare il modello, registrare il modello nel Vertex AI Model Registry 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,
)
Crea 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 in Vertex AI Model Registry e non restituisce un riferimento al modello.
Se utilizzi la classe CustomJob
, devi utilizzare uno script per scrivere il modello in una località, ad esempio un bucket Cloud Storage. Per ulteriori informazioni, consulta Esportare un modello ML addestrato.
Registra un modello
Se hai un modello non registrato in Vertex AI Model Registry, devi registrarlo in modo da poterne gestire il ciclo di vita. Vertex AI Model Registry è un repository centrale che fornisce una panoramica dei modelli per poterli gestire. Per ulteriori informazioni, consulta Introduzione a Vertex AI Model Registry.
L'SDK Vertex AI include i seguenti metodi per importare un modello in Vertex AI Model Registry. Fai clic su uno dei metodi per saperne di più nella guida di riferimento per l'SDK Vertex AI.
Model.upload
Model.upload_scikit_learn_model_file
Model.upload_tensorflow_saved_model
Model.upload_xgboost_model_file
Deployment di un modello
Dopo aver registrato un modello, devi eseguirne il deployment 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 ulteriori 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, al fine di determinare le prestazioni dei tuoi modelli. Per ulteriori informazioni, consulta Valutazione dei modelli 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
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 di un modello con ID modello model-id
che si trova in un progetto con ID my-project
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 alla valutazione di un modello, utilizza il nome risorsa o l'ID modello e l'ID valutazione. Il seguente esempio di codice mostra come creare un riferimento alla valutazione di un 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 alla valutazione di un 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.