このページでは、分類モデルのトレーニングを開始できるように、画像データから Vertex AI データセットを作成する方法について説明します。データセットは、Google Cloud コンソールまたは Vertex AI API を使用して作成できます。
空のデータセットを作成してデータをインポートまたは関連付ける
Google Cloud コンソール
次の手順で空のデータセットを作成し、データをインポートまたは関連付けます。
- Google Cloud コンソールの [Vertex AI] セクションで、[データセット] ページに移動します。
- [作成] をクリックして [データセットを作成] の詳細ページを開きます。
- [データセット名] フィールドを変更して、わかりやすいデータセットの表示名を作成します。
- [画像] タブを選択します。
- 目標として、シングルラベルまたはマルチラベルの画像分類を選択します。
- [リージョン] プルダウン リストからリージョンを選択します。
- [作成] をクリックして空のデータセットを作成し、データの [インポート] ページに進みます。
- [インポート方法を選択] セクションで、次のいずれかのオプションを選択します。
パソコンからデータをアップロードする
- [インポート方法を選択] セクションで、パソコンからデータのアップロードを選択します。
- [ファイルを選択] をクリックし、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。
- 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
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
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: 実際のプロジェクト 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
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、Python API リファレンス ドキュメントをご覧ください。
マルチラベル分類
REST
リクエストのデータを使用する前に、次のように置き換えます。
-
LOCATION: データセットが配置されているリージョン。例:
us-central1
- PROJECT_ID: 実際のプロジェクト 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 リファレンス ドキュメントをご覧ください。
オペレーションのステータスを取得する
一部のリクエストでは、完了までに長時間かかるオペレーションが実行されます。このようなリクエストではオペレーション名が返されます。そのオペレーション名を使用して、オペレーションのステータス確認やキャンセルを行うことができます。Vertex AI には、長時間実行オペレーションに対して呼び出しを行うためのヘルパー メソッドが用意されています。詳細については、長時間実行オペレーションによる作業をご覧ください。