Vertex AI SDK 包含 Model
类,可用来处理您训练并用于进行预测的模型。此 SDK 还包含 ModelEvaluation
类,可用来评估经过训练的 AutoML 模型的指标。如需详细了解模型,请参阅训练和使用您自己的模型。
Model
Model
类表示经过训练且已在 Vertex AI Model Registry 中注册的模型。您可以使用经过训练的模型来生成预测。
可使用 aiplatform.Model()
方法查找模型并返回对模型的引用。您可以使用模型名称或 ID 指定模型。由于一个项目中允许有多个模型同名,因此建议使用模型 ID 来指定模型。以下代码示例展示了如何使用模型 ID 来查找现有模型并返回对该模型的引用:
MODEL_ID="my-sample-model-ID"
model = aiplatform.Model(model_name=MODEL_ID)
有了对经过训练的模型的引用之后,您便可以使用 Model
的属性和方法来处理模型并进行预测。
创建已注册的模型
如需创建已在 Vertex AI Model Registry 中注册的模型资源,请对训练作业类调用 run
方法。以下方法均会创建模型,训练模型,在 Vertex AI Model Registry 中注册模型,然后返回对模型的引用。
AutoMLForecastingTrainingJob.run
AutoMLImageTrainingJob.run
AutoMLTabularTrainingJob.run
AutoMLTextTrainingJob.run
AutoMLVideoTrainingJob.run
CustomContainerTrainingJob.run
CustomPythonPackageTrainingJob.run
CustomTrainingJob.run
以下示例代码展示了如何创建 CustomTrainingJob
资源,然后使用其 run
方法创建模型、训练模型、在 Vertex AI Model Registry 中注册模型并返回对模型的引用:
# 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,
)
创建未注册的模型
如需创建未注册到 Vertex AI Model Registry 的模型,请使用 CustomJob
类及其 run
方法。CustomJob.run
方法会训练模型,但不会在 Vertex AI Model Registry 中注册模型,也不会返回对模型的引用。
如果您使用 CustomJob
类,则需要使用脚本将模型写入某个位置,例如某个 Cloud Storage 存储桶。如需了解详情,请参阅导出经过训练的机器学习模型。
注册模型
如果您的模型未注册到 Vertex AI Model Registry,则您需要注册模型,以便管理模型的生命周期。Vertex AI Model Registry 是一个中央代码库,提供模型概览信息,方便您管理模型。如需了解详情,请参阅 Vertex AI Model Registry 简介。
Vertex AI SDK 提供了以下方法来将模型导入 Vertex AI Model Registry。您可以点击其中一种方法,以在 Vertex AI SDK 参考指南中详细了解该方法。
Model.upload
Model.upload_scikit_learn_model_file
Model.upload_tensorflow_saved_model
Model.upload_xgboost_model_file
部署模型
注册模型后,需要先将模型部署到端点,然后才能使用模型进行预测。可使用 Model.deploy
方法将模型部署到 Endpoint
。如需了解详情,请参阅将模型部署到端点。
ModelEvaluation
可使用 ModelEvaluation
类获取 AutoML 模型的评估指标(例如精确率和召回率),以帮助确定模型的性能。如需了解详情,请参阅 Vertex AI 中的模型评估。
以下代码示例演示了如何列出模型 ID 为 model-id
的模型(该模型位于 us-central1
区域项目 ID 为 my-project
的项目中)的所有评估:
model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')
evaluations = model.list_model_evaluations()
以下代码示例演示了如何获取模型 ID 为 model-id
的模型(该模型位于 us-central1
区域项目 ID 为 my-project
的项目中)的评估:
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
如需创建对模型评估的引用,请使用其资源名称,或者使用模型 ID 和评估 ID。以下代码示例演示了如何使用资源名称创建对模型评估的引用:
evaluation = aiplatform.ModelEvaluation(
evaluation_name='projects/my-project/locations/us-central1/
models/{model-id}/evaluations/{evaluation-id}')
eval_metrics = evaluation.metrics
以下代码示例演示了如何使用模型 ID 和评估 ID 创建对模型评估的引用:
evaluation.metrics = aiplatform.ModelEvaluation(
evaluation_name={evaluation-id},
model_id={model-id})
eval_metrics = evaluation.metrics
后续步骤
- 了解 Vertex AI SDK。