您可以直接在Google Cloud 控制台中建立 AutoML 模型,也可以使用 API 或其中一個 Agent Platform 用戶端程式庫,以程式輔助方式建立訓練管道。
這個模型是使用您透過控制台或 Agent Platform API 提供的預先準備資料集建立而成。Agent Platform API 會使用資料集中的項目訓練模型、測試模型,並評估模型效能。查看評估結果、根據需要調整訓練資料集,並使用改善的資料集建立新的訓練管道。
模型訓練可能需要數小時才能完成。Agent Platform API 可讓您取得訓練工作的狀態。
建立 AutoML Edge 訓練管道
當您的資料集擁有一整組具代表性的訓練項目時,表示您已經準備好建立 AutoML Edge 訓練管道。
選取下方分頁標籤,瞭解如何達成目標:
分類
訓練時,您可以根據特定用途選擇要使用的 AutoML Edge 模型類型:
- 低延遲 (
MOBILE_TF_LOW_LATENCY_1) - 一般用途 (
MOBILE_TF_VERSATILE_1) - 提高預測品質 (
MOBILE_TF_HIGH_ACCURACY_1)
選取下方分頁標籤,查看適用於您語言或環境的說明:
REST
使用任何要求資料之前,請先修改下列項目的值:
- LOCATION:資料集所在區域和模型建立區域。例如:
us-central1。 - PROJECT:您的專案 ID。
- TRAININGPIPELINE_DISPLAYNAME:必填,trainingPipeline 的顯示名稱。
- DATASET_ID:用於訓練的資料集 ID 編號。
- fractionSplit:選用。這是資料的其中一種可能機器學習用途分割選項。
fractionSplit的值總和必須為 1。例如:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*:上傳 (建立) 模型的顯示名稱,由 TrainingPipeline 提供。
- MODEL_DESCRIPTION*:模型的說明。
- modelToUpload.labels*:任何用來整理模型的鍵值組。例如:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†:要訓練的 Edge 模型類型。相關選項如下:
MOBILE_TF_LOW_LATENCY_1MOBILE_TF_VERSATILE_1MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†:實際訓練費用會等於或低於這個值。如果是 Edge 模型,預算必須介於 1,000 到 100,000 毫節點時數 (含首尾)。
- PROJECT_NUMBER:系統自動為專案產生的專案編號
| * | 您在 trainingTaskDefinition 中指定的結構定義檔案說明,會說明這個欄位的用途。 |
| † | 您在 trainingTaskDefinition 中指定的結構定義檔案會宣告並說明這個欄位。 |
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
JSON 要求內文:
{
"displayName": "TRAININGPIPELINE_DISPLAYNAME",
"inputDataConfig": {
"datasetId": "DATASET_ID",
"fractionSplit": {
"trainingFraction": "DECIMAL",
"validationFraction": "DECIMAL",
"testFraction": "DECIMAL"
}
},
"modelToUpload": {
"displayName": "MODEL_DISPLAYNAME",
"description": "MODEL_DESCRIPTION",
"labels": {
"KEY": "VALUE"
}
},
"trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml",
"trainingTaskInputs": {
"multiLabel": "false",
"modelType": ["EDGE_MODELTYPE"],
"budgetMilliNodeHours": NODE_HOUR_BUDGET
}
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
回覆內容會包含規格資訊和 TRAININGPIPELINE_ID。
您可以使用 TRAININGPIPELINE_ID 取得 trainingPipeline 工作的狀態。
分類
訓練時,您可以根據特定用途選擇要使用的 AutoML Edge 模型類型:
- 低延遲 (
MOBILE_TF_LOW_LATENCY_1) - 一般用途 (
MOBILE_TF_VERSATILE_1) - 提高預測品質 (
MOBILE_TF_HIGH_ACCURACY_1)
選取下方分頁標籤,查看適用於您語言或環境的說明:
REST
使用任何要求資料之前,請先修改下列項目的值:
- LOCATION:資料集所在區域和模型建立區域。例如:
us-central1。 - PROJECT:您的專案 ID。
- TRAININGPIPELINE_DISPLAYNAME:必填,trainingPipeline 的顯示名稱。
- DATASET_ID:用於訓練的資料集 ID 編號。
- fractionSplit:選用。這是資料的其中一種可能機器學習用途分割選項。
fractionSplit的值總和必須為 1。例如:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*:上傳 (建立) 模型的顯示名稱,由 TrainingPipeline 提供。
- MODEL_DESCRIPTION*:模型的說明。
- modelToUpload.labels*:任何用來整理模型的鍵值組。例如:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†:要訓練的 Edge 模型類型。相關選項如下:
MOBILE_TF_LOW_LATENCY_1MOBILE_TF_VERSATILE_1MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†:實際訓練費用會等於或低於這個值。如果是 Edge 模型,預算必須介於 1,000 到 100,000 毫節點時數 (含首尾)。
- PROJECT_NUMBER:系統自動為專案產生的專案編號
| * | 您在 trainingTaskDefinition 中指定的結構定義檔案說明,會說明這個欄位的用途。 |
| † | 您在 trainingTaskDefinition 中指定的結構定義檔案會宣告並說明這個欄位。 |
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
JSON 要求內文:
{
"displayName": "TRAININGPIPELINE_DISPLAYNAME",
"inputDataConfig": {
"datasetId": "DATASET_ID",
"fractionSplit": {
"trainingFraction": "DECIMAL",
"validationFraction": "DECIMAL",
"testFraction": "DECIMAL"
}
},
"modelToUpload": {
"displayName": "MODEL_DISPLAYNAME",
"description": "MODEL_DESCRIPTION",
"labels": {
"KEY": "VALUE"
}
},
"trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml",
"trainingTaskInputs": {
"multiLabel": "true",
"modelType": ["EDGE_MODELTYPE"],
"budgetMilliNodeHours": NODE_HOUR_BUDGET
}
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
回覆內容會包含規格資訊和 TRAININGPIPELINE_ID。
您可以使用 TRAININGPIPELINE_ID 取得 trainingPipeline 工作的狀態。
物件偵測
訓練時,您可以根據特定用途選擇要使用的 AutoML Edge 模型類型:
- 低延遲 (
MOBILE_TF_LOW_LATENCY_1) - 一般用途 (
MOBILE_TF_VERSATILE_1) - 提高預測品質 (
MOBILE_TF_HIGH_ACCURACY_1)
選取下方分頁標籤,查看適用於您語言或環境的說明:
REST
使用任何要求資料之前,請先修改下列項目的值:
- LOCATION:資料集所在區域和模型建立區域。例如:
us-central1。 - PROJECT:您的專案 ID。
- TRAININGPIPELINE_DISPLAYNAME:必填,trainingPipeline 的顯示名稱。
- DATASET_ID:用於訓練的資料集 ID 編號。
fractionSplit:選用。這是資料的其中一種可能機器學習用途分割選項。fractionSplit的值總和必須為 1。例如:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*:上傳 (建立) 模型的顯示名稱,由 TrainingPipeline 提供。
- MODEL_DESCRIPTION*:模型的說明。
- modelToUpload.labels*:任何用來整理模型的鍵值組。例如:
- "env": "prod"
- "tier": "backend"
- EDGE_MODELTYPE†:要訓練的 Edge 模型類型。相關選項如下:
MOBILE_TF_LOW_LATENCY_1MOBILE_TF_VERSATILE_1MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†:實際訓練費用會等於或低於這個值。如果是雲端模型,預算必須介於 20,000 至 900,000 毫節點時數 (含)。 預設值為 216,000,假設使用 9 個節點,這代表一個 wall time。
- PROJECT_NUMBER:系統自動為專案產生的專案編號
| * | 您在 trainingTaskDefinition 中指定的結構定義檔案說明,會說明這個欄位的用途。 |
| † | 您在 trainingTaskDefinition 中指定的結構定義檔案會宣告並說明這個欄位。 |
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines
JSON 要求內文:
{
"displayName": "TRAININGPIPELINE_DISPLAYNAME",
"inputDataConfig": {
"datasetId": "DATASET_ID",
"fractionSplit": {
"trainingFraction": "DECIMAL",
"validationFraction": "DECIMAL",
"testFraction": "DECIMAL"
}
},
"modelToUpload": {
"displayName": "MODEL_DISPLAYNAME",
"description": "MODEL_DESCRIPTION",
"labels": {
"KEY": "VALUE"
}
},
"trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_object_detection_1.0.0.yaml",
"trainingTaskInputs": {
"modelType": ["EDGE_MODELTYPE"],
"budgetMilliNodeHours": NODE_HOUR_BUDGET
}
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines" | Select-Object -Expand Content
回覆內容會包含規格資訊和 TRAININGPIPELINE_ID。
您可以使用 TRAININGPIPELINE_ID 取得 trainingPipeline 工作的狀態。
取得 trainingPipeline 狀態
使用下列程式碼,以程式輔助方式取得 trainingPipeline 建立狀態。
REST
使用任何要求資料之前,請先修改下列項目的值:
- LOCATION:TrainingPipeline 所在的區域。
- PROJECT:您的專案 ID。
- TRAININGPIPELINE_ID:特定 TrainingPipeline 的 ID。
- PROJECT_NUMBER:系統自動為專案產生的專案編號
HTTP 方法和網址:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAININGPIPELINE_ID
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAININGPIPELINE_ID"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/trainingPipelines/TRAININGPIPELINE_ID" | Select-Object -Expand Content
「"state"」欄位會顯示作業的目前狀態。完成的 trainingPipeline 會顯示
完成 create trainingPipeline operation 後,畫面會顯示類似以下的輸出:
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 Agent Platform 快速入門導覽課程」中的 Java 設定說明操作。詳情請參閱 Agent Platform Java API 參考文件。
如要向 Agent Platform 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要瞭解如何安裝或更新 Vertex AI SDK for Python,請參閱「安裝 Vertex AI SDK for Python」。 詳情請參閱 Python API 參考文件。
取得模型資訊
訓練管道建立完成後,您可以使用模型的顯示名稱取得更詳細的模型資訊。
REST
使用任何要求資料之前,請先修改下列項目的值:
- LOCATION:模型所在的區域。例如:
us-central1 - PROJECT:。
- MODEL_DISPLAYNAME:您在建立 trainingPipeline 工作時指定的模型顯示名稱。
- PROJECT_NUMBER:系統自動為專案產生的專案編號
HTTP 方法和網址:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models?filter=display_name=MODEL_DISPLAYNAME
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models?filter=display_name=MODEL_DISPLAYNAME"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models?filter=display_name=MODEL_DISPLAYNAME" | Select-Object -Expand Content
針對訓練完成的 AutoML Edge 模型,畫面會顯示類似以下的輸出。以下是圖片 AutoML Edge 模型的輸出範例:
Java
在試用這個範例之前,請先按照「使用用戶端程式庫的 Agent Platform 快速入門導覽課程」中的 Java 設定說明操作。詳情請參閱 Agent Platform Java API 參考文件。
如要向 Agent Platform 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 Agent Platform 快速入門導覽課程」中的 Node.js 設定說明操作。詳情請參閱 Agent Platform Node.js API 參考文件。
如要向 Agent Platform 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要瞭解如何安裝或更新 Vertex AI SDK for Python,請參閱「安裝 Vertex AI SDK for Python」。 詳情請參閱 Python API 參考文件。