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は、計算グラフ、学習済みパラメータ、および必要なメタデータを単一のパッケージにバンドルします。モデルを構築した元のコードがなくても、簡単に読み込んで推論に使用できます。これにより、さまざまな本番環境でTensorFlowモデルのデプロイが簡単かつ効率的になります。
-
アセット管理: TF SavedModelは、語彙、埋め込み、ルックアップテーブルなどの外部アセットの包含をサポートしています。これらのアセットは、グラフの定義と変数とともに保存されるため、モデルの読み込み時に確実に利用できるようになります。この機能により、外部リソースに依存するモデルの管理と配布が簡素化されます。
TF SavedModelによるデプロイオプション#
YOLO26モデルをTF SavedModelフォーマットにエクスポートするプロセスを詳しく説明する前に、このフォーマットが使用される典型的なデプロイシナリオをいくつか見てみましょう。
TF SavedModelは、機械学習モデルをデプロイするためのさまざまなオプションを提供します:
-
TensorFlow Serving: TensorFlow Servingは、本番環境向けに設計された柔軟で高性能なサービングシステムです。TF SavedModelsをネイティブでサポートしているため、クラウドプラットフォーム、オンプレミスサーバー、エッジデバイス上でモデルを簡単にデプロイおよびサービングできます。
-
クラウドプラットフォーム: Google Cloud Platform (GCP)、Amazon Web Services (AWS)、Microsoft Azureなどの主要なクラウドプロバイダーは、TF SavedModelsを含むTensorFlowモデルのデプロイと実行のためのサービスを提供しています。これらのサービスは、スケーラブルで管理されたインフラストラクチャを提供し、モデルのデプロイとスケーリングを容易にします。
-
モバイルおよび組み込みデバイス: モバイル、組み込み、およびIoTデバイスで機械学習モデルを実行するための軽量なソリューションであるLiteRT(旧TensorFlow Lite)は、TF SavedModelsをLiteRTフォーマットに変換することをサポートしています。これにより、スマートフォンやタブレットからマイクロコントローラ、エッジデバイスに至るまで、幅広いデバイスにモデルをデプロイできます。
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt)は、TensorFlowグラフを実行するための高性能なランタイムです。C++環境でTF SavedModelsを読み込んで実行するためのより低水準な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フォーマットは、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")エクスポートの引数#
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
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 | False | Non-Maximum Suppression (NMS) を追加します。これは正確で効率的な検出後処理に不可欠です。 |
batch | int | 1 | エクスポートモデルのバッチ推論サイズ、またはpredictモードでエクスポートされたモデルが同時に処理する画像の最大数を指定します。 |
data | str | None | データセットのYAMLへのパス(量子化に必須)です。分類の場合は、データセットディレクトリまたは組み込みのデータセット名を指定します。quantize=8 を指定して省略した場合、Ultralytics はモデルタスクに応じたデフォルトのキャリブレーション用データセットを選択します。 |
fraction | float、int、または list | 1.0 | 較正サブセットを比率、画像数、または [train, val] の比率/数として指定します。リストを使用すると train または val が制限されますが、test はフルのままになります。 |
device | str | None | エクスポートするデバイスを指定します: CPU(device=cpu)、Apple シリコン用 MPS(device=mps)。 |
エクスポートプロセスの詳細については、Ultralytics documentation page on exporting をご覧ください。
エクスポートされた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 Exportドキュメントを参照してください。
TensorFlow SavedModelフォーマットには、モデルデプロイに関して次のような利点があります。
- ポータビリティ: 言語に依存しないフォーマットを提供し、異なる環境間でモデルを簡単に共有およびデプロイできます。
- 互換性: Webやモバイルアプリケーションを含むさまざまなプラットフォームへのモデルデプロイに不可欠な、TensorFlow Serving、LiteRT、TensorFlow.jsなどのツールとシームレスに統合されます。
- 完全なカプセル化: モデルのアーキテクチャ、重み、およびコンパイル情報をエンコードし、容易な共有とトレーニングの継続を可能にします。
その他のメリットやデプロイオプションについては、Ultralytics YOLOモデルのデプロイオプションをご確認ください。
TF SavedModelは、以下を含むさまざまな環境にデプロイできます:
- TensorFlow Serving: スケーラブルで高性能なモデルサービングを必要とする本番環境に最適です。
- クラウドプラットフォーム: スケーラブルなモデルデプロイのために、Google Cloud Platform (GCP)、Amazon Web Services (AWS)、Microsoft Azureなどの主要なクラウドサービスをサポートしています。
- モバイルおよび組み込みデバイス: LiteRT(旧TensorFlow Lite)を使用してTF SavedModelsを変換することで、モバイルデバイス、IoTデバイス、およびマイクロコントローラへのデプロイが可能になります。
- TensorFlow Runtime: パフォーマンスが向上した低レイテンシの推論が必要なC++環境向け。
詳細なデプロイオプションについては、TensorFlowモデルのデプロイに関する公式ガイドをご覧ください。
YOLO26モデルをエクスポートするには、
ultralyticsパッケージをインストールする必要があります。ターミナルで次のコマンドを実行してください。pip install ultralyticsより詳細なインストール手順とベストプラクティスについては、Ultralyticsインストールガイドを参照してください。問題が発生した場合は、一般的な問題ガイドをご確認ください。
TF SavedModelフォーマットは、以下の特徴によりAI開発者にとって有益です:
- ポータビリティ: さまざまな環境間での共有とデプロイを容易にします。
- デプロイの容易さ: 計算グラフ、学習済みパラメータ、メタデータを単一のパッケージにカプセル化し、読み込みと推論を簡素化します。
- アセット管理: 語彙などの外部アセットをサポートし、モデルの読み込み時に確実に利用できるようにします。
詳細については、公式TensorFlowドキュメントをご覧ください。