TF SavedModel 形式にエクスポートする方法を理解する。YOLO11
機械学習モデルのデプロイは難しいかもしれない。TF SavedModel は、TensorFlow が一貫した方法で機械学習モデルをロードするために使用しているオープンソースの機械学習フレームワークです。これは、TensorFlow モデル用のスーツケースのようなもので、持ち運びが簡単で、さまざまなデバイスやシステムで使用することができます。
モデルからTF SavedModel にエクスポートする方法を学ぶことができます。 Ultralytics YOLO11このガイドでは、モデルを 形式に変換する方法を説明します。このガイドでは、モデルをTF SavedModel 形式に変換する方法を説明し、異なるデバイス上でモデルを用いて推論を実行するプロセスを簡素化します。
なぜTF SavedModel にエクスポートする必要があるのですか?
TensorFlow SavedModel フォーマットは、Google によって開発されたTensorFlow エコシステムの一部である。TensorFlow モデルをシームレスに保存し、シリアライズするように設計されている。これは、アーキテクチャ、重み、さらにはコンパイル情報など、モデルの完全な詳細をカプセル化する。これにより、異なる環境間でモデルを共有、展開、トレーニング継続することが容易になります。
TF SavedModel 、互換性という重要な利点があります。TensorFlow Serving、TensorFlow Lite、TensorFlow.jsとうまく動作します。この互換性により、Webアプリケーションやモバイルアプリケーションなど、さまざまなプラットフォーム間でのモデルの共有やデプロイが容易になります。TF SavedModel フォーマットは、研究と実運用の両方に役立ちます。モデルを管理する統一された方法を提供し、どのようなアプリケーションにも対応できるようにします。
TF SavedModelsの主な機能
以下は、TF SavedModel がAI開発者にとって素晴らしい選択肢となる主な特徴である:
-
移植性:TF SavedModel は、言語に依存しない、回復可能な、密閉された直列化フォーマットを提供する。これにより、より上位のシステムやツールでTensorFlow モデルの生成、利用、変換が可能になります。SavedModelsは、異なるプラットフォームや環境間で簡単に共有し、デプロイすることができます。
-
導入の容易さ:TF SavedModel は、計算グラフ、学習済みパラメータ、必要なメタデータを1つのパッケージにバンドルしている。これらは、モデルを構築した元のコードを必要とすることなく、簡単にロードして推論に使用することができる。このため、TensorFlow モデルの展開は、さまざまな実運用環境において簡単で効率的なものとなる。
-
アセット管理:TF SavedModel は、ボキャブラリー、エンベッディング、ルックアップテーブルなどの外部アセットのインクルードをサポートします。これらのアセットは、グラフ定義や変数と一緒に保存され、モデルがロードされたときに利用できるようになります。この機能は、外部リソースに依存するモデルの管理と配布を簡素化します。
配備オプションTF SavedModel
TF SavedModel フォーマットにYOLO11 モデルをエクスポートするプロセスに入る前に、このフォーマットが使用される典型的な展開シナリオをいくつか探ってみましょう。
TF SavedModel には、機械学習モデルを展開するためのさまざまなオプションが用意されている:
-
TensorFlow Serving: TensorFlow Servingは、本番環境向けに設計された柔軟で高性能なサービングシステムです。TF SavedModelsをネイティブにサポートし、クラウドプラットフォーム、オンプレミスサーバ、エッジデバイスへのモデルのデプロイと提供を容易にします。
-
クラウドプラットフォーム: Google Cloud Platform(GCP)、Amazon Web Services(AWS)、Microsoft Azureなどの主要なクラウドプロバイダは、TF SavedModelsを含むTensorFlow モデルのデプロイと実行のためのサービスを提供しています。これらのサービスは、スケーラブルで管理されたインフラストラクチャを提供するため、モデルのデプロイとスケーリングを容易に行うことができます。
-
モバイルと組み込みデバイス:モバイル、組み込み、IoTデバイス上で機械学習モデルを実行するための軽量ソリューションであるTensorFlow Liteは、TF SavedModelsをTensorFlow Liteフォーマットに変換することをサポートしています。これにより、スマートフォンやタブレットからマイコンやエッジデバイスまで、幅広いデバイスにモデルを展開できます。
-
TensorFlow ランタイム: TensorFlow ランタイム
tfrt
)を実行するための高性能ランタイムである。 TensorFlow グラフを表示します。C++環境でTF SavedModelsをロードして実行するための低レベルAPIを提供する。TensorFlow ランタイムは、標準のTensorFlow ランタイムと比較して、より優れたパフォーマンスを提供する。低遅延推論や既存の C++ コードベースとの緊密な統合を必要とする展開シナリオに適しています。
YOLO11 モデルのエクスポートTF SavedModel
YOLO11 モデルをTF SavedModel フォーマットにエクスポートすることで、様々なプラットフォームへの適応性と展開のしやすさが向上します。
インストール
必要なパッケージをインストールするには、以下を実行する:
インストールプロセスに関する詳細な説明とベストプラクティスについては、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")
エクスポートの引数
議論 | タイプ | デフォルト | 説明 |
---|---|---|---|
format |
str |
'saved_model' |
エクスポートされたモデルのターゲットフォーマットで、さまざまな展開環境との互換性を定義します。 |
imgsz |
int または tuple |
640 |
モデル入力に必要な画像サイズ。正方形画像の場合は整数,正方形画像の場合はタプルになります. (height, width) 具体的な寸法については |
keras |
bool |
False |
Kerasフォーマットへのエクスポートを可能にし、TensorFlow サービングとAPIとの互換性を提供します。 |
int8 |
bool |
False |
INT8量子化を有効にし、モデルをさらに圧縮し、主にエッジデバイスのために、最小限の精度損失で推論を高速化する。 |
nms |
bool |
False |
正確で効率的な検出の後処理に不可欠なNMS(Non-Maximum Suppression)を追加。 |
batch |
int |
1 |
エクスポートモデルのバッチ推論サイズ、またはエクスポートされたモデルが同時に処理する画像の最大数を指定します。 predict モードだ。 |
エクスポートプロセスの詳細については、Ultralytics ドキュメントのエクスポートに関するページをご覧ください。
エクスポートされたYOLO11 TF SavedModel モデルの展開
さて、YOLO11 モデルをTF SavedModel フォーマットにエクスポートしたら、次のステップはそれをデプロイすることです。TF SavedModel モデルを実行するための最初のステップとして推奨されるのは YOLO("yolo11n_saved_model/")
メソッドを使用する。
しかし、TF SavedModel モデルの配備に関する詳しい説明については、以下のリソースをご覧ください:
-
TensorFlow サービス:TensorFlow Servingを使ってTF SavedModel モデルをデプロイする方法についての開発者向けドキュメントです。
-
Node.js でTensorFlow SavedModel を実行する:TensorFlow TensorFlow SavedModel を変換せずに直接Node.jsで実行するブログ記事。
-
クラウドへの展開: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")
詳細については、Ultralytics Exportのドキュメントを参照してください。
なぜTensorFlow SavedModel フォーマットを使う必要があるのですか?
TensorFlow SavedModel フォーマットは、モデル展開にいくつかの利点をもたらす:
- 移植性:言語に依存しないフォーマットを提供するため、異なる環境間でのモデルの共有や展開が容易です。
- 互換性: TensorFlow Serving、TensorFlow Lite、TensorFlow.jsのようなツールとシームレスに統合されます。これらは、ウェブやモバイルアプリケーションを含むさまざまなプラットフォーム上でモデルを展開するために不可欠です。
- 完全なカプセル化:モデルのアーキテクチャ、重み、コンパイル情報をエンコードし、共有とトレーニングの継続を容易にします。
その他の利点と展開オプションについては、Ultralytics YOLO モデルの展開オプションをご覧ください。
TF SavedModel の典型的な展開シナリオは?
TF SavedModel を含む様々な環境で展開することができる:
- TensorFlow サービングスケーラブルで高性能なモデルサービングを必要とするプロダクション環境に最適。
- クラウドプラットフォーム: Google Cloud Platform (GCP)、Amazon Web Services (AWS)、Microsoft Azureなどの主要なクラウドサービスをサポートし、スケーラブルなモデル展開を実現します。
- モバイル機器と組み込み機器: TF SavedModelsを変換するためにTensorFlow Liteを使用することで、モバイルデバイス、IoTデバイス、マイクロコントローラへの展開が可能になります。
- TensorFlow ランタイム:低レイテンシーでより優れたパフォーマンスを必要とするC++環境向け。
詳細な展開オプションについては、 TensorFlow モデルの展開に関する公式ガイドをご覧ください。
YOLO11 モデルをエクスポートするために必要なパッケージは、どのようにインストールできますか?
YOLO11 モデルのエクスポートには ultralytics
パッケージを作成します。ターミナルで以下のコマンドを実行する:
より詳細なインストール手順とベストプラクティスについては、Ultralytics インストールガイドを参照してください。問題が発生した場合は、よくある問題ガイドを参照してください。
TensorFlow SavedModel フォーマットの主な特徴は何ですか?
TF SavedModel フォーマットは、以下のような特徴があり、AI開発者にとって有益である:
- 移植性:さまざまな環境での共有と展開が容易になります。
- 導入の容易さ:計算グラフ、学習済みパラメータ、メタデータを単一のパッケージにカプセル化し、ロードと推論を簡素化。
- 資産管理:語彙のような外部アセットをサポートし、モデルのロード時に利用できるようにします。
詳しくは、 TensorFlow の公式ドキュメントをご覧ください。