このページでは、分類モデルのトレーニングを開始できるように、画像データから Agent Platform データセットを作成する方法について説明します。データセットは、 コンソールまたは Agent Platform API Google Cloud を使用して作成できます。
空のデータセットを作成してデータをインポートまたは関連付ける
Google Cloud コンソール
次の手順で空のデータセットを作成し、データをインポートまたは関連付けます。
- コンソールの Agent Platform セクションで、 [データセット] ページに移動します。 Google Cloud
- [作成] をクリックして [データセットを作成] の詳細ページを開きます。
- [データセット名] フィールドを変更して、わかりやすいデータセットの表示名を作成します。
- [画像] タブを選択します。
- 目標として、シングルラベルまたはマルチラベルの画像分類を選択します。
- [リージョン] プルダウン リストからリージョンを選択します。
- [作成] をクリックして空のデータセットを作成し、データの [インポート] ページに進みます。
- [インポート方法を選択] セクションで、次のいずれかのオプションを選択します。
パソコンからデータをアップロードする
- [インポート方法を選択] セクションで、パソコンからデータのアップロードを選択します。
- [ファイルを選択] をクリックし、Cloud Storage バケットにアップロードするすべてのローカル ファイルを選択します。
- [Cloud Storage パスの選択] セクションで、[参照] をクリックして、データをアップロードする Cloud Storage バケットのロケーションを選択します。
パソコンからインポート ファイルをアップロードする
- [パソコンからインポート ファイルをアップロード] をクリックします。
- [ファイルを選択] をクリックし、Cloud Storage バケットにアップロードするローカル インポート ファイルを選択します。
- [Cloud Storage パスの選択] セクションで、[参照] をクリックして、ファイルをアップロードする Cloud Storage バケットのロケーションを選択します。
インポート ファイルを Cloud Storage から選択する
- [インポート ファイルを Cloud Storage から選択] をクリックします。
- [Cloud Storage パスの選択] セクションで、[参照] をクリックして Cloud Storage のインポート ファイルを選択します。
- [続行] をクリックします。
データのサイズによっては、データのインポートに数時間かかる場合があります。このタブを閉じて、後で戻ってくることもできます。データがインポートされると、メールが届きます。
API
ML モデルを作成するには、最初にトレーニングに使用する代表的なデータの収集が必要です。データのインポート後、変更を加え、モデル トレーニングを開始できます。
データセットを作成する
次のサンプルを使用して、データのデータセットを作成します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
-
LOCATION: データセットが格納されるリージョン。これは、データセット リソースをサポートしているリージョンにする必要があります。例:
us-central1利用可能なロケーションの一覧をご覧ください。 - PROJECT: [プロジェクト ID](/resource-manager/docs/creating-managing-projects#identifiers)。 。
- DATASET_NAME: データセットの名前。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets
リクエストの本文(JSON):
{
"display_name": "DATASET_NAME",
"metadata_schema_uri": "gs://google-cloud-aiplatform/schema/dataset/metadata/image_1.0.0.yaml"
}
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets"
PowerShell
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets" | Select-Object -Expand Content
出力は次のようになります。レスポンスの OPERATION_ID を使用して、オペレーションのステータスを取得できます。
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateDatasetOperationMetadata",
"genericMetadata": {
"createTime": "2020-07-07T21:27:35.964882Z",
"updateTime": "2020-07-07T21:27:35.964882Z"
}
}
}
Terraform
次のサンプルでは、google_vertex_ai_dataset Terraform リソースを使用して、image-dataset という名前の画像データセットを作成します。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
Java
このサンプルを試す前に、クライアント ライブラリを使用した Agent Platform クイックスタートのJava設定手順に沿ってください。
Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
Node.js
このサンプルを試す前に、クライアント ライブラリを使用した Agent Platform クイックスタートのNode.js の手順に沿って設定を行ってください。
Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
次のサンプルでは、Vertex AI SDK for Python を使用してデータセットを作成し、データをインポートします。このサンプルコードを実行する場合は、このガイドのデータのインポート セクションをスキップできます。
このサンプルでは、単一ラベル分類用のデータをインポートします。モデルに異なる目標がある場合は、コードを調整する必要があります。
データのインポート
空のデータセットを作成したら、データセットにデータをインポートできます。Vertex AI SDK for Python を使用してデータセットを作成した場合は、データセットの作成時にデータをインポートしている可能性があります。その場合は、このセクションをスキップできます。
目標に応じて以下のタブを選択してください。
単一ラベル分類
REST
リクエストのデータを使用する前に、次のように置き換えます。
-
LOCATION: データセットが配置されているリージョン。例:
us-central1 - PROJECT_ID:
- DATASET_ID: データセットの ID。
- IMPORT_FILE_URI: Cloud Storage に格納されたモデル トレーニング用データ項目のリストを含む Cloud Storage 上の CSV または JSON Lines ファイルのパス。インポートできるファイル形式と制限については、画像データの準備をご覧ください。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import
リクエストの本文(JSON):
{
"import_configs": [
{
"gcs_source": {
"uris": "IMPORT_FILE_URI"
},
"import_schema_uri" : "gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml"
}
]
}
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import"
PowerShell
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import" | Select-Object -Expand Content
出力は次のようになります。レスポンスの OPERATION_ID を使用して、オペレーションの ステータス を取得できます。
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.ImportDataOperationMetadata",
"genericMetadata": {
"createTime": "2020-07-08T20:32:02.543801Z",
"updateTime": "2020-07-08T20:32:02.543801Z"
}
}
}
Java
このサンプルを試す前に、クライアント ライブラリを使用した Agent Platform クイックスタートのJava設定手順に沿ってください。
Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
Node.js
このサンプルを試す前に、クライアント ライブラリを使用した Agent Platform クイックスタートのNode.js の手順に沿って設定を行ってください。
Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
マルチラベル分類
REST
リクエストのデータを使用する前に、次のように置き換えます。
-
LOCATION: データセットが配置されているリージョン。例:
us-central1 - PROJECT_ID:
- DATASET_ID: データセットの ID。
- IMPORT_FILE_URI: Cloud Storage に格納されたモデル トレーニング用データ項目のリストを含む Cloud Storage 上の CSV または JSON Lines ファイルのパス。インポートできるファイル形式と制限については、画像データの準備をご覧ください。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import
リクエストの本文(JSON):
{
"import_configs": [
{
"gcs_source": {
"uris": "IMPORT_FILE_URI"
},
"import_schema_uri" : "gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_multi_label_io_format_1.0.0.yaml"
}
]
}
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import"
PowerShell
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import" | Select-Object -Expand Content
出力は次のようになります。レスポンスの OPERATION_ID を使用して、オペレーションのステータスを取得できます。
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.ImportDataOperationMetadata",
"genericMetadata": {
"createTime": "2020-07-08T20:32:02.543801Z",
"updateTime": "2020-07-08T20:32:02.543801Z"
}
}
}
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
オペレーションのステータスを取得する
一部のリクエストでは、完了までに長時間かかるオペレーションが実行されます。このようなリクエストではオペレーション名が返されます。そのオペレーション名を使用して、オペレーションのステータス確認やキャンセルを行うことができます。Colab Enterprise には、長時間実行オペレーションに対して呼び出しを行うためのヘルパー メソッドが用意されています。詳細については、長時間実行 オペレーションによる作業をご覧ください。