管理数据集
数据集包含要分类的各种内容的代表性样本,以您希望自定义模型使用的类别标签进行标记。数据集用作训练模型的输入。
构建数据集的主要步骤如下:
项目可以有多个数据集,每个数据集用于训练单独的模型。您可以获取可用数据集列表,也可以删除不再需要的数据集。
创建数据集
如要创建自定义模型,首先需要创建一个空数据集,该数据集最终用于保存模型的训练数据。
网页界面
在 AutoML Video 界面中,您可以创建新数据集并在同一页面将数据项导入其中。- 打开 AutoML Video 界面。 数据集页面会显示之前为当前项目创建的数据集的状态。要为其他项目添加数据集,请从标题栏右上角的下拉列表中选择项目。
- 在数据集页面上,点击创建数据集。
系统将显示以下屏幕: - 输入有关数据集的信息:
- 为此数据集指定名称。
- 选择 Video 分类。
- 点击创建数据集。
系统将显示以下屏幕:
- 为此数据集指定名称。
- 请输入以下信息:
- 提供包含训练数据 URI 的 CSV 文件的 Cloud Storage URI(请参阅准备数据)。
在本快速入门中,请使用:automl-video-demo-data/hmdb_split1.csv
- 点击继续开始导入您的数据。
系统将显示以下屏幕:
- 提供包含训练数据 URI 的 CSV 文件的 Cloud Storage URI(请参阅准备数据)。
导入过程可能需要一段时间才能完成,具体取决于您提供的视频的数量和时长。
REST
在使用任何请求数据之前,请先进行以下替换:
- dataset-name:界面中显示的数据集的名称
- 注意:
- project-number:您的项目编号
- location-id:在其中添加注解的 Cloud 区域。支持的云区域为:
us-east1
、us-west1
、europe-west1
、asia-east1
。如果未指定区域,系统将根据视频文件位置确定区域。
HTTP 方法和网址:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets
请求 JSON 正文:
{ "displayName": "dataset-name", "videoClassificationDatasetMetadata": { } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
" https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets"
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri " https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets" | Select-Object -Expand Content
name
。以下示例展示了此类响应,其中 project-number
是您的项目编号,operation-id
是为请求创建的长时间运行操作的 ID。
Java
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
将训练项导入数据集
创建数据集后,您可以从存储在 Cloud Storage 存储桶中的 CSV 文件导入带标签的数据。如需详细了解如何准备数据并创建 CSV 文件以供导入,请参阅准备训练数据。
您可将数据项导入空数据集,也可在现有数据集中导入其他数据项。
网页界面
系统会在创建数据集时导入您的数据。REST
在使用任何请求数据之前,请先进行以下替换:
- input-uri:包含要添加注释的文件的 Cloud Storage 存储桶(包括文件名)。必须以 gs:// 开头。例如:
"inputUris": ["gs://automl-video-demo-data/hmdb_split1.csv"]
- dataset-id:替换为数据集的数据集标识符(而不是显示名)。例如
VCN4798585402963263488
- 注意:
- project-number:您的项目编号
- location-id:在其中添加注解的 Cloud 区域。支持的云区域为:
us-east1
、us-west1
、europe-west1
、asia-east1
。如果未指定区域,系统将根据视频文件位置确定区域。
HTTP 方法和网址:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData
请求 JSON 正文:
{ "inputConfig": { "gcsSource": { "inputUris": input-uri } } }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
" https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData"
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri " https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData" | Select-Object -Expand Content
VCN7506374678919774208
的响应。
可以使用操作 ID 来获取任务的状态。如需示例,请参阅获取操作状态。
Java
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
为训练项添加标签
为了有助于训练模型,数据集中的每个训练项都必须至少分配一个类别标签。AutoML Video 会忽略不带类别标签的训练项。您可以通过以下两种方式为训练项提供标签:
- 将标签添加到 CSV 文件中
- 在 AutoML Video 界面中为各训练项添加标签
如需详细了解如何为 CSV 文件中的各项添加标签,请参阅准备训练数据。
要在 AutoML Video 界面中为训练项添加标签,请从数据集列表页面中选择相应数据集以查看其相关详细信息。 所选数据集的显示名会显示在标题栏中,该页面还会列出数据集中的各个训练项及其标签。 左侧的导航栏汇总了已加标签和未加标签的训练项数。您还可以按标签过滤训练项列表。
要为未加标签的视频分配标签或更改视频标签,请执行以下操作:
- 在数据集页面上,点击要添加或更改标签的视频。
在视频页面上,执行以下操作:
- 点击添加细分 (Add Segment)。
- 拖动视频时间轴两侧的箭头,以便定义要添加标签的区域。默认情况下,会选择整个视频的时长。
- 从标签列表中,点击要应用于视频的标签。选中后,标签的颜色条会变为实心。
- 点击保存。
如果需要为数据集添加新标签,请在数据集页面的现有标签列表上方,点击过滤标签 (Filter labels) 旁边的三个点,然后点击添加新标签。
列出数据集
一个项目可以包含许多数据集。本部分介绍如何检索项目的可用数据集列表。
网页界面
如需使用 AutoML Video 界面查看可用数据集的列表,请前往数据集页面。如需查看其他项目的数据集,请从标题栏右上角的下拉列表中选择该项目。
REST
在使用任何请求数据之前,请先进行以下替换:
- project-number:您的项目编号
- location-id:在其中添加注解的 Cloud 区域。支持的云区域为:
us-east1
、us-west1
、europe-west1
、asia-east1
。如果未指定区域,则根据视频文件位置来确定区域。
HTTP 方法和网址:
https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
Java
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
删除数据集
以下代码演示了如何删除数据集。
网页界面
-
前往 AutoML Video 界面中的数据集页面。
- 点击要删除的行最右侧的三点状菜单,然后选择删除数据集。
- 在确认对话框中点击确认。
REST
在使用任何请求数据之前,请先进行以下替换:
- dataset-name:数据集的全名,来自创建数据集时的响应。全名的格式为:
projects/project-number/locations/location-id/datasets/dataset-id
- project-number:您的项目编号
- location-id:在其中添加注解的 Cloud 区域。支持的云区域为:
us-east1
、us-west1
、europe-west1
、asia-east1
。如果未指定区域,则根据视频文件位置来确定区域。 - dataset-id:创建数据集时提供的 ID
HTTP 方法和网址:
DELETE https://automl.googleapis.com/v1beta1/dataset-name
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
Java
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 AutoML Video 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。