YOLO11からTF SavedModel形式へのエクスポート方法について
機械学習モデルのデプロイは難しい場合があります。しかし、効率的で柔軟なモデル形式を使用することで、作業が楽になります。TF SavedModel は、TensorFlow が機械学習モデルを整合性のある方法でロードするために使用するオープンソースの機械学習フレームワークです。これは TensorFlow モデルのスーツケースのようなもので、さまざまなデバイスやシステムで簡単に持ち運び、使用できます。
Ultralytics YOLO11 モデルから TF SavedModel にエクスポートする方法を学ぶと、さまざまなプラットフォームや環境にモデルを簡単にデプロイできます。このガイドでは、モデルを TF SavedModel 形式に変換する方法について説明し、さまざまなデバイスでモデルを使用して推論を実行するプロセスを簡素化します。
TF SavedModel へのエクスポートの利点は何ですか?
TensorFlow SavedModel形式は、以下に示すように、Googleによって開発されたTensorFlowエコシステムの一部です。TensorFlowモデルをシームレスに保存およびシリアル化するように設計されています。アーキテクチャ、重み、さらにはコンパイル情報など、モデルの完全な詳細をカプセル化します。これにより、さまざまな環境間で共有、デプロイ、およびトレーニングを継続することが簡単になります。
TF SavedModelの主な利点は、その互換性にあります。TensorFlow Serving、TensorFlow Lite、TensorFlowとの連携がスムーズに行えます。この互換性により、ウェブやモバイルアプリケーションを含む様々なプラットフォームでのモデルの共有とデプロイが容易になります。TF SavedModel形式は、研究と本番環境の両方で役立ちます。モデルを統一的に管理し、あらゆるアプリケーションに対応できるようにします。
TF SavedModelsの主な特徴
TF SavedModelがAI開発者にとって最適な選択肢となる主な機能を紹介します。
-
移植性: TF SavedModelは、言語に依存せず、回復可能で、密閉されたシリアル化形式を提供します。これにより、高レベルのシステムとツールは、TensorFlowモデルを生成、消費、および変換できます。SavedModelは、さまざまなプラットフォームおよび環境間で簡単に共有およびデプロイできます。
-
デプロイの容易さ: TF SavedModelは、計算グラフ、学習済みパラメータ、必要なメタデータを単一のパッケージにバンドルします。これらは、モデルを構築した元のコードを必要とせずに、簡単にロードして推論に使用できます。これにより、さまざまな本番環境でTensorFlowモデルのデプロイメントが簡単かつ効率的になります。
-
アセット管理: TF SavedModelは、ボキャブラリー、埋め込み、またはルックアップテーブルなどの外部アセットの包含をサポートしています。 これらのアセットは、グラフ定義および変数とともに保存され、モデルのロード時にそれらが利用可能であることを保証します。 この機能により、外部リソースに依存するモデルの管理と配布が簡素化されます。
TF SavedModel でのデプロイメントオプション
YOLO11モデルをTF SavedModel形式にエクスポートするプロセスに入る前に、この形式が使用される典型的なデプロイメントシナリオを見てみましょう。
TF SavedModelは、機械学習モデルをデプロイするためのさまざまなオプションを提供します。
-
TensorFlow Serving: TensorFlow Serving は、本番環境向けに設計された、柔軟で高性能なサービングシステムです。TF SavedModels をネイティブにサポートしているため、クラウドプラットフォーム、オンプレミスサーバー、またはエッジデバイスにモデルを簡単にデプロイして提供できます。
-
クラウドプラットフォーム: Google Cloud Platform (GCP)、Amazon Web Services (AWS)、Microsoft Azureなどの主要なクラウドプロバイダーは、TF SavedModelsを含むTensorFlowモデルをデプロイおよび実行するためのサービスを提供しています。これらのサービスは、スケーラブルで管理されたインフラストラクチャを提供し、モデルを簡単にデプロイおよびスケーリングできます。
-
モバイルおよび組み込みデバイス: TensorFlow Liteは、モバイル、組み込み、およびIoTデバイスで機械学習モデルを実行するための軽量ソリューションであり、TF SavedModelをTensorFlow Lite形式に変換することをサポートしています。これにより、スマートフォンやタブレットからマイクロコントローラーやエッジデバイスまで、幅広いデバイスにモデルをデプロイできます。
-
TensorFlow Runtime: TensorFlow Runtime(
tfrt
) は、実行するための高性能ランタイムです。 TensorFlow グラフ。C++ 環境で TF SavedModel をロードおよび実行するための低レベル API を提供します。TensorFlow Runtime は、標準の TensorFlow ランタイムと比較して、より優れたパフォーマンスを提供します。低遅延推論と既存の C++ コードベースとの緊密な統合を必要とするデプロイメントシナリオに適しています。
YOLO11モデルをTF SavedModelにエクスポートする
YOLO11モデルをTF SavedModel形式でエクスポートすることにより、さまざまなプラットフォームでの適応性と展開の容易さが向上します。
インストール
必要なパッケージをインストールするには、以下を実行します:
インストール
# Install the required package for YOLO11
pip install ultralytics
インストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO11に必要なパッケージのインストール中に問題が発生した場合は、よくある問題ガイドで解決策とヒントを参照してください。
使用法
すべてのUltralytics YOLO11モデルは、すぐにエクスポートできるように設計されており、お好みのデプロイメントワークフローに簡単に統合できます。アプリケーションに最適なセットアップを選択するために、サポートされているエクスポート形式と構成オプションの完全なリストを表示できます。
使用法
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model # creates '/yolo11n_saved_model'
# Run inference with the exported model
yolo predict model='./yolo11n_saved_model' source='https://ultralytics.com/images/bus.jpg'
エクスポート引数
引数 | 種類 | デフォルト | 説明 |
---|---|---|---|
format |
str |
'saved_model' |
エクスポートされたモデルのターゲット形式。さまざまなデプロイメント環境との互換性を定義します。 |
imgsz |
int または tuple |
640 |
モデル入力に必要な画像サイズ。正方形の画像の場合は整数、タプルの場合は (height, width) 特定の寸法の場合。 |
keras |
bool |
False |
Keras形式へのエクスポートを有効にし、TensorFlowの提供およびAPIとの互換性を提供します。 |
int8 |
bool |
False |
INT8量子化を有効にすると、モデルがさらに圧縮され、精度の低下を最小限に抑えながら推論が高速化されます。主にエッジデバイス向けです。 |
nms |
bool |
False |
Non-Maximum Suppression (NMS) を追加しました。これは、正確で効率的な検出後処理に不可欠です。 |
batch |
int |
1 |
エクスポートされたモデルのバッチ推論サイズ、またはエクスポートされたモデルが同時に処理する画像の最大数を指定します。 predict モードを参照してください。 |
device |
str |
None |
エクスポート先のデバイスを指定します:CPU (device=cpu )、Apple シリコン用 MPS (device=mps )。 |
エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。
エクスポートされた YOLO11 TF SavedModel モデルのデプロイ
YOLO11モデルをTF SavedModel形式にエクスポートしたので、次のステップはデプロイです。TF SavedModelモデルを実行するための主要かつ推奨される最初のステップは、以下を使用することです。 YOLO("yolo11n_saved_model/")
メソッド。使用法のコードスニペットで既に示したとおりです。
ただし、TF SavedModelモデルをデプロイする方法の詳細については、以下のリソースをご覧ください。
-
TensorFlow Serving:TensorFlow Servingを使用してTF SavedModelモデルをデプロイする方法に関する開発者向けドキュメントはこちらにあります。
-
Run a TensorFlow SavedModel in Node.js:変換なしでNode.jsでTensorFlow SavedModelを直接実行することに関するTensorFlowブログ投稿。
-
クラウドへのデプロイ: TensorFlow SavedModelモデルをCloud AI Platformにデプロイする方法に関するTensorFlowのブログ投稿。
概要
このガイドでは、Ultralytics YOLO11モデルをTF SavedModel形式にエクスポートする方法を解説しました。TF SavedModelにエクスポートすることで、広範なプラットフォーム上でYOLO11モデルを柔軟に最適化、デプロイ、および拡張できます。
使い方の詳細については、TF SavedModelの公式ドキュメントをご覧ください。
Ultralytics YOLO11 と他のプラットフォームやフレームワークとの統合に関する詳細については、統合ガイドページをご覧ください。プロジェクトで YOLO11 を最大限に活用するのに役立つ優れたリソースが満載です。
よくある質問
Ultralytics YOLOモデルをTensorFlow SavedModel形式にエクスポートするにはどうすればよいですか?
Ultralytics YOLOモデルをTensorFlow SavedModel形式にエクスポートするのは簡単です。PythonまたはCLIのいずれかを使用してこれを実現できます。
YOLO11をTF SavedModelにエクスポートする
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo11n_saved_model'
# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo11n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")
# Export the YOLO11 model to TF SavedModel format
yolo export model=yolo11n.pt format=saved_model # creates '/yolo11n_saved_model'
# Run inference with the exported model
yolo predict model='./yolo11n_saved_model' source='https://ultralytics.com/images/bus.jpg'
詳細については、Ultralytics Exportのドキュメントを参照してください。
TensorFlow SavedModel形式を使用する理由は何ですか?
TensorFlow SavedModel形式は、モデルのデプロイにいくつかの利点があります。
- 移植性: 言語に依存しない形式を提供し、さまざまな環境間でのモデルの共有とデプロイを容易にします。
- 互換性: TensorFlow Serving、TensorFlow Lite、TensorFlow.jsなどのツールとシームレスに統合されており、これらはWebおよびモバイルアプリケーションを含むさまざまなプラットフォームにモデルをデプロイするために不可欠です。
- 完全なカプセル化: モデルアーキテクチャ、重み、およびコンパイル情報をエンコードし、簡単な共有とトレーニングの継続を可能にします。
その他の利点とデプロイメントオプションについては、Ultralytics YOLOモデルのデプロイメントオプションをご覧ください。
TF SavedModelの典型的なデプロイシナリオは何ですか?
TF SavedModelは、次のようなさまざまな環境にデプロイできます。
- TensorFlow Serving: スケーラブルで高性能なモデルの提供を必要とする本番環境に最適です。
- クラウドプラットフォーム: スケーラブルなモデルデプロイメントのために、Google Cloud Platform (GCP)、Amazon Web Services (AWS)、Microsoft Azureなどの主要クラウドサービスをサポートしています。
- モバイルおよび組み込みデバイス: TensorFlow Liteを使用してTF SavedModelを変換することで、モバイルデバイス、IoTデバイス、およびマイクロコントローラーへのデプロイが可能になります。
- TensorFlow Runtime: より優れたパフォーマンスで低遅延の推論を必要とするC++環境向け。
詳細なデプロイオプションについては、TensorFlowモデルのデプロイに関する公式ガイドをご覧ください。
YOLO11モデルをエクスポートするために必要なパッケージをインストールするにはどうすればよいですか?
YOLO11モデルをエクスポートするには、以下をインストールする必要があります。 ultralytics
パッケージ。ターミナルで次のコマンドを実行します。
pip install ultralytics
より詳細なインストール手順とベストプラクティスについては、Ultralyticsインストールガイドを参照してください。問題が発生した場合は、よくある問題ガイドをご覧ください。
TensorFlow SavedModel形式の主な特徴は何ですか?
TF SavedModel形式は、次の機能により、AI開発者にとって有益です。
- 移植性: さまざまな環境間での共有とデプロイを容易にします。
- デプロイの容易さ: 計算グラフ、学習済みパラメータ、メタデータを単一のパッケージにカプセル化し、ロードと推論を簡素化します。
- アセット管理: ボキャブラリーのような外部アセットをサポートし、モデルのロード時にそれらが利用可能であることを保証します。
詳細については、TensorFlowの公式ドキュメントをご覧ください。