O SDK do Vertex AI inclui a classe Model
para trabalhar com um modelo que prepara e, em seguida, usa para previsões. O SDK também inclui a classe ModelEvaluation
para avaliar as métricas em modelos do AutoML preparados. Para mais informações sobre modelos, consulte o artigo Prepare e use os seus próprios modelos.
Model
A classe Model
representa um modelo preparado que está registado no Registo de modelos Vertex AI. Usa um modelo preparado para
gerar previsões.
Use o método aiplatform.Model()
para encontrar e
devolver uma referência a um modelo. Pode especificar um modelo através do respetivo nome ou ID.
Uma vez que mais do que um modelo num projeto pode partilhar o mesmo nome, recomendamos que especifique um modelo com o respetivo ID do modelo. O seguinte exemplo de código mostra como
usar um ID do modelo para encontrar e devolver uma referência a um modelo existente:
MODEL_ID="my-sample-model-ID"
model = aiplatform.Model(model_name=MODEL_ID)
Depois de ter uma referência a um modelo preparado, pode usar as
propriedades e os
métodos do Model
para
trabalhar com ele e receber previsões.
Crie um modelo registado
Para criar um recurso de modelo registado no
Registo de modelos da Vertex AI, chame o método run
numa classe de tarefa de preparação.
Os métodos seguintes criam um modelo, preparam o modelo, registam o modelo no
Registo de modelos do Vertex AI e, em seguida, devolvem uma referência ao modelo.
AutoMLForecastingTrainingJob.run
AutoMLImageTrainingJob.run
AutoMLTabularTrainingJob.run
AutoMLTextTrainingJob.run
AutoMLVideoTrainingJob.run
CustomContainerTrainingJob.run
CustomPythonPackageTrainingJob.run
CustomTrainingJob.run
O exemplo de código seguinte mostra como criar um recurso CustomTrainingJob
e, em seguida, usar o respetivo método run
para criar um modelo, preparar o modelo, registar o modelo no Vertex AI Model Registry e devolver uma referência ao modelo:
# 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,
)
Crie um modelo não registado
Para criar um modelo que não esteja registado no Vertex AI Model Registry,
use a classe CustomJob
e o respetivo método run
. O método
CustomJob.run
prepara um modelo, mas não regista o modelo no
Vertex AI Model Registry e não devolve uma referência ao modelo.
Se usar a classe CustomJob
, tem de usar um script para escrever o seu modelo numa localização, como um contentor do Cloud Storage. Para mais informações, consulte o artigo
Exporte um modelo de ML preparado.
Registe um modelo
Se tiver um modelo que não esteja registado no Vertex AI Model Registry, tem de o registar para poder gerir o ciclo de vida do modelo. O Registo de modelos Vertex AI é um repositório central que oferece uma vista geral dos seus modelos para que os possa gerir. Para mais informações, consulte o artigo Introdução ao Registo de modelos Vertex AI.
O SDK do Vertex AI inclui os seguintes métodos para importar um modelo para o Registo de modelos do Vertex AI. Clique num dos métodos para saber mais sobre o mesmo no guia de referência do SDK da Vertex AI.
Model.upload
Model.upload_scikit_learn_model_file
Model.upload_tensorflow_saved_model
Model.upload_xgboost_model_file
Implemente um modelo
Depois de registar um modelo, tem de o implementar num ponto final antes de o poder usar para previsões. Use o método
Model.deploy
para implementar o seu modelo num
Endpoint
. Para mais informações, consulte o artigo Implemente um modelo num ponto final.
ModelEvaluation
Use a classe ModelEvaluation
para obter métricas de avaliação para modelos do AutoML, como a precisão e a revocação, para ajudar a determinar o desempenho dos seus modelos. Para mais informações, consulte o artigo Avaliação de modelos no Vertex AI.
O exemplo de código seguinte mostra como listar todas as avaliações de um modelo com o ID do modelo model-id
que está num projeto com um ID do projeto de my-project
e que está na região us-central1
:
model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')
evaluations = model.list_model_evaluations()
O exemplo de código seguinte mostra como obter a avaliação do modelo para um modelo com o ID do modelo model-id
que está num projeto com um ID do projeto de my-project
e que está na região 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
Para criar uma referência a uma avaliação de modelo, use o respetivo nome do recurso ou ID do modelo e o ID da avaliação. O exemplo de código seguinte mostra como criar uma referência a uma avaliação de modelo através do respetivo nome do recurso:
evaluation = aiplatform.ModelEvaluation(
evaluation_name='projects/my-project/locations/us-central1/
models/{model-id}/evaluations/{evaluation-id}')
eval_metrics = evaluation.metrics
O seguinte exemplo de código mostra como criar uma referência a uma avaliação do modelo usando o ID do modelo e o ID da avaliação:
evaluation.metrics = aiplatform.ModelEvaluation(
evaluation_name={evaluation-id},
model_id={model-id})
eval_metrics = evaluation.metrics
O que se segue?
- Saiba mais sobre o SDK Vertex AI.