YOLO26からデプロイ用にTF GraphDefへエクスポートする方法#
YOLO26のような最先端のコンピュータービジョンモデルをさまざまな環境にデプロイする際、互換性の問題に遭遇することがあります。GoogleのTensorFlow GraphDef(TF GraphDef)は、モデルをシリアライズしたプラットフォーム非依存の表現を提供することで、この問題を解決します。TF GraphDefモデル形式を使用すると、完全なTensorFlowエコシステムを利用できない環境、たとえばモバイルデバイスや専用ハードウェアにYOLO26モデルをデプロイできます。
このガイドでは、Ultralytics YOLO26モデルをTF GraphDefモデル形式へエクスポートする方法を、手順に沿って説明します。モデルを変換することで、デプロイを効率化し、より幅広いアプリケーションやプラットフォームでYOLO26のコンピュータービジョン機能を利用できます。
TF GraphDefへエクスポートする理由#
TF GraphDefは、Googleが開発したTensorFlowエコシステムの強力なコンポーネントです。YOLO26のようなモデルの最適化やデプロイに使用できます。TF GraphDefへエクスポートすると、モデルを研究段階から実環境のアプリケーションへ移行できます。完全なTensorFlowフレームワークがない環境でもモデルを実行できます。
GraphDef形式は、モデルをシリアライズされた計算グラフとして表現します。これにより、定数畳み込み、量子化、グラフ変換など、さまざまな最適化手法を利用できます。これらの最適化により、効率的な実行、メモリ使用量の削減、推論速度の向上を実現できます。
GraphDefモデルは、GPU、TPU、AIチップなどのハードウェアアクセラレーターを利用でき、YOLO26推論パイプラインのパフォーマンスを大幅に向上させます。TF GraphDef形式は、モデルとその依存関係を含む自己完結型のパッケージを作成するため、さまざまなシステムへのデプロイと統合を簡素化できます。
TF GraphDefモデルの主な特徴#
TF GraphDefには、モデルデプロイと最適化を効率化する独自の機能があります。
主な特徴を以下に示します。
-
モデルのシリアライゼーション: TF GraphDefは、TensorFlowモデルをプラットフォーム非依存の形式でシリアライズして保存する方法を提供します。このシリアライズされた表現により、元のPythonコードベースなしでモデルを読み込んで実行できるため、デプロイが容易になります。
-
グラフ最適化: TF GraphDefでは、計算グラフを最適化できます。これらの最適化により、実行フローの効率化、冗長性の削減、特定のハードウェアに適した演算への調整を行い、パフォーマンスを向上させられます。
-
デプロイの柔軟性: GraphDef形式へエクスポートしたモデルは、リソースに制約のあるデバイス、Webブラウザー、専用ハードウェアを備えたシステムなど、さまざまな環境で使用できます。これにより、TensorFlowモデルをより広範囲にデプロイできる可能性が広がります。
-
本番環境重視: GraphDefは本番環境へのデプロイ向けに設計されています。効率的な実行、シリアライゼーション機能、実環境のユースケースに適した最適化をサポートします。
TF GraphDefでのデプロイオプション#
YOLO26モデルをTF GraphDefへエクスポートする手順に進む前に、この形式が使用される一般的なデプロイ状況を確認しましょう。
さまざまなプラットフォームでTF GraphDefを効率的にデプロイする方法を説明します。
-
TensorFlow Serving: このフレームワークは、TensorFlowモデルを本番環境にデプロイするために設計されています。TensorFlow Servingは、モデル管理、バージョン管理、大規模かつ効率的にモデルを提供するためのインフラストラクチャを備えています。GraphDefベースのモデルを本番環境のWebサービスやAPIにシームレスに統合できます。
-
モバイルおよび組み込みデバイス: LiteRTなどのツールを使用すると、TF GraphDefモデルをスマートフォン、タブレット、さまざまな組み込みデバイス向けに最適化された形式へ変換できます。その後、モデルをデバイス上の推論に使用できます。実行はローカルで行われるため、パフォーマンスの向上やオフライン機能を実現できる場合があります。
-
Webブラウザー: TensorFlow.jsを使用すると、TF GraphDefモデルをWebブラウザー内に直接デプロイできます。これにより、YOLO26の機能をJavaScriptで活用し、クライアント側で動作するリアルタイム物体検出アプリケーションを実現できます。
-
専用ハードウェア: TF GraphDefはプラットフォームに依存しないため、アクセラレーターやTPU(テンソル処理ユニット)などのカスタムハードウェアを対象にできます。これらのデバイスは、計算負荷の高いモデルでパフォーマンス上の利点を提供できます。
サポートされるタスク#
TF GraphDefのエクスポートは、Ultralyticsの7つのタスクのうち6つをサポートしています。セマンティックセグメンテーションと深度推定は、これらのヘッドを搭載する唯一のファミリーであるYOLO26でのみ利用できます。ポーズモデルはエクスポートできますが、UltralyticsによるGraphDef推論は現在サポートされていません。
YOLO26モデルをTF GraphDefへエクスポートする#
YOLO26モデルをさまざまなシステムと互換性のあるTF GraphDef形式へ変換し、プラットフォーム間でのパフォーマンスを向上させることができます。
インストール#
必要なパッケージをインストールするには、次を実行します。
# Install the required package for YOLO26
pip install ultralyticsインストールプロセスの詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO26に必要なパッケージのインストール中に問題が発生した場合は、解決策とヒントについて一般的な問題のガイドを参照してください。
使用方法#
すべてのUltralytics YOLO26モデルは、すぐにエクスポートできるよう設計されているため、任意のデプロイワークフローに簡単に統合できます。アプリケーションに最適な設定を選択するには、サポートされているエクスポート形式と設定オプションの全一覧を確認してください。
TF GraphDef形式は、エクスポート、予測、検証モードをサポートしています。ただし、ポーズモデルが現在サポートしているのはエクスポートのみです。モデルをエクスポートし、エクスポートしたモデルを読み込んで推論を実行するか、精度を検証してください。
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF GraphDef format
model.export(format="pb") # creates 'yolo26n.pb'from ultralytics import YOLO
# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TF GraphDef model
model = YOLO("yolo26n.pb")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")エクスポート引数#
| 引数 | 型 | デフォルト | 説明 |
|---|---|---|---|
format | str | 'pb' | エクスポートされたモデルの対象形式で、さまざまなデプロイ環境との互換性を定義します。 |
imgsz | intまたはtuple | 640 | モデル入力に使用する画像サイズです。正方形画像の場合は整数、特定の寸法の場合はタプル(height, width)を指定できます。 |
quantize | intまたはstr | None | FP32固定エクスポートです。GraphDefは、エクスポート時のFP16、INT8、W8A16への精度変換をサポートしていません。 |
opset | int | None | 中間ONNXグラフのONNX opsetバージョンを指定します。設定しない場合は、サポートされている最新バージョンが使用されます。 |
batch | int | 1 | エクスポートするモデルのバッチ推論サイズ、またはpredictモードでエクスポート済みモデルが同時に処理する画像の最大数を指定します。 |
device | str | None | エクスポートに使用するデバイスを指定します。Apple siliconではCPU(device=cpu)、MPS(device=mps)を指定します。 |
エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。
エクスポートしたYOLO26 TF GraphDefモデルをデプロイする#
YOLO26モデルをTF GraphDef形式へエクスポートしたら、次のステップはデプロイです。TF GraphDefモデルを実行する際の主な推奨手順は、前述の使用コードスニペットで示したYOLO("model.pb")メソッドを使用することです。
TF GraphDefモデルのデプロイについて詳しくは、以下のリソースを参照してください。
-
TensorFlow Serving: 機械学習モデルを本番環境で効率的にデプロイして提供する方法を説明するTensorFlow Servingのガイドです。
-
TensorFlow Lite: TensorFlow Liteを使用したデバイス上の推論向けに、機械学習モデルを最適化された形式へ変換する方法を説明します。
-
TensorFlow.js: TensorFlowまたはKerasモデルをWebアプリケーションで使用するTensorFlow.js形式へ変換する方法を説明するモデル変換ガイドです。
まとめ#
このガイドでは、Ultralytics YOLO26モデルをTF GraphDef形式へエクスポートする方法を説明しました。これにより、最適化したYOLO26モデルをさまざまな環境に柔軟にデプロイできます。
詳しい使用方法については、TF GraphDef公式ドキュメントをご覧ください。
Ultralytics YOLO26を他のプラットフォームやフレームワークと統合する方法については、統合ガイドページをご覧ください。
FAQ#
Ultralytics YOLO26モデルは、TensorFlow GraphDef(TF GraphDef)形式へシームレスにエクスポートできます。この形式は、シリアライズされたプラットフォーム非依存のモデル表現を提供するため、モバイルやWebなど、さまざまな環境へのデプロイに適しています。YOLO26モデルをTF GraphDefへエクスポートするには、次の手順に従ってください。
使用方法from ultralytics import YOLO # Load a YOLO26 model model = YOLO("yolo26n.pt") # Export the model to TF GraphDef format model.export(format="pb") # creates 'yolo26n.pb' # Load the exported TF GraphDef model tf_graphdef_model = YOLO("yolo26n.pb") # Run inference results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")さまざまなエクスポートオプションについては、モデルエクスポートに関するUltralyticsドキュメントをご覧ください。
YOLO26モデルをTF GraphDef形式へエクスポートすると、次のような複数のメリットがあります。
- プラットフォーム非依存性: TF GraphDefはプラットフォーム非依存の形式を提供するため、モバイルやWebブラウザーなど、さまざまな環境にモデルをデプロイできます。
- 最適化: この形式では、定数畳み込み、量子化、グラフ変換など、複数の最適化を利用できます。これにより、実行効率が向上し、メモリ使用量が削減されます。
- ハードウェアアクセラレーション: TF GraphDef形式のモデルは、GPU、TPU、AIチップなどのハードウェアアクセラレーターを活用してパフォーマンスを向上させられます。
メリットの詳細については、ドキュメントのTF GraphDefセクションをご覧ください。
Ultralytics YOLO26には、YOLOv5やYOLOv7などの他のモデルと比較して多くのメリットがあります。主なメリットは次のとおりです。
- 最先端のパフォーマンス: YOLO26は、リアルタイムの物体検出、インスタンスセグメンテーション、セマンティックセグメンテーション、分類において、優れた速度と精度を提供します。
- 使いやすさ: モデルのトレーニング、検証、予測、エクスポートに対応したユーザーフレンドリーなAPIを備えており、初心者にも専門家にも利用しやすくなっています。
- 幅広い互換性: ONNX、TensorRT、CoreML、TensorFlowなど、複数のエクスポート形式をサポートし、柔軟なデプロイオプションを提供します。
詳しくは、YOLO26の紹介をご覧ください。
YOLO26モデルをTF GraphDef形式へエクスポートすると、さまざまな専用ハードウェアプラットフォームにデプロイできます。一般的なデプロイシナリオは次のとおりです。
- TensorFlow Serving: TensorFlow Servingを使用して、本番環境でスケーラブルにモデルをデプロイします。モデル管理と効率的なサービングをサポートします。
- モバイルデバイス: TF GraphDefモデルをモバイルおよび組み込みデバイス向けに最適化されたTensorFlow Liteへ変換し、デバイス上の推論を可能にします。
- Webブラウザー: TensorFlow.jsを使用してモデルをデプロイし、Webアプリケーションでクライアント側の推論を実行します。
- AIアクセラレーター: TPUとカスタムAIチップを活用して推論を高速化します。
詳しくは、デプロイオプションセクションをご覧ください。
YOLO26モデルのエクスポートに関する一般的な問題のトラブルシューティングについて、Ultralyticsは包括的なガイドとリソースを提供しています。インストール中またはモデルのエクスポート中に問題が発生した場合は、以下を参照してください。
- 一般的な問題のガイド: よく発生する問題の解決策を提供します。
- インストールガイド: 必要なパッケージをセットアップするための手順を説明します。
これらのリソースは、YOLO26モデルのエクスポートとデプロイに関連するほとんどの問題の解決に役立ちます。