YOLO26からTF GraphDefへエクスポートしデプロイする方法#
YOLO26 のような最先端の computer vision モデルをさまざまな環境にデプロイする際、互換性の問題が発生することがあります。Google の TensorFlow GraphDef(または TF GraphDef)は、モデルのシリアル化されたプラットフォーム非依存の表現を提供することで解決策をもたらします。TF GraphDef モデル形式を使用すると、モバイルデバイスや特殊なハードウェアなど、完全な TensorFlow エコシステムを利用できない環境にも YOLO26 モデルをデプロイできます。
このガイドでは、Ultralytics YOLO26 モデルを TF GraphDef モデル形式にエクスポートする方法を手順に沿って説明します。モデルを変換することで、デプロイを効率化し、より幅広いアプリケーションやプラットフォームで YOLO26 の computer vision 機能を活用できます。
なぜTF GraphDefにエクスポートする必要があるのか?#
TF GraphDefは、Googleによって開発されたTensorFlowエコシステムの強力なコンポーネントです。YOLO26のようなモデルの最適化とデプロイに使用できます。TF GraphDefへのエクスポートにより、研究段階のモデルを実際のアプリケーションへ移行できます。また、完全なTensorFlowフレームワークがない環境でもモデルを実行できるようになります。
GraphDef形式は、モデルをシリアル化された計算グラフとして表現します。これにより、定数畳み込み、量子化、グラフ変換といった様々な最適化手法が可能になります。これらの最適化により、効率的な実行、メモリ使用量の削減、推論速度の向上が実現します。
GraphDefモデルはGPU、TPU、AIチップなどのハードウェアアクセラレータを利用でき、YOLO26の推論パイプラインで大幅なパフォーマンス向上を実現します。TF GraphDef形式は、モデルとその依存関係を含む自己完結型のパッケージを作成するため、多様なシステムへのデプロイと統合が簡素化されます。
TF GraphDefモデルの主な機能#
TF GraphDef は、model deployment と最適化を効率化するための優れた機能を提供します。
主な特徴は以下の通りです:
-
モデルのシリアル化: 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 ブラウザ内で直接デプロイできます。これにより、JavaScript を通じて YOLO26 の機能を活用した、クライアント側で実行されるリアルタイム物体検出アプリケーションへの道が開かれます。
-
特殊なハードウェア: TF GraphDefはプラットフォームに依存しない性質を持っているため、アクセラレータやTPU(Tensor Processing Unit)などのカスタムハードウェアをターゲットにできます。これらのデバイスは、計算負荷の高いモデルに対してパフォーマンス上の利点をもたらします。
サポートされているタスク#
TF GraphDef エクスポートは、7つの Ultralytics タスクのうち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 形式は、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")エクスポートの引数#
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
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 | エクスポートするデバイスを指定します: CPU(device=cpu)、Apple シリコン用 MPS(device=mps)。 |
エクスポートプロセスの詳細については、Ultralytics documentation page on exporting をご覧ください。
エクスポートされたYOLO26 TF GraphDefモデルのデプロイ#
YOLO26モデルをTF GraphDef形式にエクスポートしたら、次はデプロイです。TF GraphDefモデルを実行するための主要かつ推奨される最初のステップは、先ほどの使用コード例で示したように、YOLO("model.pb")メソッドを使用することです。
TF GraphDefモデルのデプロイに関する詳細については、以下のリソースを確認してください。
-
TensorFlow Serving: 本番環境で machine learning モデルを効率的にデプロイおよびサービングする方法を解説する TensorFlow Serving のガイド。
-
TensorFlow Lite: 機械学習モデルを TensorFlow Lite によるデバイス上の推論に最適化された形式に変換する方法を説明するページ。
-
TensorFlow.js: TensorFlow または Keras モデルを Web アプリケーションで使用するための TensorFlow.js 形式に変換する方法を解説するモデル変換ガイド。
要約#
本ガイドでは、Ultralytics YOLO26モデルをTF GraphDef形式にエクスポートする方法を探求しました。これにより、最適化されたYOLO26モデルを様々な環境で柔軟にデプロイできるようになります。
使用方法の詳細については、TF GraphDef の公式ドキュメントを参照してください。
Ultralytics YOLO26 と他のプラットフォームやフレームワークの統合に関する詳細については、インテグレーションガイドのページをご覧ください。
よくある質問 (FAQ)#
YOLO26モデルを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 のドキュメントをご覧ください。
YOLO26モデルのデプロイでTF GraphDefを使用する利点は何ですか?#
YOLO26モデルをTF GraphDef形式にエクスポートすると、以下のような複数の利点があります:
- プラットフォームの独立性: TF GraphDefはプラットフォームに依存しない形式を提供するため、モバイルやWebブラウザを含む様々な環境にモデルをデプロイできます。
- 最適化: この形式では、定数畳み込み、量子化、グラフ変換などのいくつかの最適化が可能になり、実行効率の向上とメモリ使用量の削減が実現します。
- ハードウェアアクセラレーション: TF GraphDef形式のモデルは、GPU、TPU、AIチップなどのハードウェアアクセラレータを活用してパフォーマンスを向上させることができます。
メリットの詳細については、ドキュメントの TF GraphDef セクションをお読みください。
他の object detection モデルではなく Ultralytics YOLO26 を使用すべき理由は何ですか?#
Ultralytics YOLO26には、YOLOv5やYOLOv7といった他のモデルと比較して数多くの利点があります。主な利点は以下の通りです:
- 最先端のパフォーマンス: YOLO26は、リアルタイムの物体検出、インスタンスセグメンテーション、セマンティックセグメンテーション、分類において、卓越した速度と精度を提供します。
- 使いやすさ: モデルのトレーニング、検証、予測、エクスポートのためのユーザーフレンドリーなAPIを備えており、初心者から専門家まで利用可能です。
- 幅広い互換性: ONNX、TensorRT、CoreML、TensorFlowなど、複数のエクスポート形式をサポートしており、多様なデプロイオプションに対応しています。
詳細については、YOLO26 の紹介をご覧ください。
TF GraphDefを使用して特殊なハードウェア上でYOLO26モデルをデプロイするにはどうすればよいですか?#
YOLO26モデルをTF GraphDef形式にエクスポートすれば、様々な特殊ハードウェアプラットフォーム全体でデプロイ可能です。一般的なデプロイシナリオには以下が含まれます:
- TensorFlow Serving: 本番環境でのスケーラブルなモデルデプロイには、TensorFlow Servingを使用します。モデルの管理と効率的なサービングをサポートしています。
- モバイルデバイス: TF GraphDefモデルをTensorFlow Liteに変換することで、モバイルおよび組み込みデバイス向けに最適化し、デバイス上での推論を可能にします。
- Webブラウザ: Webアプリケーションでのクライアントサイド推論には、TensorFlow.jsを使用してモデルをデプロイします。
- AIアクセラレータ: TPUやカスタムAIチップを活用し、推論を加速させます。
詳細な情報については、デプロイオプションのセクションをご確認ください。
YOLO26モデルのエクスポート中に発生する一般的な問題の解決策はどこにありますか?#
YOLO26モデルのエクスポートに関する一般的な問題のトラブルシューティングについては、Ultralyticsが包括的なガイドとリソースを提供しています。インストールやモデルのエクスポート中に問題が発生した場合は、以下を参照してください:
- 共通の問題に関するガイド: 頻繁に発生する問題に対する解決策を提供します。
- インストールガイド: 必要なパッケージをセットアップするための手順を追った説明。
これらのリソースは、YOLO26モデルのエクスポートとデプロイに関連するほとんどの問題を解決するのに役立ちます。