本页面介绍如何使用视频数据创建 Vertex AI 数据集,以便您可以开始训练分类模型。您可以使用 Google Cloud 控制台或 Vertex AI API 创建数据集。
创建空数据集并导入或关联数据
Google Cloud 控制台
请按照以下说明创建一个空数据集,然后导入或关联数据。
- 在 Google Cloud 控制台的 Vertex AI 部分中,前往数据集页面。
- 点击创建以打开创建数据集详情页面。
- 修改数据集名称字段,以创建描述性的数据集显示名。
- 选择视频标签页。
- 选择视频分类。
- 从区域下拉列表中选择一个区域。
- 点击创建以创建空数据集,并转到数据导入页面。
- 从选择导入方法部分中选择以下选项之一:
从您的计算机上传数据
- 在选择导入方法部分,选择从计算机上传数据。
- 点击选择文件,然后选择要上传到 Cloud Storage 存储桶的所有本地文件。
- 在选择 Cloud Storage 路径部分中,点击浏览以选择要将数据上传到的 Cloud Storage 存储桶位置。
从您的计算机上传导入文件
- 点击 Upload an import file from your computer。
- 点击选择文件,然后选择要上传到 Cloud Storage 存储桶的本地导入文件。
- 在选择 Cloud Storage 路径部分中,点击浏览以选择要将文件上传到的 Cloud Storage 存储桶位置。
从 Cloud Storage 中选择导入文件
- 点击 Select an import file from 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
在尝试此示例之前,请按照《Vertex AI 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Vertex AI Java API 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
在尝试此示例之前,请按照《Vertex AI 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Vertex AI Node.js API 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装或更新 Python 版 Vertex AI SDK,请参阅安装 Python 版 Vertex AI SDK。如需了解详情,请参阅 Python API 参考文档。
以下示例使用 Python 版 Vertex AI SDK 创建数据集并导入数据。如果您运行此示例代码,则可以跳过本指南的导入数据部分。
此特定示例导入用于分类的数据。如果模型的目标不同,则必须调整代码。
导入数据
创建空数据集后,您可以将数据导入数据集。如果您之前使用 Python 版 Vertex AI SDK 创建数据集,则可能在创建数据集时已经导入数据。如果是这样,您可以跳过此部分。
REST
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:要存储数据集的区域。例如
us-central1
。 - PROJECT:您的项目 ID。
- DATASET_ID:数据集的 ID。
- IMPORT_FILE_URI:Cloud Storage 中 CSV 或 JSON 行文件的路径,该文件列出了存储在 Cloud Storage 中用于模型训练的数据项;如需了解导入文件格式和限制,请参阅准备视频数据。
- OBJECTIVE:指定模型目标,即“classification”“object_tracking”或“action recognition”。
- 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
在尝试此示例之前,请按照《Vertex AI 快速入门:使用客户端库》中的 Java 设置说明执行操作。如需了解详情,请参阅 Vertex AI Java API 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
在尝试此示例之前,请按照《Vertex AI 快速入门:使用客户端库》中的 Node.js 设置说明执行操作。如需了解详情,请参阅 Vertex AI Node.js API 参考文档。
如需向 Vertex AI 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需了解如何安装或更新 Python 版 Vertex AI SDK,请参阅安装 Python 版 Vertex AI SDK。如需了解详情,请参阅 Python API 参考文档。
获取操作状态
某些请求会启动需要一些时间才能完成的长时间运行的操作。这些请求会返回操作名称,您可以使用该名称查看操作状态或取消操作。Vertex AI 提供辅助方法来调用长时间运行的操作。如需了解详情,请参阅使用长时间运行的操作。