データセットの管理
データセットには分類するコンテンツ タイプの代表的なサンプルが含まれ、サンプルにはカスタムモデルで使用するカテゴリラベルが付けられています。このデータセットを入力値として利用し、モデルをトレーニングします。
データセットの主な作成手順は次のとおりです。
- データセットを作成し、各項目に複数のラベルを付けるかどうかを指定します。
- データセットにデータ項目をインポートします。
- 項目にラベルを付けます。
1 つのプロジェクトに複数のデータセットを含めることができ、それぞれ別個のモデルのトレーニングに使用されます。使用可能なデータセットの一覧の取得し、不要になったデータセットを削除できます。
データセットの作成
カスタムモデルを作成するには、まず空のデータセットを作成します。作成したデータセットには、最終的にそのモデルのトレーニング データが格納されます。
ウェブ UI
AutoML Video UI を使用すると、新しいデータセットの作成とそのデータセットへの項目のインポートを同じページで行うことができます。- AutoML Video UI を開きます。[データセット] ページに、現在のプロジェクトにこれまでに作成されたデータセットのステータスが表示されます。 別のプロジェクトのデータセットを追加するには、タイトルバーの右上にあるプルダウン リストからプロジェクトを選択します。
- [データセット] ページで、[データセットを作成] をクリックします。
次の画面が表示されます。 - データセットに関する情報を入力します。
- このデータセットの名前を指定します。
- [動画分類] を選択します。
- [データセットを作成] をクリックします。
次の画面が表示されます。
- このデータセットの名前を指定します。
- 次の情報を入力します。
- トレーニング データの URI を含む CSV ファイルの Cloud Storage URI を指定します(データの準備をご覧ください)。
このクイックスタートでは、次のコマンドを使用します。automl-video-demo-data/hmdb_split1.csv
- [続行] をクリックして、データのインポートを開始します。
次の画面が表示されます。
- トレーニング データの URI を含む CSV ファイルの Cloud Storage URI を指定します(データの準備をご覧ください)。
指定した動画の数と長さによっては、インポート処理が終わるまで時間がかかることがあります。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- dataset-name: インターフェースに表示するデータセットの名前
- 注:
- project-number: プロジェクトの番号。
- location-id: アノテーションを実行する Cloud リージョン。サポート対象のクラウド リージョンは
us-east1
、us-west1
、europe-west1
、asia-east1
です。リージョンを指定しないと、動画ファイルの場所に基づいてリージョンが決まります。
HTTP メソッドと URL:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets
リクエストの本文(JSON):
{ "displayName": "dataset-name", "videoClassificationDatasetMetadata": { } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
" https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri " https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets" | Select-Object -Expand Content
name
を返します。このようなレスポンスの例を次に示します。project-number
はプロジェクトの番号、operation-id
はリクエストに対して作成された長時間実行オペレーションの ID です。
Java
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データセットへの項目のインポート
データセットを作成したら、Cloud Storage バケットに保存されている CSV ファイルからラベル付きデータをインポートできます。データの準備とインポート用の CSV ファイルの作成の詳細については、トレーニング データの準備をご覧ください。
空のデータセットに項目をインポートすることも、既存のデータセットに追加項目をインポートすることもできます。
ウェブ UI
データはデータセットを作成するときにインポートします。REST
リクエストのデータを使用する前に、次のように置き換えます。
- input-uri: アノテーションを付けるファイルを含む Cloud Storage バケット(ファイル名を含む)。先頭は gs:// でなければなりません。例:
"inputUris": ["gs://automl-video-demo-data/hmdb_split1.csv"]
- dataset-id: データセットのデータセット識別子(表示名ではない)に置き換えます。例:
VCN4798585402963263488
- 注:
- project-number: プロジェクトの番号。
- location-id: アノテーションを実行する Cloud リージョン。サポート対象のクラウド リージョンは
us-east1
、us-west1
、europe-west1
、asia-east1
です。リージョンを指定しないと、動画ファイルの場所に基づいてリージョンが決まります。
HTTP メソッドと URL:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData
リクエストの本文(JSON):
{ "inputConfig": { "gcsSource": { "inputUris": input-uri } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
" https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri " https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData" | Select-Object -Expand Content
VCN7506374678919774208
を含むレスポンスを示しています。
オペレーション ID を使用して、タスクのステータスを取得できます。例については、オペレーションのステータスの取得をご覧ください。
Java
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
トレーニング項目のラベル付け
モデルのトレーニングで役立つように、データセット内の各項目には少なくとも 1 つのカテゴリラベルが割り当てられている必要があります。AutoML Video ではカテゴリラベルのない項目は無視されます。トレーニング項目には、次の 2 つの方法でラベルを付けることができます。
- .csv ファイルにラベルを含める
- AutoML Video UI で項目にラベルを付ける
.csv ファイルで項目にラベルを付ける方法については、トレーニング データの準備をご覧ください。
AutoML Video UI で項目にラベルを付けるには、データセットの一覧ページからデータセットを選択してデータセットの詳細を表示します。 選択したデータセットの表示名がタイトルバーに表示され、データセット内の個々の項目がラベルと一緒にページに一覧表示されます。 左側のナビゲーション バーには、ラベル付き項目数とラベルなし項目数の要約が表示されます。項目の一覧をラベル別にフィルタすることもできます。
ラベルのない動画へのラベルの割り当てや動画のラベル変更は、次の手順で行います。
- データセットのページで、追加やラベル変更を行う動画をクリックします。
動画のページで次の操作を行います。
- [Add Segment] をクリックします。
- 動画のタイムラインの両側にある矢印をドラッグして、ラベルを付ける範囲を指定します。デフォルトでは、動画の最初から最後までが選択されます。
- ラベルのリストから、動画に付けるラベルをクリックします。選択すると、ラベルのカラーバーがはっきり表示されます。
- [保存] をクリックします。
データセットに新しいラベルを追加するには、データセットのページで、既存ラベルの一覧の上部にある [Filter labels] の横のその他のメニューをクリックし、[Add new label] をクリックします。
データセットの一覧表示
1 つのプロジェクトには多数のデータセットを含めることができます。このセクションでは、プロジェクトで使用できるデータセットを一覧表示する方法を説明します。
ウェブ UI
AutoML Video UI を使用して利用可能なデータセットを一覧表示するには、[Datasets] ページに移動します。別のプロジェクトのデータセットを表示するには、タイトルバーの右上にあるプルダウン リストからプロジェクトを選択します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- project-number: プロジェクトの番号。
- location-id: アノテーションを実行する Cloud リージョン。サポート対象のクラウド リージョンは
us-east1
、us-west1
、europe-west1
、asia-east1
です。リージョンを指定しないと、動画ファイルの場所に基づいてリージョンが決まります。
HTTP メソッドと URL:
https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
Java
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
データセットの削除
次のコードは、データセットを削除する方法を示しています。
ウェブ UI
-
AutoML Video UI で [Datasets] ページに移動します。
- 削除する行の右端にあるその他メニューをクリックし、[Delete dataset] を選択します。
- 確認ダイアログ ボックスで [確認] をクリックします。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- dataset-name: 完全なデータセット名。データセットの作成時にレスポンスで返されます。完全な名前の形式:
projects/project-number/locations/location-id/datasets/dataset-id
- project-number: プロジェクトの番号。
- location-id: アノテーションを実行する Cloud リージョン。サポート対象のクラウド リージョンは
us-east1
、us-west1
、europe-west1
、asia-east1
です。リージョンを指定しないと、動画ファイルの場所に基づいてリージョンが決まります。 - dataset-id: データセットの作成時に指定された ID
HTTP メソッドと URL:
DELETE https://automl.googleapis.com/v1beta1/dataset-name
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
Java
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
AutoML Video に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。