Link to this sectionデプロイに向けてYOLO26から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形式は、シリアル化された計算グラフとしてモデルを表現します。これにより、定数折りたたみ(constant folding)、量子化、グラフ変換といったさまざまな最適化技術が可能になります。これらの最適化により、効率的な実行、メモリ使用量の削減、推論速度の向上が実現します。
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を使用すると、TF GraphDefモデルをWebブラウザ内で直接デプロイできます。これにより、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) を指定できます。 |
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: Webアプリケーションで使用するために、TensorFlowまたはKerasモデルをTensorFlow.js形式に変換する方法を教えるモデル変換ガイドです。
Link to this section概要#
このガイドでは、Ultralytics YOLO26モデルをTF GraphDef形式にエクスポートする方法を探求しました。これにより、最適化されたYOLO26モデルをさまざまな環境で柔軟にデプロイできます。
使用方法の詳細については、TF GraphDef公式ドキュメントをご覧ください。
Ultralytics YOLO26を他のプラットフォームやフレームワークと統合する方法については、統合ガイドページをご覧ください。
Link to this sectionFAQ#
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モデルのエクスポートとデプロイに関連するほとんどの問題を解決するのに役立ちます。