YOLO26からTF SavedModel形式にエクスポートする方法を理解する#
機械学習モデルのデプロイは難しい場合があります。しかし、効率的で柔軟なモデル形式を使用すれば、作業を容易にできます。TF SavedModelは、TensorFlowが機械学習モデルを一貫した方法で読み込むために使用するオープンソースの機械学習フレームワークです。TensorFlowモデル用のスーツケースのようなもので、さまざまなデバイスやシステムに簡単に持ち運んで使用できます。
Ultralytics YOLO26モデルをTF SavedModelにエクスポートする方法を学ぶと、さまざまなプラットフォームや環境にモデルを簡単にデプロイできるようになります。このガイドでは、モデルをTF SavedModel形式に変換する方法を説明し、さまざまなデバイスでモデルを使用して推論を実行するプロセスを簡素化します。
TF SavedModelにエクスポートする理由#
TensorFlow SavedModel形式は、以下に示すようにGoogleが開発したTensorFlowエコシステムの一部です。TensorFlowモデルをシームレスに保存およびシリアライズするように設計されています。モデルのアーキテクチャ、重み、コンパイル情報など、モデルの完全な詳細をカプセル化します。これにより、さまざまな環境での共有、デプロイ、継続学習が容易になります。
TF SavedModelには、互換性という重要な利点があります。TensorFlow Serving、LiteRT(旧TensorFlow Lite)、TensorFlow.jsで適切に動作します。この互換性により、Webアプリケーションやモバイルアプリケーションなど、さまざまなプラットフォーム間でモデルを共有およびデプロイしやすくなります。TF SavedModel形式は、研究と本番環境の両方で役立ちます。モデルを管理する統一的な方法を提供し、あらゆるアプリケーションで使用できる状態に保ちます。
TF SavedModelの主な機能#
TF SavedModelをAI開発者にとって優れた選択肢にする主な機能は次のとおりです。
-
移植性: TF SavedModelは、言語に依存せず、復元可能で、自己完結型のシリアライズ形式を提供します。これにより、高水準のシステムやツールでTensorFlowモデルを生成、利用、変換できます。SavedModelは、さまざまなプラットフォームや環境間で簡単に共有およびデプロイできます。
-
デプロイの容易さ: TF SavedModelは、計算グラフ、学習済みパラメーター、必要なメタデータを1つのパッケージにまとめます。モデルを構築した元のコードがなくても簡単に読み込んで推論に使用できます。これにより、さまざまな本番環境でTensorFlowモデルを簡単かつ効率的にデプロイできます。
-
アセット管理: TF SavedModelは、語彙、埋め込み、ルックアップテーブルなどの外部アセットの同梱をサポートします。これらのアセットはグラフ定義や変数とともに保存され、モデルの読み込み時に利用できることが保証されます。この機能により、外部リソースに依存するモデルの管理と配布が簡素化されます。
TF SavedModelによるデプロイオプション#
YOLO26モデルをTF SavedModel形式にエクスポートする手順に入る前に、この形式が使用される一般的なデプロイシナリオをいくつか確認しましょう。
TF SavedModelは、機械学習モデルをデプロイするためのさまざまなオプションを提供します。
-
TensorFlow Serving: TensorFlow Servingは、本番環境向けに設計された柔軟で高性能なサービングシステムです。TF SavedModelをネイティブにサポートしているため、クラウドプラットフォーム、オンプレミスサーバー、エッジデバイスにモデルを簡単にデプロイして提供できます。
-
クラウドプラットフォーム: Google Cloud Platform (GCP)、Amazon Web Services (AWS)、Microsoft Azureなどの主要なクラウドプロバイダーは、TF SavedModelを含むTensorFlowモデルをデプロイして実行するサービスを提供しています。これらのサービスは、スケーラブルで管理されたインフラストラクチャを提供し、モデルを簡単にデプロイおよびスケーリングできるようにします。
-
モバイルおよび組み込みデバイス: LiteRT(旧TensorFlow Lite)は、モバイル、組み込み、IoTデバイスで機械学習モデルを実行するための軽量なソリューションであり、TF SavedModelをLiteRT形式に変換する機能をサポートしています。これにより、スマートフォンやタブレットからマイクロコントローラー、エッジデバイスまで、幅広いデバイスにモデルをデプロイできます。
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt)は、TensorFlowグラフを実行するための高性能ランタイムです。C++環境でTF SavedModelを読み込み、実行するための低レベルAPIを提供します。TensorFlow Runtimeは、標準のTensorFlowランタイムと比べて優れたパフォーマンスを発揮します。低レイテンシーの推論と既存のC++コードベースとの緊密な統合が必要なデプロイシナリオに適しています。
サポートされるタスク#
TF SavedModelのエクスポートは、7つすべてのUltralyticsタスクをサポートします。セマンティックセグメンテーションと深度推定は、これらのヘッドを搭載して出荷される唯一のファミリーであるYOLO26でのみ利用できます。
YOLO26モデルをTF SavedModelにエクスポートする#
YOLO26モデルをTF SavedModel形式にエクスポートすると、さまざまなプラットフォームでの適応性とデプロイの容易さが向上します。
インストール#
必要なパッケージをインストールするには、次を実行します。
# Install the required package for YOLO26
pip install ultralyticsインストールプロセスの詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO26に必要なパッケージのインストール中に問題が発生した場合は、解決策とヒントについて一般的な問題のガイドを参照してください。
使用方法#
すべてのUltralytics YOLO26モデルは、すぐにエクスポートできるよう設計されているため、任意のデプロイワークフローに簡単に統合できます。アプリケーションに最適な設定を選択するには、サポートされているエクスポート形式と設定オプションの全一覧を確認してください。
TF SavedModel形式は、エクスポート、予測、検証モードをサポートします。モデルをエクスポートした後、エクスポート済みモデルを読み込んで推論を実行するか、精度を検証します。
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")エクスポート引数#
| 引数 | 型 | デフォルト | 説明 |
|---|---|---|---|
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 フラグを置き換えます。 |
opset | int | None | 中間ONNXグラフのONNX opsetバージョンを指定します。設定しない場合は、サポートされている最新バージョンが使用されます。 |
nms | bool、オプション | None | 生出力(None、デフォルト)、組み込み NMS(True)、または NMS フリーヘッド(False)を選択します。 |
batch | int | 1 | エクスポートするモデルのバッチ推論サイズ、またはpredictモードでエクスポート済みモデルが同時に処理する画像の最大数を指定します。 |
data | str | None | 量子化に必須となるデータセット YAMLへのパスです。分類の場合は、データセットディレクトリまたは組み込みデータセット名を指定します。quantize=8で省略すると、Ultralyticsがモデルタスク用のデフォルトのキャリブレーションデータセットを選択します。 |
fraction | float、int、またはlist | 1.0 | キャリブレーションサブセットを、比率、画像枚数、または [train, val, test] の比率/枚数として指定します。2項目のリストでは、test はすべて使用され、0 はスキップされます。 |
device | str | None | エクスポートに使用するデバイスを指定します。Apple siliconではCPU(device=cpu)、MPS(device=mps)を指定します。 |
エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。
エクスポートしたYOLO26 TF SavedModelモデルのデプロイ#
YOLO26モデルをTF SavedModel形式にエクスポートできたので、次のステップはデプロイです。TF SavedModelモデルを実行するための最初の主要かつ推奨される手順は、前述の使用例コードスニペットに示した YOLO("yolo26n_saved_model/") メソッドを使用することです。
ただし、TF SavedModelモデルのデプロイに関する詳しい手順については、次のリソースを参照してください。
-
TensorFlow Serving: TensorFlow Servingを使用してTF SavedModelモデルをデプロイする方法については、開発者向けドキュメントを参照してください。
-
Node.jsでTensorFlow SavedModelを実行する: 変換せずにNode.jsでTensorFlow SavedModelを直接実行する方法を説明したTensorFlowブログ記事です。
-
クラウドにデプロイする: Cloud AI PlatformにTensorFlow SavedModelモデルをデプロイする方法を説明したTensorFlowブログ記事です。
まとめ#
このガイドでは、Ultralytics YOLO26モデルをTF SavedModel形式にエクスポートする方法を説明しました。TF SavedModelにエクスポートすることで、幅広いプラットフォーム上でYOLO26モデルを最適化、デプロイ、スケーリングする柔軟性が得られます。
使用方法の詳細については、TF SavedModel公式ドキュメントを参照してください。
Ultralytics YOLO26と他のプラットフォームやフレームワークとの統合について詳しくは、統合ガイドページもご確認ください。プロジェクトでYOLO26を最大限に活用するための役立つリソースが掲載されています。
FAQ#
Ultralytics YOLOモデルのTensorFlow SavedModel形式へのエクスポートは簡単です。PythonまたはCLIのいずれかを使用して実行できます。
YOLO26をTF SavedModelにエクスポートする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エクスポートドキュメントを参照してください。
TensorFlow SavedModel形式には、モデルデプロイにおいていくつかの利点があります。
- 移植性: 言語に依存しない形式を提供するため、異なる環境間でモデルを簡単に共有およびデプロイできます。
- 互換性: TensorFlow Serving、LiteRT、TensorFlow.jsなどのツールとシームレスに統合できます。これらは、Webアプリケーションやモバイルアプリケーションを含むさまざまなプラットフォームにモデルをデプロイするために不可欠です。
- 完全なカプセル化: モデルのアーキテクチャ、重み、コンパイル情報をエンコードするため、共有や学習の継続が容易になります。
その他の利点やデプロイオプションについては、Ultralytics YOLOモデルのデプロイオプションを確認してください。
TF SavedModelは、次のようなさまざまな環境にデプロイできます。
- TensorFlow Serving: スケーラブルで高性能なモデルサービングが必要な本番環境に適しています。
- クラウドプラットフォーム: Google Cloud Platform (GCP)、Amazon Web Services (AWS)、Microsoft Azureなどの主要なクラウドサービスをサポートし、スケーラブルなモデルデプロイを実現します。
- モバイルおよび組み込みデバイス: LiteRT(旧TensorFlow Lite)を使用してTF SavedModelを変換することで、モバイルデバイス、IoTデバイス、マイクロコントローラーにデプロイできます。
- TensorFlow Runtime: 低レイテンシーの推論と優れたパフォーマンスが必要なC++環境向けです。
詳しいデプロイオプションについては、TensorFlowモデルのデプロイに関する公式ガイドを参照してください。
YOLO26モデルをエクスポートするには、
ultralyticsパッケージをインストールする必要があります。ターミナルで次のコマンドを実行してください。pip install ultralytics詳しいインストール手順とベストプラクティスについては、Ultralyticsインストールガイドを参照してください。問題が発生した場合は、一般的な問題のガイドを確認してください。
TF SavedModel形式は、次の機能によりAI開発者にとって有用です。
- 移植性: さまざまな環境間で簡単に共有およびデプロイできます。
- デプロイの容易さ: 計算グラフ、学習済みパラメーター、メタデータを1つのパッケージにカプセル化し、読み込みと推論を簡素化します。
- アセット管理: 語彙などの外部アセットをサポートし、モデルの読み込み時に利用できることを保証します。
詳細については、TensorFlow公式ドキュメントを確認してください。