このページでは、データセットを作成して表形式のデータをインポートする方法を説明します。その後、AutoML Tables を使用して、そのデータセットでモデルをトレーニングできます。
はじめに
データセットとは、ソーステーブルのデータと、モデル トレーニング パラメータを決定するスキーマ情報が含まれた Google Cloud オブジェクトです。このデータセットを入力値として利用し、モデルをトレーニングします。
1 つのプロジェクトで複数のデータセットを使用できます。使用可能なデータセットの一覧の取得と、不要になったデータセットの削除ができます。
データセットまたはそのスキーマ情報を更新すると、将来のモデルがそのデータセットを使用した場合に影響を受けます。すでにトレーニングを開始しているモデルには影響がありません。
始める前に
AutoML Tables を使用する前に、始める前にの説明に沿ってプロジェクトを設定する必要があります。また、データセットを作成する前に、トレーニング データの準備の説明に従ってトレーニング データを作成しておく必要があります。
データセットの作成
Console
REST
データセットを作成するには、datasets.create メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
-
endpoint: グローバル ロケーションの場合は
automl.googleapis.com
、EU リージョンの場合はeu-automl.googleapis.com
。 - project-id: Google Cloud プロジェクト ID
- location:リソースのロケーション:グローバルの場合は
us-central1
、EUの場合はeu
。 - dataset-display-name: データセットの表示名。
HTTP メソッドと URL:
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
リソースが EU リージョンにある場合は、エンドポイントを明示的に設定する必要があります。詳細
Node.js
リソースが EU リージョンにある場合は、エンドポイントを明示的に設定する必要があります。詳細
Python
AutoML Tables のクライアント ライブラリには、AutoML Tables API を簡単に使用できるようにする追加の Python メソッドが含まれています。これらのメソッドは、ID ではなく名前でデータセットとモデルを参照します。データセット名とモデル名は一意である必要があります。詳細については、クライアント リファレンスをご覧ください。
リソースが EU リージョンにある場合は、エンドポイントを明示的に設定する必要があります。詳細
データセットにデータをインポートする
すでにデータが含まれているデータセットにはデータをインポートできません。まず、新しいデータセットを作成する必要があります。
Console
必要に応じて、[データセット] ページのリストからデータセットを選択し、[インポート] タブを開きます。
データのインポートのソースとして、BigQuery、Cloud Storage、ローカル コンピュータのいずれかを選択します。必要な情報を入力します。
ローカル コンピュータから CSV ファイルを読み込む場合は、Cloud Storage バケットを指定する必要があります。ファイルは AutoML Tables にインポートされる前にそのバケットに読み込まれます。ファイルは削除しない限り、データのインポート後もそこに残ります。
バケットは、データセットと同じロケーションに存在する必要があります。詳細
[インポート] をクリックしてインポートを開始します。
インポート処理が完了すると [トレーニング] タブが表示され、モデルをトレーニングできるようになります。
REST
データを、datasets.importData メソッドを使用してインポートします。
インポートのソースが、インポートのソースの準備の要件に従っていることを確認します。
リクエストのデータを使用する前に、次のように置き換えます。
-
endpoint: グローバル ロケーションの場合は
automl.googleapis.com
、EU リージョンの場合はeu-automl.googleapis.com
。 - project-id: Google Cloud プロジェクト ID
- location:リソースのロケーション:グローバルの場合は
us-central1
、EUの場合は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 メソッドと URL:
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
リソースが EU リージョンにある場合は、エンドポイントを明示的に設定する必要があります。詳細
Node.js
リソースが EU リージョンにある場合は、エンドポイントを明示的に設定する必要があります。詳細
Python
AutoML Tables のクライアント ライブラリには、AutoML Tables API を簡単に使用できるようにする追加の Python メソッドが含まれています。これらのメソッドは、ID ではなく名前でデータセットとモデルを参照します。データセット名とモデル名は一意である必要があります。詳細については、クライアント リファレンスをご覧ください。
リソースが EU リージョンにある場合は、エンドポイントを明示的に設定する必要があります。詳細
次のステップ
- モデルをトレーニングする。
- データセットを管理する。
- 長時間実行オペレーションの使用について学ぶ。