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