CustomTrainingJob
。
建立 CustomTrainingJob
時,您會在背景定義訓練管道。Vertex AI 會使用訓練管道和 Python 訓練指令碼中的程式碼,訓練及建立模型。詳情請參閱「建立訓練管道」。
定義訓練管道
如要建立訓練管道,請建立 CustomTrainingJob
物件。在下一個步驟中,您將使用 CustomTrainingJob
的 run
指令建立及訓練模型。如要建立 CustomTrainingJob
,請將下列參數傳遞至其建構函式:
display_name
:在定義 Python 訓練指令碼的指令引數時,所建立的JOB_NAME
變數。script_path
:您在本教學課程中先前建立的 Python 訓練指令碼路徑。container_url
:用於訓練模型的 Docker 容器映像檔 URI。requirements
:指令碼的 Python 套件依附元件清單。model_serving_container_image_uri
:提供模型預測結果的 Docker 容器映像檔 URI。這個容器可以是預建容器或您自己的自訂映像檔。本教學課程使用預先建構的容器。
執行下列程式碼,建立訓練管道。CustomTrainingJob
方法會使用 task.py
檔案中的 Python 訓練指令碼,建構 CustomTrainingJob
。
job = aiplatform.CustomTrainingJob(
display_name=JOB_NAME,
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",
)
建立及訓練模型
在先前的步驟中,您建立了名為 job
的 CustomTrainingJob
。如要建立及訓練模型,請在 CustomTrainingJob
物件上呼叫 run
方法,並傳遞下列參數:
dataset
:本教學課程中先前建立的資料表資料集。這個參數可以是表格、圖片、影片或文字資料集。model_display_name
- 模型名稱。bigquery_destination
:指定 BigQuery 資料集位置的字串。args
:傳遞至 Python 訓練指令碼的指令列引數。
如要開始訓練資料並建立模型,請在筆記本中執行下列程式碼:
MODEL_DISPLAY_NAME = "penguins_model_unique"
# Start the training and create your model
model = job.run(
dataset=dataset,
model_display_name=MODEL_DISPLAY_NAME,
bigquery_destination=f"bq://{project_id}",
args=CMDARGS,
)
在繼續進行下一個步驟之前,請確認 job.run
指令的輸出內容中顯示以下內容,以便驗證是否已完成:
CustomTrainingJob run completed
。
訓練作業完成後,您就可以部署模型。
部署模型
部署模型時,您也會建立用於預測的 Endpoint
資源。如要部署模型並建立端點,請在筆記本中執行下列程式碼:
DEPLOYED_NAME = "penguins_deployed_unique"
endpoint = model.deploy(deployed_model_display_name=DEPLOYED_NAME)
請等待模型部署完成,再繼續進行下一個步驟。模型部署後,輸出結果會包含文字 Endpoint model deployed
。
如要在 Google Cloud 控制台中查看部署作業狀態,請按照下列步驟操作:
在 Google Cloud 控制台中,前往「Endpoints」(端點) 頁面。
監控「模型」下方的值。端點建立後,在模型部署前,這個值為
0
。模型部署後,值會更新為1
。下圖顯示端點建立完成後,但尚未部署模型的狀態。
以下顯示端點建立完成後,以及模型部署至端點後的情況。