模型类

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 中注册模型,然后返回对模型的引用。

以下示例代码展示了如何创建 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.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

后续步骤