管理数据集
数据集包含要分类的各种内容的代表性样本,以您希望自定义模型使用的类别标签进行标记。数据集用作训练模型的输入。
构建数据集的主要步骤如下:
项目可以有多个数据集,每个数据集用于训练单独的模型。您可以获取可用数据集列表,也可以删除不再需要的数据集。
创建数据集
如要创建自定义模型,首先需要创建一个空数据集,该数据集最终用于保存模型的训练数据。
网页界面
在 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 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。