Link to this sectionYOLO26からTF GraphDefへエクスポートしデプロイする方法#
YOLO26のような最先端のコンピュータビジョンモデルを様々な環境にデプロイする場合、互換性の問題に直面することがあります。GoogleのTensorFlow GraphDef(TF GraphDef)は、モデルをプラットフォームに依存しないシリアル化された形式で提供することで、この問題を解決します。TF GraphDefモデル形式を使用すれば、モバイルデバイスや特殊なハードウェアなど、完全なTensorFlowエコシステムが利用できない環境でもYOLO26モデルをデプロイできます。
本ガイドでは、Ultralytics YOLO26モデルをTF GraphDefモデル形式にエクスポートする手順をステップバイステップで説明します。モデルを変換することで、デプロイを効率化し、より幅広いアプリケーションやプラットフォームでYOLO26のコンピュータビジョン機能を利用できるようになります。
Link to this sectionなぜTF GraphDefにエクスポートする必要があるのか?#
TF GraphDefは、Googleによって開発されたTensorFlowエコシステムの強力なコンポーネントです。YOLO26のようなモデルの最適化とデプロイに使用できます。TF GraphDefへのエクスポートにより、研究段階のモデルを実際のアプリケーションへ移行できます。また、完全なTensorFlowフレームワークがない環境でもモデルを実行できるようになります。
GraphDef形式は、モデルをシリアル化された計算グラフとして表現します。これにより、定数畳み込み、量子化、グラフ変換といった様々な最適化手法が可能になります。これらの最適化により、効率的な実行、メモリ使用量の削減、推論速度の向上が実現します。
GraphDefモデルはGPU、TPU、AIチップなどのハードウェアアクセラレータを利用でき、YOLO26の推論パイプラインで大幅なパフォーマンス向上を実現します。TF GraphDef形式は、モデルとその依存関係を含む自己完結型のパッケージを作成するため、多様なシステムへのデプロイと統合が簡素化されます。
Link to this sectionTF GraphDefモデルの主な機能#
TF GraphDefは、モデルデプロイと最適化を効率化するための明確な機能を提供します。
主な特徴は以下の通りです:
-
モデルのシリアル化: TF GraphDefは、TensorFlowモデルをプラットフォーム非依存の形式でシリアル化して保存する方法を提供します。このシリアル化された表現により、元のPythonコードベースなしでモデルをロード・実行できるため、デプロイが容易になります。
-
グラフの最適化: TF GraphDefは計算グラフの最適化を可能にします。これらの最適化により、実行フローの効率化、冗長性の削減、特定のハードウェアに合わせたオペレーションの調整が行われ、パフォーマンスが向上します。
-
デプロイの柔軟性: GraphDef形式にエクスポートされたモデルは、リソースが制限されたデバイス、Webブラウザ、特殊なハードウェアを搭載したシステムなど、様々な環境で使用できます。これにより、TensorFlowモデルのデプロイの幅が広がります。
-
本番環境向け: GraphDefは本番環境へのデプロイを想定して設計されています。効率的な実行、シリアル化機能、実用的なユースケースに合わせた最適化をサポートしています。
Link to this sectionTF GraphDefでのデプロイオプション#
YOLO26モデルをTF GraphDefへエクスポートする手順に入る前に、この形式が使用される一般的なデプロイ状況を見てみましょう。
TF GraphDefを使用して、様々なプラットフォームに効率的にデプロイする方法を以下に示します。
-
TensorFlow Serving: このフレームワークは、本番環境でTensorFlowモデルをデプロイするために設計されています。TensorFlow Servingは、モデルの管理、バージョン管理、および大規模なモデルサービングのためのインフラストラクチャを提供します。GraphDefベースのモデルを、本番環境のWebサービスやAPIにシームレスに統合できます。
-
モバイルおよび組み込みデバイス: TensorFlow Liteなどのツールを使用することで、TF GraphDefモデルをスマートフォン、タブレット、各種組み込みデバイス向けに最適化された形式に変換できます。モデルをデバイス上で推論実行できるため、オフライン機能やパフォーマンスの向上が期待できます。
-
Webブラウザ: TensorFlow.jsは、Webブラウザ内で直接TF GraphDefモデルのデプロイを可能にします。JavaScriptを通じてYOLO26の能力を活用し、クライアントサイドでリアルタイムの物体検出アプリケーションを実行できます。
-
特殊なハードウェア: TF GraphDefはプラットフォームに依存しない性質を持っているため、アクセラレータやTPU(Tensor Processing Unit)などのカスタムハードウェアをターゲットにできます。これらのデバイスは、計算負荷の高いモデルに対してパフォーマンス上の利点をもたらします。
Link to this sectionYOLO26モデルのTF GraphDefへのエクスポート#
YOLO26物体検出モデルをTF GraphDef形式に変換することで、様々なシステムと互換性を持たせ、プラットフォーム全体でパフォーマンスを向上させることができます。
Link to this sectionインストール#
必要なパッケージをインストールするには、以下を実行してください:
# Install the required package for YOLO26
pip install ultralyticsインストールプロセスの詳細およびベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO26に必要なパッケージをインストールする際に問題が発生した場合は、解決策とヒントについて共通の問題ガイドを参照してください。
Link to this section使用方法#
すべてのUltralytics YOLO26モデルは、導入後すぐにエクスポートをサポートするように設計されており、好みの展開ワークフローに簡単に統合できます。サポートされているエクスポートフォーマットと設定オプションの全リストを表示して、アプリケーションに最適な構成を選択してください。
TF GraphDef形式は、Export、Predict、Validateの各モードをサポートしています。モデルをエクスポートした後、エクスポートされたモデルをロードして推論を実行するか、精度を検証してください。
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")Link to this sectionエクスポートの引数#
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
format | str | 'pb' | エクスポートするモデルのターゲット形式。さまざまなデプロイ環境との互換性を定義します。 |
imgsz | intまたはtuple | 640 | モデル入力用の希望する画像サイズ。正方形画像の場合は整数、特定の寸法の場合はタプル(height, width)を指定できます。 |
quantize | int または str | None | FP32エクスポートを修正しました。GraphDefはエクスポート時のFP16、INT8、またはW8A16精度変換をサポートしていません。 |
batch | int | 1 | エクスポートされたモデルのバッチ推論サイズ、あるいはpredictモードで同時に処理する画像の最大数を指定します。 |
device | str | None | エクスポート先のデバイスを指定します:CPU(device=cpu)、Appleシリコン向けにはMPS(device=mps)。 |
エクスポートプロセスの詳細については、Ultralyticsのエクスポートに関するドキュメントページを参照してください。
Link to this sectionエクスポートされた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形式へ変換する方法を解説するモデル変換ガイドです。
Link to this section要約#
本ガイドでは、Ultralytics YOLO26モデルをTF GraphDef形式にエクスポートする方法を探求しました。これにより、最適化されたYOLO26モデルを様々な環境で柔軟にデプロイできるようになります。
使用方法の詳細については、TF GraphDef公式ドキュメントをご覧ください。
Ultralytics YOLO26と他のプラットフォームやフレームワークの統合に関する詳細については、統合ガイドページを参照してください。
Link to this sectionよくある質問 (FAQ)#
Link to this sectionYOLO26モデルをTF GraphDef形式にエクスポートするにはどうすればよいですか?#
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ドキュメントをご覧ください。
Link to this sectionYOLO26モデルのデプロイでTF GraphDefを使用する利点は何ですか?#
YOLO26モデルをTF GraphDef形式にエクスポートすると、以下のような複数の利点があります:
- プラットフォームの独立性: TF GraphDefはプラットフォームに依存しない形式を提供するため、モバイルやWebブラウザを含む様々な環境にモデルをデプロイできます。
- 最適化: この形式では、定数畳み込み、量子化、グラフ変換などのいくつかの最適化が可能になり、実行効率の向上とメモリ使用量の削減が実現します。
- ハードウェアアクセラレーション: TF GraphDef形式のモデルは、GPU、TPU、AIチップなどのハードウェアアクセラレータを活用してパフォーマンスを向上させることができます。
利点の詳細については、当ドキュメントのTF GraphDefセクションをお読みください。
Link to this section他の物体検出モデルではなく、Ultralytics YOLO26を使用すべき理由は何ですか?#
Ultralytics YOLO26には、YOLOv5やYOLOv7といった他のモデルと比較して数多くの利点があります。主な利点は以下の通りです:
- State-of-the-Art Performance: YOLO26 provides exceptional speed and accuracy for real-time object detection, instance segmentation, semantic segmentation, and classification.
- 使いやすさ: モデルのトレーニング、検証、予測、エクスポートのためのユーザーフレンドリーなAPIを備えており、初心者から専門家まで利用可能です。
- 幅広い互換性: ONNX、TensorRT、CoreML、TensorFlowなど、複数のエクスポート形式をサポートしており、多様なデプロイオプションに対応しています。
詳細については、YOLO26の紹介をご覧ください。
Link to this sectionTF GraphDefを使用して特殊なハードウェア上でYOLO26モデルをデプロイするにはどうすればよいですか?#
YOLO26モデルをTF GraphDef形式にエクスポートすれば、様々な特殊ハードウェアプラットフォーム全体でデプロイ可能です。一般的なデプロイシナリオには以下が含まれます:
- TensorFlow Serving: 本番環境でのスケーラブルなモデルデプロイには、TensorFlow Servingを使用します。モデルの管理と効率的なサービングをサポートしています。
- モバイルデバイス: TF GraphDefモデルをTensorFlow Liteに変換することで、モバイルおよび組み込みデバイス向けに最適化し、デバイス上での推論を可能にします。
- Webブラウザ: Webアプリケーションでのクライアントサイド推論には、TensorFlow.jsを使用してモデルをデプロイします。
- AIアクセラレータ: TPUやカスタムAIチップを活用し、推論を加速させます。
詳細な情報については、デプロイオプションセクションを確認してください。
Link to this sectionYOLO26モデルのエクスポート中に発生する一般的な問題の解決策はどこにありますか?#
YOLO26モデルのエクスポートに関する一般的な問題のトラブルシューティングについては、Ultralyticsが包括的なガイドとリソースを提供しています。インストールやモデルのエクスポート中に問題が発生した場合は、以下を参照してください:
- 一般的な問題に関するガイド: よくある問題に対する解決策を提供します。
- インストールガイド: 必要なパッケージをセットアップするためのステップバイステップの手順です。
これらのリソースは、YOLO26モデルのエクスポートとデプロイに関連するほとんどの問題を解決するのに役立ちます。