您可以直接在Cloud de Confiance 控制台中建立 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 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
如要瞭解如何安裝或更新 Vertex AI SDK for Python,請參閱「安裝 Vertex AI SDK for Python」。 詳情請參閱 Python API 參考文件。
取得模型資訊
trainingPipeline 建立完成後,您可以使用模型的顯示名稱取得更詳細的模型資訊。
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 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Node.js
在試用這個範例之前,請先按照「使用用戶端程式庫的 Agent Platform 快速入門導覽課程」中的 Node.js 設定說明操作。詳情請參閱 Agent Platform Node.js API 參考文件。
如要向 Agent Platform 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
如要瞭解如何安裝或更新 Vertex AI SDK for Python,請參閱「安裝 Vertex AI SDK for Python」。 詳情請參閱 Python API 參考文件。