您可以直接在Google Cloud 控制台中建立 AutoML 模型,也可以使用 API 或其中一個 Vertex AI 用戶端程式庫,以程式輔助方式建立訓練管道。
這個模型是使用您透過控制台或 Vertex AI API 提供的準備好的資料集建立而成。Vertex AI API 會使用資料集中的項目訓練模型、測試模型,並評估模型效能。查看評估結果、根據需要調整訓練資料集,並使用改善的資料集建立新的訓練管道。
模型訓練作業可能需要數小時才能完成。您可以使用 Vertex AI 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_1
MOBILE_TF_VERSATILE_1
MOBILE_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_1
MOBILE_TF_VERSATILE_1
MOBILE_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_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†:實際訓練費用會等於或低於這個值。如果是雲端模型,預算必須介於 20,000 至 900,000 毫節點小時 (含)。 預設值為 216,000,代表一個日曆天,假設使用 9 個節點。
- 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 作業後,畫面會顯示類似以下的輸出:
Java
在試用這個範例之前,請先按照Java使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Java API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Python
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 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
在試用這個範例之前,請先按照Java使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Java API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Node.js
在試用這個範例之前,請先按照Node.js使用用戶端程式庫的 Vertex AI 快速入門中的操作說明進行設定。 詳情請參閱 Vertex AI Node.js API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Python
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Python API 參考說明文件。