本页介绍如何创建数据集并将表格数据导入其中。然后,您可以使用 AutoML Tables 根据该数据集训练模型。
简介
数据集是一个 Google Cloud 对象,它包含您的源表数据以及用于确定模型训练参数的架构信息。数据集用作训练模型的输入。
一个项目可以有多个数据集。您可以获取可用数据集列表,并且可以删除不再需要的数据集。
更新数据集或其架构信息会影响将来使用该数据集的所有模型。已经开始训练的模型不受影响。
准备工作
您必须先按照准备工作所述设置项目,然后才能使用 AutoML Tables。您必须先按照准备训练数据所述创建训练数据,然后才能创建数据集。
创建数据集
控制台
REST 和命令行
如需创建数据集,请使用 datasets.create 方法。
在使用任何请求数据之前,请先进行以下替换:
-
endpoint:全球位置为
automl.googleapis.com
,欧盟地区为eu-automl.googleapis.com
。 - project-id:您的 Google Cloud 项目 ID。
- location:资源的位置:全球位置为
us-central1
,欧盟位置为eu
。 - dataset-display-name:数据集的显示名。
HTTP 方法和网址:
POST https://endpoint/v1beta1/projects/project-id/locations/location/datasets
请求 JSON 正文:
{ "displayName": "dataset-display-name", "tablesDatasetMetadata": { }, }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://endpoint/v1beta1/projects/project-id/locations/location/datasets"
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://endpoint/v1beta1/projects/project-id/locations/location/datasets" | Select-Object -Expand Content
您应该会收到类似以下内容的 JSON 响应:
{ "name": "projects/1234/locations/us-central1/datasets/TBL6543", "displayName": "sample_dataset", "createTime": "2019-12-23T23:03:34.139313Z", "updateTime": "2019-12-23T23:03:34.139313Z", "etag": "AB3BwFq6VkX64fx7z2Y4T4z-0jUQLKgFvvtD1RcZ2oikA=", "tablesDatasetMetadata": { "areStatsFresh": true "statsUpdateTime": "1970-01-01T00:00:00Z", "tablesDatasetType": "BASIC" } }
保存新数据集的 name
(来自响应)以用于其他操作,例如将项目导入数据集和训练模型。
现在,您可以导入数据。
Java
如果资源位于欧盟区域,您必须明确设置端点。了解详情。
Node.js
如果资源位于欧盟区域,您必须明确设置端点。了解详情。
Python
AutoML Tables 的客户端库包含其他 Python 方法,这些方法使用 AutoML Tables API 进行简化。这些方法按名称而不是 ID 来引用数据集和模型。您的数据集和模型的名称必须是唯一的。如需了解详情,请参阅客户端参考。
如果资源位于欧盟区域,您必须明确设置端点。了解详情。
将数据导入数据集
您无法将数据导入到已包含数据的数据集中。您必须首先创建一个新数据集。
控制台
REST 和命令行
使用 datasets.importData 方法导入数据。
请确保您的导入源符合准备导入源中所述的要求。
在使用任何请求数据之前,请先进行以下替换:
-
endpoint:全球位置为
automl.googleapis.com
,欧盟地区为eu-automl.googleapis.com
。 - project-id:您的 Google Cloud 项目 ID。
- location:资源的位置:全球位置为
us-central1
,欧盟位置为eu
。 - dataset-id:您的数据集的 ID。例如
TBL6543
。 - input-config:您的数据源位置信息:
- 对于 BigQuery:{ "bigquerySource": { "inputUri": "bq://projectId.bqDatasetId.bqTableId } }"
- 对于 Cloud Storage:{ "gcsSource": { "inputUris": ["gs://bucket-name/csv-file-name.csv"] } }
HTTP 方法和网址:
POST https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id:importData
请求 JSON 正文:
{ "inputConfig": input-config, }
如需发送请求,请选择以下方式之一:
curl
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id:importData"
PowerShell
将请求正文保存在名为 request.json
的文件中,然后执行以下命令:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://endpoint/v1beta1/projects/project-id/locations/location/datasets/dataset-id:importData" | Select-Object -Expand Content
您应该会收到类似以下内容的 JSON 响应:
{ "name": "projects/292381/locations/us-central1/operations/TBL6543", "metadata": { "@type": "type.googleapis.com/google.cloud.automl.v1beta1.OperationMetadata", "createTime": "2019-12-26T20:42:06.092180Z", "updateTime": "2019-12-26T20:42:06.092180Z", "cancellable": true, "worksOn": [ "projects/292381/locations/us-central1/datasets/TBL6543" ], "importDataDetails": {}, "state": "RUNNING" } }
将数据导入数据集是一项长时间运行的操作。您可以轮询操作状态或等待操作返回。了解详情。
导入过程完成后,您就可以开始训练模型。
Java
如果资源位于欧盟区域,您必须明确设置端点。了解详情。
Node.js
如果资源位于欧盟区域,您必须明确设置端点。了解详情。
Python
AutoML Tables 的客户端库包含其他 Python 方法,这些方法使用 AutoML Tables API 进行简化。这些方法按名称而不是 ID 来引用数据集和模型。您的数据集和模型的名称必须是唯一的。如需了解详情,请参阅客户端参考。
如果资源位于欧盟区域,您必须明确设置端点。了解详情。