このページでは、Vertex AI を使用して画像および動画の AutoML Edge モデルを Cloud Storage にエクスポートする方法について説明します。
表形式のモデルのエクスポートについては、AutoML 表形式のモデルのエクスポートをご覧ください。
はじめに
AutoML Edge モデルをトレーニングした後、そのモデルの用途に応じて異なる形式でモデルをエクスポートできます。エクスポートされたモデルファイルは Cloud Storage バケットに保存され、選択した環境で予測に使用できます。
予測の提供に Vertex AI の Edge モデルを使用することはできません。予測を取得するには、Edge モデルを外部デバイスにデプロイする必要があります。
モデルをエクスポートする
次のサンプルコードを使用して、AutoML Edge モデルを識別し、出力ファイルの保存場所を指定してモデル エクスポート リクエストを送信します。
画像
目標に応じて以下のタブを選択してください。
分類
トレーニング済みの AutoML Edge 画像分類モデルは、次の形式でエクスポートできます。
- TF Lite - エッジまたはモバイル デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。
- Edge TPU TF Lite - Edge TPU デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。
- コンテナ - Docker コンテナで実行するため、モデルを TF 保存モデルとしてエクスポートします。
- Core ML - iOS デバイスや macOS デバイスでモデルを実行するため、.mlmodel ファイルをエクスポートします。
- Tensorflow.js - ブラウザと Node.js でモデルを実行するため、モデルを TensorFlow.js パッケージとしてエクスポートします。
お使いの言語または環境に応じて、以下のタブを選択してください。
コンソール
- Google Cloud コンソールの [Vertex AI] セクションで、[モデル] ページに移動します。
- エクスポートする AutoML Edge モデルのバージョン番号をクリックして、詳細ページを開きます。
- [エクスポート] をクリックします。
- [モデルをエクスポート] サイド ウィンドウで、Edge モデルのエクスポート出力を保存する Cloud Storage 内の場所を指定します。
- [エクスポート] をクリックします。
- [完了] をクリックして、[モデルをエクスポート] サイド ウィンドウを閉じます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: 実際のプロジェクトのロケーション。
- PROJECT: 実際のプロジェクト ID。
- MODEL_ID: エクスポートするトレーニング済みの AutoML Edge モデルの ID 番号。
- EXPORT_FORMAT: エクスポートする Edge モデルのタイプ。この目標の場合は、次のオプションがあります。
tflite
(TF Lite) - エッジまたはモバイル デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。edgetpu-tflite
(Edge TPU TF Lite) - Edge TPU デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。tf-saved-model
(コンテナ) - Docker コンテナで実行するため、モデルを TF 保存モデルとしてエクスポートします。core-ml
(Core ML) - iOS デバイスや macOS デバイスでモデルを実行するため、.mlmodel ファイルをエクスポートします。tf-js
(Tensorflow.js) - ブラウザと Node.js でモデルを実行するため、モデルを TensorFlow.js パッケージとしてエクスポートします。
- OUTPUT_BUCKET: Edge モデルファイルを保存する Cloud Storage バケット ディレクトリのパス。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export
リクエストの本文(JSON):
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
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/locations/LOCATION/models/MODEL_ID:export"
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/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
レスポンスには、仕様と OPERATION_ID に関する情報が含まれています。
エクスポート オペレーションのステータスを取得して、終了時間を確認できます。
Java
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Vertex AI クライアント ライブラリをインストールするにある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python をインストールまたは更新する方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
分類
トレーニング済みの AutoML Edge 画像分類モデルは、次の形式でエクスポートできます。
- TF Lite - エッジまたはモバイル デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。
- Edge TPU TF Lite - Edge TPU デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。
- コンテナ - Docker コンテナで実行するため、モデルを TF 保存モデルとしてエクスポートします。
- Core ML - iOS デバイスや macOS デバイスでモデルを実行するため、.mlmodel ファイルをエクスポートします。
- Tensorflow.js - ブラウザと Node.js でモデルを実行するため、モデルを TensorFlow.js パッケージとしてエクスポートします。
お使いの言語または環境に応じて、以下のタブを選択してください。
コンソール
- Google Cloud コンソールの [Vertex AI] セクションで、[モデル] ページに移動します。
- エクスポートする AutoML Edge モデルのバージョン番号をクリックして、詳細ページを開きます。
- [エクスポート] をクリックします。
- [モデルをエクスポート] サイド ウィンドウで、Edge モデルのエクスポート出力を保存する Cloud Storage 内の場所を指定します。
- [エクスポート] をクリックします。
- [完了] をクリックして、[モデルをエクスポート] サイド ウィンドウを閉じます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: 実際のプロジェクトのロケーション。
- PROJECT: 実際のプロジェクト ID。
- MODEL_ID: エクスポートするトレーニング済みの AutoML Edge モデルの ID 番号。
- EXPORT_FORMAT: エクスポートする Edge モデルのタイプ。この目標の場合は、次のオプションがあります。
tflite
(TF Lite) - エッジまたはモバイル デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。edgetpu-tflite
(Edge TPU TF Lite) - Edge TPU デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。tf-saved-model
(コンテナ) - Docker コンテナで実行するため、モデルを TF 保存モデルとしてエクスポートします。core-ml
(Core ML) - iOS デバイスや macOS デバイスでモデルを実行するため、.mlmodel ファイルをエクスポートします。tf-js
(Tensorflow.js) - ブラウザと Node.js でモデルを実行するため、モデルを TensorFlow.js パッケージとしてエクスポートします。
- OUTPUT_BUCKET: Edge モデルファイルを保存する Cloud Storage バケット ディレクトリのパス。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export
リクエストの本文(JSON):
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
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/locations/LOCATION/models/MODEL_ID:export"
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/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
レスポンスには、仕様と OPERATION_ID に関する情報が含まれています。
エクスポート オペレーションのステータスを取得して、終了時間を確認できます。
Java
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Vertex AI クライアント ライブラリをインストールするにある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python をインストールまたは更新する方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
オブジェクト検出
トレーニング済みの AutoML Edge 画像オブジェクト検出モデルは、次の形式でエクスポートできます。
- TF Lite - エッジまたはモバイル デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。
- コンテナ - Docker コンテナで実行するため、モデルを TF 保存モデルとしてエクスポートします。
- Tensorflow.js - ブラウザと Node.js でモデルを実行するため、モデルを TensorFlow.js パッケージとしてエクスポートします。
お使いの言語または環境に応じて、以下のタブを選択してください。
コンソール
- Google Cloud コンソールの [Vertex AI] セクションで、[モデル] ページに移動します。
- エクスポートする AutoML Edge モデルのバージョン番号をクリックして、詳細ページを開きます。
- [デプロイとテスト] タブを選択して、使用可能なエクスポート形式を表示します。
- [Use your edge-optimized model] セクションから目的のエクスポート モデルの形式を選択します。
- [モデルをエクスポート] サイド ウィンドウで、Edge モデルのエクスポート出力を保存する Cloud Storage 内の場所を指定します。
- [エクスポート] をクリックします。
- [完了] をクリックして、[モデルをエクスポート] サイド ウィンドウを閉じます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: 実際のプロジェクトのロケーション。
- PROJECT: 実際のプロジェクト ID。
- MODEL_ID: エクスポートするトレーニング済みの AutoML Edge モデルの ID 番号。
- EXPORT_FORMAT: エクスポートする Edge モデルのタイプ。この目標の場合は、次のオプションがあります。
tflite
(TF Lite) - エッジまたはモバイル デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。tf-saved-model
(コンテナ) - Docker コンテナで実行するため、モデルを TF 保存モデルとしてエクスポートします。tf-js
(Tensorflow.js) - ブラウザと Node.js でモデルを実行するため、モデルを TensorFlow.js パッケージとしてエクスポートします。
- OUTPUT_BUCKET: Edge モデルファイルを保存する Cloud Storage バケット ディレクトリのパス。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID:export
リクエストの本文(JSON):
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
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/locations/LOCATION/models/MODEL_ID:export"
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/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
レスポンスには、仕様と OPERATION_ID に関する情報が含まれています。
エクスポート オペレーションのステータスを取得して、終了時間を確認できます。
Java
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Vertex AI クライアント ライブラリをインストールするにある Node.js の設定手順を完了してください。詳細については、Vertex AI Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python をインストールまたは更新する方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
動画
目標に応じて以下のタブを選択してください。
動作認識
トレーニング済みの AutoML Edge 動画動作認識モデルは、保存されたモデル形式でエクスポートできます。
お使いの言語または環境に応じて、以下のタブを選択してください。
コンソール
- Google Cloud コンソールの [Vertex AI] セクションで、[モデル] ページに移動します。
- エクスポートする AutoML Edge モデルのバージョン番号をクリックして、詳細ページを開きます。
- [エクスポート] をクリックします。
- [モデルをエクスポート] サイド ウィンドウで、Edge モデルのエクスポート出力を保存する Cloud Storage 内の場所を指定します。
- [エクスポート] をクリックします。
- [完了] をクリックして、[モデルをエクスポート] サイド ウィンドウを閉じます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: モデルが保存されているリージョン。例:
us-central1
- MODEL_ID: エクスポートするトレーニング済みの AutoML Edge モデルの ID 番号。
- EXPORT_FORMAT: エクスポートする Edge モデルのタイプ。動画動作認識の場合、次のモデル オプションがあります。
tf-saved-model
(コンテナ) - Docker コンテナで実行するため、モデルを TF 保存モデルとしてエクスポートします。
- OUTPUT_BUCKET: Edge モデルファイルを保存する Cloud Storage バケット ディレクトリのパス。
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export
リクエストの本文(JSON):
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
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_NUMBER/locations/LOCATION/models/MODEL_ID:export"
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_NUMBER/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
レスポンスには、仕様と OPERATION_ID に関する情報が含まれています。
エクスポート オペレーションのステータスを取得して、終了時間を確認できます。
Java
このサンプルを試す前に、Vertex AI クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。詳細については、Vertex AI Java API のリファレンス ドキュメントをご覧ください。
Vertex AI に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
Python をインストールまたは更新する方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
分類
トレーニング済み AutoML Edge 動画分類モデルは、保存されたモデル形式でのみエクスポートできます。
お使いの言語または環境に応じて、以下のタブを選択してください。
コンソール
- Google Cloud コンソールの [Vertex AI] セクションで、[モデル] ページに移動します。
- エクスポートする AutoML Edge モデルのバージョン番号をクリックして、詳細ページを開きます。
- [エクスポート] をクリックします。
- [モデルをエクスポート] サイド ウィンドウで、Edge モデルのエクスポート出力を保存する Cloud Storage 内の場所を指定します。
- [エクスポート] をクリックします。
- [完了] をクリックして、[モデルをエクスポート] サイド ウィンドウを閉じます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: モデルが保存されているリージョン。例:
us-central1
- MODEL_ID: エクスポートするトレーニング済みの AutoML Edge モデルの ID 番号。
- EXPORT_FORMAT: エクスポートする Edge モデルのタイプ。動画分類の場合、次のモデル オプションがあります。
tf-saved-model
(コンテナ) - Docker コンテナで実行するため、モデルを TF 保存モデルとしてエクスポートします。
- OUTPUT_BUCKET: Edge モデルファイルを保存する Cloud Storage バケット ディレクトリのパス。
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export
リクエストの本文(JSON):
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
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_NUMBER/locations/LOCATION/models/MODEL_ID:export"
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_NUMBER/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
レスポンスには、仕様と OPERATION_ID に関する情報が含まれています。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-12T20:53:40.130785Z", "updateTime": "2020-10-12T20:53:40.130785Z" }, "outputInfo": { "artifactOutputUri": "gs://OUTPUT_BUCKET/model-MODEL_ID/EXPORT_FORMAT/YYYY-MM-DDThh:mm:ss.sssZ" } } }
エクスポート オペレーションのステータスを取得して、終了時間を確認できます。
オブジェクト トラッキング
トレーニング済みの AutoML Edge 動画オブジェクト トラッキング モデルは、次の形式でエクスポートできます。
- TF Lite - エッジまたはモバイル デバイスでモデルを実行するために、モデルを TensorFlow Lite パッケージとしてエクスポートします。
- コンテナ - Docker コンテナで実行するため、モデルを TensorFlow 保存モデルとしてエクスポートします。
お使いの言語または環境に応じて、以下のタブを選択してください。
コンソール
- Google Cloud コンソールの [Vertex AI] セクションで、[モデル] ページに移動します。
- エクスポートする AutoML Edge モデルのバージョン番号をクリックして、詳細ページを開きます。
- [エクスポート] をクリックします。
- [モデルをエクスポート] サイド ウィンドウで、Edge モデルのエクスポート出力を保存する Cloud Storage 内の場所を指定します。
- [エクスポート] をクリックします。
- [完了] をクリックして、[モデルをエクスポート] サイド ウィンドウを閉じます。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: モデルが保存されているリージョン。例:
us-central1
- MODEL_ID: エクスポートするトレーニング済みの AutoML Edge モデルの ID 番号。
- EXPORT_FORMAT: エクスポートする Edge モデルのタイプ。動画オブジェクト トラッキング モデルの場合、次のオプションがあります。
tflite
(TF Lite) - エッジまたはモバイル デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。edgetpu-tflite
(Edge TPU TF Lite) - Edge TPU デバイスでモデルを実行するために、モデルを TF Lite パッケージとしてエクスポートします。tf-saved-model
(コンテナ) - Docker コンテナで実行するため、モデルを TF 保存モデルとしてエクスポートします。
- OUTPUT_BUCKET: Edge モデルファイルを保存する Cloud Storage バケット ディレクトリのパス。
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID:export
リクエストの本文(JSON):
{ "outputConfig": { "exportFormatId": "EXPORT_FORMAT", "artifactDestination": { "outputUriPrefix": "gs://OUTPUT_BUCKET/" } } }
リクエストを送信するには、次のいずれかのオプションを選択します。
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_NUMBER/locations/LOCATION/models/MODEL_ID:export"
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_NUMBER/locations/LOCATION/models/MODEL_ID:export" | Select-Object -Expand Content
レスポンスには、仕様と OPERATION_ID に関する情報が含まれています。
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/models/MODEL_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-12T20:53:40.130785Z", "updateTime": "2020-10-12T20:53:40.130785Z" }, "outputInfo": { "artifactOutputUri": "gs://OUTPUT_BUCKET/model-MODEL_ID/EXPORT_FORMAT/YYYY-MM-DDThh:mm:ss.sssZ" } } }
エクスポート オペレーションのステータスを取得して、終了時間を確認できます。
オペレーションのステータスの取得
画像
エクスポート オペレーションのステータスを取得するには、次のコードを使用します。このコードは、すべての目標で同じです。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: 実際のプロジェクトのロケーション。
- PROJECT: 実際のプロジェクト ID。
- OPERATION_ID: ターゲット オペレーションの ID。この ID は通常、元のリクエストに対するレスポンスに含まれます。
HTTP メソッドと URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID"
PowerShell
次のコマンドを実行します。
$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/operations/OPERATION_ID" | Select-Object -Expand Content
{ "name": "projects/PROJECT/locations/LOCATION/models/MODEL_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-12T20:53:40.130785Z", "updateTime": "2020-10-12T20:53:40.793983Z" }, "outputInfo": { "artifactOutputUri": "gs://OUTPUT_BUCKET/model-MODEL_ID/EXPORT_FORMAT/YYYY-MM-DDThh:mm:ss.sssZ" } }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportModelResponse" } }
動画
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_NUMBER: プロジェクトに自動生成されたプロジェクト番号。
- LOCATION: モデルが保存されているリージョン。例:
us-central1
- OPERATION_ID: オペレーションの ID。
HTTP メソッドと URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATION_ID"
PowerShell
次のコマンドを実行します。
$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/operations/OPERATION_ID" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
出力ファイル
画像
ご使用のモデル形式に対応するタブを選択してください。
TF Lite
リクエストで指定した OUTPUT_BUCKET
によって、出力ファイルの保存場所が決まります。出力ファイルが保存されるディレクトリの形式:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tflite/YYYY-MM-DDThh:mm:ss.sssZ/
ファイル:
model.tflite
: TensorFlow Lite ですぐに使用できるモデル バージョンを含むファイル。
Edge TPU
リクエストで指定した OUTPUT_BUCKET
によって、出力ファイルの保存場所が決まります。出力ファイルが保存されるディレクトリの形式:
- gs://OUTPUT_BUCKET/model-MODEL_ID/edgetpu-tflite/YYYY-MM-DDThh:mm:ss.sssZ/
ファイル:
edgetpu_model.tflite
: TensorFlow Lite のモデル バージョンを含むファイル。Edge TPU との互換性のため Edge TPU コンパイラを通過します。
コンテナ
リクエストで指定した OUTPUT_BUCKET
によって、出力ファイルの保存場所が決まります。出力ファイルが保存されるディレクトリの形式:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tf-saved-model/YYYY-MM-DDThh:mm:ss.sssZ/
ファイル:
saved_model.pb
: グラフの定義とモデルの重みを含むプロトコル バッファ ファイル。
Core ML
リクエストで指定した OUTPUT_BUCKET
によって、出力ファイルの保存場所が決まります。出力ファイルが保存されるディレクトリの形式:
- gs://OUTPUT_BUCKET/model-MODEL_ID/core-ml/YYYY-MM-DDThh:mm:ss.sssZ/
ファイル:
dict.txt
: ラベルファイル。ラベルファイルdict.txt
内の各行には、モデルから返された予測のラベルが入ります。ラベルはリクエストされた順番で記述されます。dict.txt
の例roses daisy tulips dandelion sunflowers
model.mlmodel
: Core ML モデルを指定するファイル。
Tensorflow.js
リクエストで指定した OUTPUT_BUCKET
によって、出力ファイルの保存場所が決まります。出力ファイルが保存されるディレクトリの形式:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tf-js/YYYY-MM-DDThh:mm:ss.sssZ/
ファイル:
dict.txt
: ラベルファイル。ラベルファイルdict.txt
内の各行には、モデルから返された予測のラベルが入ります。ラベルはリクエストされた順番で記述されます。dict.txt
の例roses daisy tulips dandelion sunflowers
group1-shard1of3.bin
: バイナリ ファイル。group1-shard2of3.bin
: バイナリ ファイル。group1-shard3of3.bin
: バイナリ ファイル。model.json
: モデルの JSON ファイル表現。サンプル
model.json
(わかりやすくするため短縮しています){ "format": "graph-model", "generatedBy": "2.4.0", "convertedBy": "TensorFlow.js Converter v1.7.0", "userDefinedMetadata": { "signature": { "inputs": { "image:0": { "name": "image:0", "dtype": "DT_FLOAT", "tensorShape": { "dim": [ { "size": "1" }, { "size": "224" }, { "size": "224" }, { "size": "3" } ] } } }, "outputs": { "scores:0": { "name": "scores:0", "dtype": "DT_FLOAT", "tensorShape": { "dim": [ { "size": "1" }, { "size": "5" } ] } } } } }, "modelTopology": { "node": [ { "name": "image", "op": "Placeholder", "attr": { "dtype": { "type": "DT_FLOAT" }, "shape": { "shape": { "dim": [ { "size": "1" }, { "size": "224" }, { "size": "224" }, { "size": "3" } ] } } } }, { "name": "mnas_v4_a_1/feature_network/feature_extractor/Mean/reduction_indices", "op": "Const", "attr": { "value": { "tensor": { "dtype": "DT_INT32", "tensorShape": { "dim": [ { "size": "2" } ] } } }, "dtype": { "type": "DT_INT32" } } }, ... { "name": "scores", "op": "Identity", "input": [ "Softmax" ], "attr": { "T": { "type": "DT_FLOAT" } } } ], "library": {}, "versions": {} }, "weightsManifest": [ { "paths": [ "group1-shard1of3.bin", "group1-shard2of3.bin", "group1-shard3of3.bin" ], "weights": [ { "name": "mnas_v4_a_1/feature_network/feature_extractor/Mean/reduction_indices", "shape": [ 2 ], "dtype": "int32" }, { "name": "mnas_v4_a/output/fc/tf_layer/kernel", "shape": [ 1280, 5 ], "dtype": "float32" }, ... { "name": "mnas_v4_a_1/feature_network/lead_cell_17/op_0/conv2d_0/Conv2D_weights", "shape": [ 1, 1, 320, 1280 ], "dtype": "float32" }, { "name": "mnas_v4_a_1/feature_network/cell_14/op_0/expand_0/Conv2D_bn_offset", "shape": [ 1152 ], "dtype": "float32" } ] } ] }
動画
ご使用のモデル形式に対応するタブを選択してください。
TF Lite
リクエストで指定した OUTPUT_BUCKET
によって、出力ファイルの保存場所が決まります。出力ファイルが保存されるディレクトリの形式:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tflite/YYYY-MM-DDThh:mm:ss.sssZ/
ファイル:
model.tflite
: TensorFlow Lite ですぐに使用できるモデル バージョンを含むファイル。frozen_inference_graph.pb
: グラフの定義とモデルの重みを含むシリアル化されたプロトコル バッファ ファイル。label_map.pbtxt
: 使用されたラベルを整数値にマッピングするラベル マップ ファイル。
Edge TPU
リクエストで指定した OUTPUT_BUCKET
によって、出力ファイルの保存場所が決まります。出力ファイルが保存されるディレクトリの形式:
- gs://OUTPUT_BUCKET/model-MODEL_ID/edgetpu-tflite/YYYY-MM-DDThh:mm:ss.sssZ/
ファイル:
edgetpu_model.tflite
: TensorFlow Lite のモデル バージョンを含むファイル。Edge TPU との互換性のため Edge TPU コンパイラを通過します。label_map.pbtxt
: 使用されたラベルを整数値にマッピングするラベル マップ ファイル。
コンテナ
リクエストで指定した OUTPUT_BUCKET
によって、出力ファイルの保存場所が決まります。出力ファイルが保存されるディレクトリの形式:
- gs://OUTPUT_BUCKET/model-MODEL_ID/tf-saved-model/YYYY-MM-DDThh:mm:ss.sssZ/
ファイル:
frozen_inference_graph.pb
: グラフの定義とモデルの重みを含むシリアル化されたプロトコル バッファ ファイル。label_map.pbtxt
: 使用されたラベルを整数値にマッピングするラベル マップ ファイル。saved_model/saved_model.pb
: このファイルには、実際の TensorFlow プログラムまたはモデル、名前付きのシグネチャのセットが格納されます。これは、テンソルの入力を受け入れ、テンソルの出力を生成する関数を表します。saved_model/variables/
: 変数ディレクトリには、標準のトレーニング チェックポイントが含まれます。