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.runAutoMLImageTrainingJob.runAutoMLTabularTrainingJob.runAutoMLTextTrainingJob.runAutoMLVideoTrainingJob.runCustomContainerTrainingJob.runCustomPythonPackageTrainingJob.runCustomTrainingJob.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.uploadModel.upload_scikit_learn_model_fileModel.upload_tensorflow_saved_modelModel.upload_xgboost_model_file
部署模型
註冊模型後,您必須先將模型部署至端點,才能用於預測。使用 Model.deploy 方法將模型部署至 Endpoint。詳情請參閱「將模型部署至端點」。
ModelEvaluation
使用 ModelEvaluation 類別取得 AutoML 模型的評估指標 (例如精確度和召回率),協助您判斷模型效能。詳情請參閱「在 Gemini Enterprise Agent Platform 中評估模型」。
下列程式碼範例說明如何列出模型 ID 為 model-id 的模型的所有評估結果,該模型位於專案 ID 為 my-project 的專案中,且位於 us-central1 區域:
model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')
evaluations = model.list_model_evaluations()
下列程式碼範例說明如何取得模型評估結果。這個模型 ID 為 model-id,位於專案 ID 為 my-project 的專案中,且位於 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
如要建立模型評估的參照,請使用其資源名稱或模型 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。