Google Cloud コンソールから直接、またはプログラムでトレーニング パイプラインを作成することによって、API や、Vertex AI クライアント ライブラリの 1 つを使用して AutoML モデルを作成します。
このモデルは、コンソールまたは Vertex AI API から提供される準備済みのデータセットを使用して作成されます。Vertex AI API は、データセットの項目を使用してモデルのトレーニングとテストを行い、モデルのパフォーマンスを評価します。評価結果を確認して、必要に応じてトレーニング データセットを調整し、改善されたデータセットで新しいトレーニング パイプラインを作成します。
モデルのトレーニングが完了するまで数時間かかることがあります。Vertex AI API を使用すると、トレーニング ジョブのステータスを把握できます。
AutoML Edge トレーニング パイプラインを作成する
代表的なトレーニング アイテムのセットを含むデータセットを用意したら、AutoML Edge トレーニング パイプラインを作成します。
データタイプを選択します。
目標に応じて以下のタブを選択してください。
トレーニング時に、特定のユースケースで必要な AutoML Edge モデルのタイプを選択できます。
- 低レイテンシ(
MOBILE_TF_LOW_LATENCY_1
) - 一般的な用途(
MOBILE_TF_VERSATILE_1
) - 予測品質の向上(
MOBILE_TF_HIGH_ACCURACY_1
)
使用している言語または環境に応じて、下のタブを選択します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: データセットが配置され、モデルが作成されるリージョン。例:
us-central1
- PROJECT: 実際のプロジェクト ID。
- TRAININGPIPELINE_DISPLAYNAME: 必須。trainingPipeline の表示名。
- DATASET_ID: トレーニングに使用するデータセットの ID 番号。
- fractionSplit: 省略可。ML が使用する可能性のあるデータ分割オプションの 1 つ。
fractionSplit
の場合、値の合計 1 でなければなりません。例:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: TrainingPipeline によってアップロード(作成)されたモデルの表示名。
- MODEL_DESCRIPTION*: モデルの説明。
- modelToUpload.labels*: モデルを整理するための任意の Key-Value ペアのセット。例:
- "env": "prod"
- tier: backend
- EDGE_MODELTYPE†: トレーニングする Edge モデルのタイプ。次のオプションがあります。
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: 実際のトレーニング料金はこの値以下になります。Edge モデルでは、予算は 1,000~100,000 ミリノード時間(上限、下限を含む)にする必要があります。
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号
* | trainingTaskDefinition で指定したスキーマ ファイルの説明により、このフィールドの使用方法が記述されます。 |
† | trainingTaskDefinition で指定したスキーマ ファイルにより、このフィールドが宣言および記述されます。 |
HTTP メソッドと URL:
POST https://LOCATION -aiplatform.googleapis.com/v1/projects/PROJECT /locations/LOCATION /trainingPipelines
リクエストの本文(JSON):
{ "displayName": "TRAININGPIPELINE_DISPLAYNAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": "DECIMAL ", "validationFraction": "DECIMAL ", "testFraction": "DECIMAL " } }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME ", "description": "MODEL_DESCRIPTION ", "labels": { "KEY ": "VALUE " } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml", "trainingTaskInputs": { "multiLabel": "false ", "modelType": ["EDGE_MODELTYPE "], "budgetMilliNodeHours":NODE_HOUR_BUDGET } }
リクエストを送信するには、次のいずれかのオプションを選択します。
リクエスト本文を 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 /locations/LOCATION /trainingPipelines"
リクエスト本文を 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 /locations/LOCATION /trainingPipelines" | Select-Object -Expand Content
レスポンスには、仕様と TRAININGPIPELINE_ID に関する情報が含まれています。
レスポンス
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /trainingPipelines/TRAININGPIPELINE_ID ", "displayName": "TRAININGPIPELINE_DISPLAYNAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": 0.7, "validationFraction": 0.15, "testFraction": 0.15 } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml", "trainingTaskInputs": { "modelType": "EDGE_MODELTYPE ", "budgetMilliNodeHours": "NODE_HOUR_BUDGET " }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME ", "labels": { "KEY1 ": "VALUE1 ", "KEY2 ": "VALUE2 " } }, "state": "PIPELINE_STATE_PENDING", "createTime": "2020-07-14T17:16:55.098953Z", "updateTime": "2020-07-14T17:16:55.098953Z" }
TRAININGPIPELINE_ID を使用すると、trainingPipeline ジョブのステータスを取得できます。
トレーニング時に、特定のユースケースで必要な AutoML Edge モデルのタイプを選択できます。
- 低レイテンシ(
MOBILE_TF_LOW_LATENCY_1
) - 一般的な用途(
MOBILE_TF_VERSATILE_1
) - 予測品質の向上(
MOBILE_TF_HIGH_ACCURACY_1
)
使用している言語または環境に応じて、下のタブを選択します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: データセットが配置され、モデルが作成されるリージョン。例:
us-central1
- PROJECT: 実際のプロジェクト ID。
- TRAININGPIPELINE_DISPLAYNAME: 必須。trainingPipeline の表示名。
- DATASET_ID: トレーニングに使用するデータセットの ID 番号。
- fractionSplit: 省略可。ML が使用する可能性のあるデータ分割オプションの 1 つ。
fractionSplit
の場合、値の合計 1 でなければなりません。例:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: TrainingPipeline によってアップロード(作成)されたモデルの表示名。
- MODEL_DESCRIPTION*: モデルの説明。
- modelToUpload.labels*: モデルを整理するための任意の Key-Value ペアのセット。例:
- "env": "prod"
- tier: backend
- EDGE_MODELTYPE†: トレーニングする Edge モデルのタイプ。次のオプションがあります。
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: 実際のトレーニング料金はこの値以下になります。Edge モデルでは、予算は 1,000~100,000 ミリノード時間(上限、下限を含む)にする必要があります。
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号
* | trainingTaskDefinition で指定したスキーマ ファイルの説明により、このフィールドの使用方法が記述されます。 |
† | trainingTaskDefinition で指定したスキーマ ファイルにより、このフィールドが宣言および記述されます。 |
HTTP メソッドと URL:
POST https://LOCATION -aiplatform.googleapis.com/v1/projects/PROJECT /locations/LOCATION /trainingPipelines
リクエストの本文(JSON):
{ "displayName": "TRAININGPIPELINE_DISPLAYNAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": "DECIMAL ", "validationFraction": "DECIMAL ", "testFraction": "DECIMAL " } }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME ", "description": "MODEL_DESCRIPTION ", "labels": { "KEY ": "VALUE " } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml", "trainingTaskInputs": { "multiLabel": "true ", "modelType": ["EDGE_MODELTYPE "], "budgetMilliNodeHours":NODE_HOUR_BUDGET } }
リクエストを送信するには、次のいずれかのオプションを選択します。
リクエスト本文を 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 /locations/LOCATION /trainingPipelines"
リクエスト本文を 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 /locations/LOCATION /trainingPipelines" | Select-Object -Expand Content
レスポンスには、仕様と TRAININGPIPELINE_ID に関する情報が含まれています。
レスポンス
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /trainingPipelines/TRAININGPIPELINE_ID ", "displayName": "TRAININGPIPELINE_DISPLAYNAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": 0.7, "validationFraction": 0.15, "testFraction": 0.15 } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml", "trainingTaskInputs": { "modelType": "EDGE_MODELTYPE ", "budgetMilliNodeHours": "NODE_HOUR_BUDGET " }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME ", "labels": { "KEY1 ": "VALUE1 ", "KEY2 ": "VALUE2 " } }, "state": "PIPELINE_STATE_PENDING", "createTime": "2020-07-14T17:16:55.098953Z", "updateTime": "2020-07-14T17:16:55.098953Z" }
TRAININGPIPELINE_ID を使用すると、trainingPipeline ジョブのステータスを取得できます。
トレーニング時に、特定のユースケースで必要な AutoML Edge モデルのタイプを選択できます。
- 低レイテンシ(
MOBILE_TF_LOW_LATENCY_1
) - 一般的な用途(
MOBILE_TF_VERSATILE_1
) - 予測品質の向上(
MOBILE_TF_HIGH_ACCURACY_1
)
使用している言語または環境に応じて、下のタブを選択します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: データセットが配置され、モデルが作成されるリージョン。例:
us-central1
- PROJECT: 実際のプロジェクト ID。
- TRAININGPIPELINE_DISPLAYNAME: 必須。trainingPipeline の表示名。
- DATASET_ID: トレーニングに使用するデータセットの ID 番号。
fractionSplit
: 省略可。ML が使用する可能性のあるデータ分割オプションの 1 つ。fractionSplit
の場合、値の合計 1 でなければなりません。例:-
{"trainingFraction": "0.7","validationFraction": "0.15","testFraction": "0.15"}
-
- MODEL_DISPLAYNAME*: TrainingPipeline によってアップロード(作成)されたモデルの表示名。
- MODEL_DESCRIPTION*: モデルの説明。
- modelToUpload.labels*: モデルを整理するための任意の Key-Value ペアのセット。例:
- "env": "prod"
- tier: backend
- EDGE_MODELTYPE†: トレーニングする Edge モデルのタイプ。次のオプションがあります。
MOBILE_TF_LOW_LATENCY_1
MOBILE_TF_VERSATILE_1
MOBILE_TF_HIGH_ACCURACY_1
- NODE_HOUR_BUDGET†: 実際のトレーニング料金はこの値以下になります。Cloud モデルでは、予算は 20,000~900,000 ミリノード時間(上限、下限を含む)の範囲に収める必要があります。デフォルト値は 216,000 で、9 ノードが使用された場合の 1 日の経過時間に相当します。
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号
* | trainingTaskDefinition で指定したスキーマ ファイルの説明により、このフィールドの使用方法が記述されます。 |
† | trainingTaskDefinition で指定したスキーマ ファイルにより、このフィールドが宣言および記述されます。 |
HTTP メソッドと URL:
POST https://LOCATION -aiplatform.googleapis.com/v1/projects/PROJECT /locations/LOCATION /trainingPipelines
リクエストの本文(JSON):
{ "displayName": "TRAININGPIPELINE_DISPLAYNAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": "DECIMAL ", "validationFraction": "DECIMAL ", "testFraction": "DECIMAL " } }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME ", "description": "MODEL_DESCRIPTION ", "labels": { "KEY ": "VALUE " } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_object_detection_1.0.0.yaml", "trainingTaskInputs": { "modelType": ["EDGE_MODELTYPE "], "budgetMilliNodeHours":NODE_HOUR_BUDGET } }
リクエストを送信するには、次のいずれかのオプションを選択します。
リクエスト本文を 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 /locations/LOCATION /trainingPipelines"
リクエスト本文を 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 /locations/LOCATION /trainingPipelines" | Select-Object -Expand Content
レスポンスには、仕様と TRAININGPIPELINE_ID に関する情報が含まれています。
レスポンス
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /trainingPipelines/TRAININGPIPELINE_ID ", "displayName": "TRAININGPIPELINE_DISPLAYNAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": 0.7, "validationFraction": 0.15, "testFraction": 0.15 } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_object_detection_1.0.0.yaml", "trainingTaskInputs": { "modelType": "EDGE_MODELTYPE ", "budgetMilliNodeHours": "NODE_HOUR_BUDGET " }, "modelToUpload": { "displayName": "MODEL_DISPLAYNAME ", "labels": { "KEY1 ": "VALUE1 ", "KEY2 ": "VALUE2 " } }, "state": "PIPELINE_STATE_PENDING", "createTime": "2020-07-14T17:16:55.098953Z", "updateTime": "2020-07-14T17:16:55.098953Z" }
TRAININGPIPELINE_ID を使用すると、trainingPipeline ジョブのステータスを取得できます。
目標に応じて以下のタブを選択してください。
トレーニング時に、次の AutoML エッジタイプを選択します。
MOBILE_VERSATILE_1
: 一般的な用途
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: 実際のプロジェクト ID。
- LOCATION: データセットが配置され、モデルが作成されるリージョン。例:
us-central1
- TRAINING_PIPELINE_DISPLAY_NAME: 必須。TrainingPipeline の表示名。
- DATASET_ID: トレーニング データセットの ID。
-
TRAINING_FRACTION、TEST_FRACTION:
fractionSplit
オブジェクトは省略可です。データ分割の制御に使用します。データ分割の制御の詳細については、AutoML モデル用のデータ分割についてをご覧ください。例:{"trainingFraction": "0.8","validationFraction": "0","testFraction": "0.2"}
- MODEL_DISPLAY_NAME: トレーニング済みモデルの表示名。
- MODEL_DESCRIPTION: モデルの説明。
- MODEL_LABELS: モデルを整理するための任意の Key-Value ペアのセット。例:
- "env": "prod"
- tier: backend
- EDGE_MODEL_TYPE:
MOBILE_VERSATILE_1
: 一般的な用途
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号
HTTP メソッドと URL:
POST https://LOCATION -aiplatform.googleapis.com/beta1/projects/PROJECT /locations/LOCATION /trainingPipelines
リクエストの本文(JSON):
{ "displayName": "TRAINING_PIPELINE_DISPLAY_NAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": "TRAINING_FRACTION ", "validationFraction": "0", "testFraction": "TEST_FRACTION " } }, "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME ", "description": "MODEL_DESCRIPTION ", "labels": { "KEY ": "VALUE " } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_video_action_recognition_1.0.0.yaml", "trainingTaskInputs": { "modelType": ["EDGE_MODEL_TYPE "], } }
リクエストを送信するには、次のいずれかのオプションを選択します。
リクエスト本文を 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/beta1/projects/PROJECT /locations/LOCATION /trainingPipelines"
リクエスト本文を 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/beta1/projects/PROJECT /locations/LOCATION /trainingPipelines" | Select-Object -Expand Content
レスポンスには、仕様と TRAININGPIPELINE_ID に関する情報が含まれています。
レスポンス
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /trainingPipelines/TRAININGPIPELINE_ID ", "displayName": "TRAININGPIPELINE_DISPLAYNAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": 0.8, "validationFraction": 0, "testFraction": 0.2 } }, "trainingTaskDefinition":OBJECTIVE , "trainingTaskInputs": { "modelType": "EDGE_MODEL_TYPE ", }, "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME ", "labels": { "KEY1 ": "VALUE1 ", "KEY2 ": "VALUE2 " } }, "state": "PIPELINE_STATE_PENDING", "createTime": "2020-11-14T17:16:55.098953Z", "updateTime": "2020-11-14T17:16:55.098953Z" }
トレーニング時に、次の AutoML エッジタイプを選択します。
MOBILE_VERSATILE_1
: 一般的な用途
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: 実際のプロジェクト ID。
- LOCATION: データセットが配置され、モデルが作成されるリージョン。例:
us-central1
- TRAINING_PIPELINE_DISPLAY_NAME: 必須。TrainingPipeline の表示名。
- DATASET_ID: トレーニング データセットの ID。
-
TRAINING_FRACTION、TEST_FRACTION:
fractionSplit
オブジェクトは省略可です。データ分割の制御に使用します。データ分割の制御の詳細については、AutoML モデル用のデータ分割についてをご覧ください。例:{"trainingFraction": "0.8","validationFraction": "0","testFraction": "0.2"}
- MODEL_DISPLAY_NAME: トレーニング済みモデルの表示名。
- MODEL_DESCRIPTION: モデルの説明。
- MODEL_LABELS: モデルを整理するための任意の Key-Value ペアのセット。例:
- "env": "prod"
- tier: backend
- EDGE_MODEL_TYPE:
MOBILE_VERSATILE_1
: 一般的な用途
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号
HTTP メソッドと URL:
POST https://LOCATION -aiplatform.googleapis.com/beta1/projects/PROJECT /locations/LOCATION /trainingPipelines
リクエストの本文(JSON):
{ "displayName": "TRAINING_PIPELINE_DISPLAY_NAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": "TRAINING_FRACTION ", "validationFraction": "0", "testFraction": "TEST_FRACTION " } }, "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME ", "description": "MODEL_DESCRIPTION ", "labels": { "KEY ": "VALUE " } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_video_classification_1.0.0.yaml", "trainingTaskInputs": { "modelType": ["EDGE_MODEL_TYPE "], } }
リクエストを送信するには、次のいずれかのオプションを選択します。
リクエスト本文を 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/beta1/projects/PROJECT /locations/LOCATION /trainingPipelines"
リクエスト本文を 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/beta1/projects/PROJECT /locations/LOCATION /trainingPipelines" | Select-Object -Expand Content
レスポンスには、仕様と TRAININGPIPELINE_ID に関する情報が含まれています。
レスポンス
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /trainingPipelines/TRAININGPIPELINE_ID ", "displayName": "TRAININGPIPELINE_DISPLAYNAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": 0.8, "validationFraction": 0, "testFraction": 0.2 } }, "trainingTaskDefinition":OBJECTIVE , "trainingTaskInputs": { "modelType": "EDGE_MODEL_TYPE ", }, "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME ", "labels": { "KEY1 ": "VALUE1 ", "KEY2 ": "VALUE2 " } }, "state": "PIPELINE_STATE_PENDING", "createTime": "2020-10-14T17:16:55.098953Z", "updateTime": "2020-10-14T17:16:55.098953Z" }
トレーニング時に、AutoML エッジタイプを選択します。
MOBILE_VERSATILE_1
: 一般的な用途MOBILE_CORAL_VERSATILE_1
: Google Coral における予測品質の向上MOBILE_CORAL_LOW_LATENCY_1
: Google Coral のレイテンシの短縮MOBILE_JETSON_VERSATILE_1
: NVIDIA Jetson の予測品質の向上MOBILE_JETSON_LOW_LATENCY_1
: NVIDIA Jetson のレイテンシの短縮
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT: 実際のプロジェクト ID。
- LOCATION: データセットが配置され、モデルが作成されるリージョン。例:
us-central1
- TRAINING_PIPELINE_DISPLAY_NAME: 必須。TrainingPipeline の表示名。
- DATASET_ID: トレーニング データセットの ID。
-
TRAINING_FRACTION、TEST_FRACTION:
fractionSplit
オブジェクトは省略可です。データ分割の制御に使用します。データ分割の制御の詳細については、AutoML モデル用のデータ分割についてをご覧ください。例:{"trainingFraction": "0.8","validationFraction": "0","testFraction": "0.2"}
- MODEL_DISPLAY_NAME: トレーニング済みモデルの表示名。
- MODEL_DESCRIPTION: モデルの説明。
- MODEL_LABELS: モデルを整理するための任意の Key-Value ペアのセット。例:
- "env": "prod"
- tier: backend
- EDGE_MODEL_TYPE: 以下のいずれか:
MOBILE_VERSATILE_1
: 一般的な用途MOBILE_CORAL_VERSATILE_1
: Google Coral における予測品質の向上MOBILE_CORAL_LOW_LATENCY_1
: Google Coral のレイテンシの短縮MOBILE_JETSON_VERSATILE_1
: NVIDIA Jetson の予測品質の向上MOBILE_JETSON_LOW_LATENCY_1
: NVIDIA Jetson のレイテンシの短縮
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号
HTTP メソッドと URL:
POST https://LOCATION -aiplatform.googleapis.com/beta1/projects/PROJECT /locations/LOCATION /trainingPipelines
リクエストの本文(JSON):
{ "displayName": "TRAINING_PIPELINE_DISPLAY_NAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": "TRAINING_FRACTION ", "validationFraction": "0", "testFraction": "TEST_FRACTION " } }, "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME ", "description": "MODEL_DESCRIPTION ", "labels": { "KEY ": "VALUE " } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_video_object_tracking_1.0.0.yaml", "trainingTaskInputs": { "modelType": ["EDGE_MODEL_TYPE "], } }
リクエストを送信するには、次のいずれかのオプションを選択します。
リクエスト本文を 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/beta1/projects/PROJECT /locations/LOCATION /trainingPipelines"
リクエスト本文を 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/beta1/projects/PROJECT /locations/LOCATION /trainingPipelines" | Select-Object -Expand Content
レスポンスには、仕様と TRAININGPIPELINE_ID に関する情報が含まれています。
レスポンス
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /trainingPipelines/TRAININGPIPELINE_ID ", "displayName": "TRAININGPIPELINE_DISPLAYNAME ", "inputDataConfig": { "datasetId": "DATASET_ID ", "fractionSplit": { "trainingFraction": 0.8, "validationFraction": 0, "testFraction": 0.2 } }, "trainingTaskDefinition":OBJECTIVE , "trainingTaskInputs": { "modelType": "EDGE_MODEL_TYPE ", }, "modelToUpload": { "displayName": "MODEL_DISPLAY_NAME ", "labels": { "KEY1 ": "VALUE1 ", "KEY2 ": "VALUE2 " } }, "state": "PIPELINE_STATE_PENDING", "createTime": "2020-10-14T17:16:55.098953Z", "updateTime": "2020-10-14T17:16:55.098953Z" }
trainingPipeline ステータスを取得する
次のコードを使用して、trainingPipeline の作成ステータスをプログラムで取得します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: TrainingPipeline が配置されているリージョン。
- PROJECT: 実際のプロジェクト ID。
- TRAININGPIPELINE_ID: 特定の TrainingPipeline の ID。
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号
HTTP メソッドと URL:
GET https://LOCATION -aiplatform.googleapis.com/v1/projects/PROJECT /locations/LOCATION /trainingPipelines/TRAININGPIPELINE_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION -aiplatform.googleapis.com/v1/projects/PROJECT /locations/LOCATION /trainingPipelines/TRAININGPIPELINE_ID "
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION -aiplatform.googleapis.com/v1/projects/PROJECT /locations/LOCATION /trainingPipelines/TRAININGPIPELINE_ID " | Select-Object -Expand Content
"state"
フィールドに、オペレーションの現在のステータスが示されます。完成した trainingPipeline が表示されます。
完了した trainingPipeline 作成オペレーションの場合、出力は次のようになります。
レスポンス
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /trainingPipelines/TRAININGPIPELINE_ID ", "displayName": "PIPELINE_DISPLAYNAME", "inputDataConfig": { "datasetId": "DATASET_ID", "fractionSplit": { "trainingFraction": 0.7, "validationFraction": 0.15, "testFraction": 0.15 } }, "trainingTaskDefinition": "gs://google-cloud-aiplatform/schema/trainingjob/definition/automl_image_classification_1.0.0.yaml", "trainingTaskInputs": { "modelType": "MOBILE_TF_VERSATILE_1", "budgetMilliNodeHours": "1000" }, "modelToUpload": { "name": "projects/PROJECT_NUMBER/locations/LOCATION/models/4030440191519883264", "displayName": "image_classification_edge_model1", "labels": { "env": "prod", "tier": "backend" } }, "state": "PIPELINE_STATE_SUCCEEDED", "createTime": "2020-07-14T17:16:55.098953Z", "startTime": "2020-07-14T17:16:55.360691Z", "endTime": "2020-07-14T18:46:08.169170Z", "updateTime": "2020-07-14T18:46:08.169170Z" }
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、Python API リファレンス ドキュメントをご覧ください。
モデル情報を取得する
trainingPipeline の作成が完了したら、モデルの表示名を使用して詳細なモデル情報を取得できます。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: モデルが配置されているリージョン。例:
us-central1
- PROJECT: 実際のプロジェクト ID。
- MODEL_DISPLAYNAME: trainingPipeline ジョブの作成時に指定したモデルの表示名。
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号
HTTP メソッドと URL:
GET https://LOCATION -aiplatform.googleapis.com/v1/projects/PROJECT /locations/LOCATION /models?filter=display_name=MODEL_DISPLAYNAME
リクエストを送信するには、次のいずれかのオプションを選択します。
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION -aiplatform.googleapis.com/v1/projects/PROJECT /locations/LOCATION /models?filter=display_name=MODEL_DISPLAYNAME "
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION -aiplatform.googleapis.com/v1/projects/PROJECT /locations/LOCATION /models?filter=display_name=MODEL_DISPLAYNAME " | Select-Object -Expand Content
トレーニング済みの AutoML Edge モデルについて、次のような出力が表示されます。次のサンプル出力は、画像 AutoML Edge モデルの出力です。
レスポンス
{ "models": [ { "name": "projects/PROJECT /locations/LOCATION /models/MODEL_ID ", "displayName": "MODEL_DISPLAYNAME ", "predictSchemata": { "instanceSchemaUri": "https://storage.googleapis.com/google-cloud-aiplatform/schema/predict/instance/image_classification_1.0.0.yaml", "parametersSchemaUri": "https://storage.googleapis.com/google-cloud-aiplatform/schema/predict/params/image_classification_1.0.0.yaml", "predictionSchemaUri": "https://storage.googleapis.com/google-cloud-aiplatform/schema/predict/prediction/classification_1.0.0.yaml" }, "metadataSchemaUri": "https://storage.googleapis.com/google-cloud-aiplatform/schema/model/metadata/automl_image_classification_1.0.0.yaml", "metadata": { "modelType": "MOBILE_TF_VERSATILE_1", "trainingDataItemsCount": "2174", "validationDataItemsCount": "467", "trainingAnnotationsCount": "2174", "validationAnnotationsCount": "467", "eligibleAsBaseModel": true }, "trainingPipeline": "projects/PROJECT_NUMBER /locations/LOCATION /trainingPipelines/TRAININGPIPELINE_ID ", "supportedDeploymentResourcesTypes": [ "AUTOMATIC_RESOURCES" ], "supportedInputStorageFormats": [ "jsonl" ], "supportedOutputStorageFormats": [ "jsonl" ], "createTime": "2020-07-14T17:16:55.098953Z", "updateTime": "2020-07-14T18:46:08.169225Z", "etag": "AMEw9yNjhttIyiGUgec8vGNeidfX8mGcFT1owDOq1iDT6mmQ7HLHwoomie30pLCTtJ4=", "labels": { "env": "prod", "tier": "backend" }, "supportedExportFormats": [ { "id": "tflite" }, { "id": "edgetpu-tflite" }, { "id": "tf-saved-model" }, { "id": "core-ml" }, { "id": "tf-js" } ] } ] }
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、Python API リファレンス ドキュメントをご覧ください。