本頁說明如何從影片資料建立 Vertex AI 資料集,以便開始訓練分類模型。您可以使用 Google Cloud 控制台或 Vertex AI API 建立資料集。
建立空白資料集,然後匯入或關聯資料
Google Cloud 控制台
請按照下列操作說明建立空白資料集,然後匯入或關聯資料。
- 在 Google Cloud 控制台的 Vertex AI 專區中,前往「資料集」頁面。
- 按一下「建立」,開啟建立資料集詳細資料頁面。
- 修改「資料集名稱」欄位,建立描述性資料集顯示名稱。
- 選取「影片」分頁標籤。
- 選取「影片分類」。
- 從「Region」(區域) 下拉式清單中選取一個區域。
- 按一下「建立」建立空白資料集,然後前往資料匯入頁面。
- 在「選取匯入方法」部分中,選擇下列其中一個選項:
從電腦上傳資料
- 在「選取匯入方法」部分,選擇從電腦上傳資料。
- 按一下「選取檔案」,然後選擇要上傳至 Cloud Storage 值區的所有本機檔案。
- 在「選取 Cloud Storage 路徑」部分,按一下「瀏覽」,選擇要將資料上傳至哪個 Cloud Storage 值區位置。
透過電腦上傳匯入檔案
- 按一下「透過電腦上傳匯入檔案」 。
- 按一下「選取檔案」,然後選擇要上傳至 Cloud Storage 值區的本機匯入檔案。
- 在「選取 Cloud Storage 路徑」部分,點按「瀏覽」,選擇要上傳檔案的 Cloud Storage 值區位置。
從 Cloud Storage 選取匯入檔案
- 按一下「從 Cloud Storage 選取匯入檔案」 。
- 在「選取 Cloud Storage 路徑」部分,按一下「瀏覽」,選擇 Cloud Storage 中的匯入檔案。
- 按一下「繼續」。
視資料大小而定,資料匯入作業可能需要數小時才能完成。您可以關閉這個分頁,稍後再返回查看。資料匯入完成後,你會收到電子郵件通知。
API
如要建立機器學習模型,您必須先準備一組具代表性的資料來進行訓練。匯入資料後,您可以進行修改並開始訓練模型。
建立資料集
請使用下列範例,為您的資料建立資料集。
REST
使用任何要求資料之前,請先替換以下項目:
-
LOCATION:資料集儲存的區域。這個區域必須支援資料集資源。例如:
us-central1
。請參閱可用位置清單。 - PROJECT:您的專案 ID。
- DATASET_NAME:資料集名稱。
- PROJECT_NUMBER:系統自動為專案產生的專案編號。
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets
JSON 要求主體:
{ "display_name": "DATASET_NAME", "metadata_schema_uri": "gs://google-cloud-aiplatform/schema/dataset/metadata/video_1.0.0.yaml" }
如要傳送要求,請選擇以下其中一個選項:
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_ID/locations/LOCATION/datasets"
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_ID/locations/LOCATION/datasets" | Select-Object -Expand Content
畫面會顯示類似以下的輸出。您可以使用回應中的 OPERATION_ID 取得作業狀態。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateDatasetOperationMetadata", "genericMetadata": { "createTime": "2020-07-07T21:27:35.964882Z", "updateTime": "2020-07-07T21:27:35.964882Z" } } }
Terraform
以下範例使用 google_vertex_ai_dataset
Terraform 資源,建立名為 video-dataset
的影片資料集。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
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 參考說明文件。
下列範例使用 Vertex AI SDK for Python 建立資料集並匯入資料。如果您執行這段範例程式碼,可以略過本指南的「匯入資料」一節。
這個特定範例會匯入分類資料。如果模型有其他目標,則必須調整程式碼。
匯入資料
建立空白資料集後,即可將資料匯入資料集。如果您使用 Python 適用的 Vertex AI SDK 建立資料集,可能已在建立資料集時匯入資料。如果已完成,可以略過這個章節。
REST
使用任何要求資料之前,請先替換以下項目:
- LOCATION:資料集儲存的區域。例如:
us-central1
。 - PROJECT:您的專案 ID。
- DATASET_ID:資料集 ID。
- IMPORT_FILE_URI:Cloud Storage 中 CSV 或 JSON Lines 檔案的路徑,該檔案列出儲存在 Cloud Storage 中的資料項目,用於模型訓練;如需匯入檔案格式和限制,請參閱「準備影片資料」。
- OBJECTIVE:指定「分類」、「物件追蹤」或「動作辨識」模型目標。
- PROJECT_NUMBER:系統自動為專案產生的專案編號。
HTTP 方法和網址:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/datasets/DATASET_ID:import
JSON 要求主體:
{ "import_configs": [ { "gcs_source": { "uris": "IMPORT_FILE_URI" }, "import_schema_uri" : "gs://google-cloud-aiplatform/schema/dataset/ioformat/automl_video_OBJECTIVE_io_format_1.0.0.yaml" } ] }
如要傳送要求,請選擇以下其中一個選項:
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/datasets/DATASET_ID:import"
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/datasets/DATASET_ID:import" | Select-Object -Expand Content
畫面會顯示類似以下的輸出。您可以使用回應中的 OPERATION_ID 取得作業狀態。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ImportDataOperationMetadata", "genericMetadata": { "createTime": "2020-10-08T20:32:02.543801Z", "updateTime": "2020-10-08T20:32:02.543801Z" } } }
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 參考說明文件。
取得作業狀態
部分要求會啟動長時間執行的作業,需要一段時間才能完成。這些要求會傳回作業名稱,您可以使用該名稱查看作業狀態或取消作業。Vertex AI 提供輔助方法,可對長時間執行的作業發出呼叫。詳情請參閱「處理長時間執行作業」。