本页介绍如何创建数据集并将表格数据导入其中。然后,您可以使用 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 print-access-token)" \
-H "x-goog-user-project: project-id" \
-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 print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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 print-access-token)" \
-H "x-goog-user-project: project-id" \
-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 print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
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 来引用数据集和模型。您的数据集和模型的名称必须是唯一的。如需了解详情,请参阅客户端参考。
如果资源位于欧盟区域,您必须明确设置端点。了解详情。