コンテンツにスキップ

デプロイメントのためにYOLO11からTF GraphDefにエクスポートする方法

YOLO11のような最先端のコンピュータビジョンモデルをさまざまな環境に展開する際、互換性の問題が発生する可能性があります。GoogleのTensorFlow GraphDef、またはTF GraphDefは、モデルのシリアル化されたプラットフォームに依存しない表現を提供することで、ソリューションを提供します。TF GraphDefモデル形式を使用すると、モバイルデバイスや特殊なハードウェアなど、完全なTensorFlowエコシステムが利用できない環境にYOLO11モデルを展開できます。

このガイドでは、Ultralytics YOLO11モデルをTF GraphDefモデル形式にエクスポートする方法をステップごとに説明します。モデルを変換することで、デプロイメントを効率化し、より広範なアプリケーションやプラットフォームでYOLO11のコンピュータビジョン機能を使用できます。

TensorFlow GraphDef

TF GraphDef へのエクスポートの利点は何ですか?

TF GraphDefは、Googleによって開発されたTensorFlowエコシステムの強力なコンポーネントです。YOLO11のようなモデルの最適化とデプロイに使用できます。TF GraphDefにエクスポートすることで、研究段階のモデルを実際のアプリケーションに移行できます。これにより、完全なTensorFlowフレームワークがない環境でもモデルを実行できます。

GraphDef形式は、モデルをシリアル化された計算グラフとして表現します。これにより、定数畳み込み、量子化、グラフ変換などのさまざまな最適化手法が可能になります。これらの最適化により、効率的な実行、メモリ使用量の削減、およびより高速な推論速度が保証されます。

GraphDef モデルは、GPU、TPU、AI チップなどのハードウェアアクセラレータを利用して、YOLO11 推論パイプラインのパフォーマンスを大幅に向上させることができます。TF GraphDef 形式は、モデルとその依存関係を含む自己完結型パッケージを作成し、多様なシステムへのデプロイメントと統合を簡素化します。

TF GraphDefモデルの主な特徴

TF GraphDefは、モデルのデプロイと最適化を効率化するための明確な機能を提供します。

主な特徴をご紹介します。

  • モデルシリアライゼーション: TF GraphDefは、TensorFlowモデルをプラットフォームに依存しない形式でシリアライズして保存する方法を提供します。このシリアライズされた表現により、元のpythonコードベースなしでモデルをロードして実行できるため、デプロイが容易になります。

  • グラフの最適化:TF GraphDefを使用すると、計算グラフを最適化できます。これらの最適化により、実行フローを合理化し、冗長性を削減し、特定のハードウェアに合わせて操作を調整することで、パフォーマンスを向上させることができます。

  • デプロイメントの柔軟性: GraphDef形式でエクスポートされたモデルは、リソースが限られたデバイス、Webブラウザー、特殊なハードウェアを備えたシステムなど、さまざまな環境で使用できます。これにより、TensorFlowモデルのより広範なデプロイの可能性が開かれます。

  • プロダクション重視: GraphDef は、本番環境へのデプロイ向けに設計されています。効率的な実行、シリアル化機能、および実際のユースケースに合わせた最適化をサポートします。

TF GraphDef でのデプロイメントオプション

YOLO11モデルをTF GraphDefにエクスポートするプロセスに入る前に、この形式が使用される典型的なデプロイメント状況を見てみましょう。

TF GraphDefを使用して、さまざまなプラットフォームに効率的にデプロイする方法を以下に示します。

  • TensorFlow Serving: このフレームワークは、TensorFlowモデルを本番環境にデプロイするために設計されています。TensorFlow Servingは、モデル管理、バージョニング、および大規模なモデル提供を効率的に行うためのインフラストラクチャを提供します。GraphDefベースのモデルを本番WebサービスまたはAPIにシームレスに統合できます。

  • モバイルおよび組み込みデバイス: TensorFlow Liteのようなツールを使用すると、TF GraphDefモデルをスマートフォン、タブレット、およびさまざまな組み込みデバイス向けに最適化された形式に変換できます。モデルはその後、オンデバイス推論に使用でき、ローカルで実行されるため、多くの場合、パフォーマンスの向上とオフライン機能が提供されます。

  • ウェブブラウザ: TensorFlow.js を使用すると、TF GraphDef モデルをウェブブラウザ内で直接デプロイできます。これにより、JavaScript を介して YOLO11 の機能を使用し、クライアント側で実行されるリアルタイム物体検出アプリケーションへの道が開かれます。

  • 特殊化されたハードウェア: TF GraphDefのプラットフォームに依存しない性質により、アクセラレータやTPU(Tensor Processing Units)などのカスタムハードウェアをターゲットにできます。これらのデバイスは、計算負荷の高いモデルに対してパフォーマンス上の利点を提供できます。

YOLO11モデルをTF GraphDefにエクスポートする

YOLO11オブジェクト検出モデルをTF GraphDef形式に変換して、さまざまなシステムとの互換性を持たせ、プラットフォーム全体のパフォーマンスを向上させることができます。

インストール

必要なパッケージをインストールするには、以下を実行します:

インストール

# Install the required package for YOLO11
pip install ultralytics

インストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO11に必要なパッケージのインストール中に問題が発生した場合は、よくある問題ガイドで解決策とヒントを参照してください。

使用法

すべてのUltralytics YOLO11モデルは、すぐにエクスポートできるように設計されており、お好みのデプロイメントワークフローに簡単に統合できます。アプリケーションに最適なセットアップを選択するために、サポートされているエクスポート形式と構成オプションの完全なリストを表示できます

使用法

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo11n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model=yolo11n.pt format=pb # creates 'yolo11n.pb'

# Run inference with the exported model
yolo predict model='yolo11n.pb' source='https://ultralytics.com/images/bus.jpg'

エクスポート引数

引数 種類 デフォルト 説明
format str 'pb' エクスポートされたモデルのターゲット形式。さまざまなデプロイメント環境との互換性を定義します。
imgsz int または tuple 640 モデル入力に必要な画像サイズ。正方形の画像の場合は整数、タプルの場合は (height, width) 特定の寸法の場合。
batch int 1 エクスポートされたモデルのバッチ推論サイズ、またはエクスポートされたモデルが同時に処理する画像の最大数を指定します。 predict モードを参照してください。
device str None エクスポート先のデバイスを指定します:CPU (device=cpu)、Apple シリコン用 MPS (device=mps)。

エクスポートプロセスの詳細については、エクスポートに関するUltralyticsドキュメントページをご覧ください。

エクスポートされた YOLO11 TF GraphDef モデルのデプロイ

YOLO11モデルをTF GraphDef形式にエクスポートしたら、次のステップはデプロイです。TF GraphDefモデルを実行するための推奨される最初のステップは、前述の使用コードスニペットで示したように、YOLO("model.pb")メソッドを使用することです。

ただし、TF GraphDefモデルのデプロイに関する詳細については、以下のリソースをご覧ください。

  • TensorFlow Serving:本ガイドでは、TensorFlow Servingを用いて、機械学習モデルを効率的にデプロイし、本番環境で提供する方法を説明します。

  • TensorFlow Lite:このページでは、TensorFlow Liteを使用したオンデバイス推論用に最適化された形式に、機械学習モデルを変換する方法について説明します。

  • TensorFlow.js:本ガイドでは、TensorFlowまたはKerasモデルをTensorFlow.js形式に変換し、Webアプリケーションで使用する方法を説明します。

概要

このガイドでは、Ultralytics YOLO11モデルをTF GraphDef形式にエクスポートする方法を解説しました。これにより、最適化されたYOLO11モデルをさまざまな環境に柔軟にデプロイできます。

使い方の詳細については、TF GraphDefの公式ドキュメントをご覧ください。

Ultralytics YOLO11 と他のプラットフォームやフレームワークとの統合に関する詳細については、統合ガイドページをご覧ください。プロジェクトで YOLO11 を最大限に活用するのに役立つ優れたリソースと洞察が掲載されています。

よくある質問

YOLO11モデルをTF GraphDef形式にエクスポートするにはどうすればよいですか?

Ultralytics YOLO11モデルは、TensorFlow GraphDef(TF GraphDef)形式にシームレスにエクスポートできます。この形式は、モデルのシリアル化されたプラットフォームに依存しない表現を提供し、モバイルやWebなどのさまざまな環境でのデプロイに最適です。YOLO11モデルをTF GraphDefにエクスポートするには、次の手順に従います。

使用法

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolo11n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolo11n.pb")

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TF GraphDef format
yolo export model="yolo11n.pt" format="pb" # creates 'yolo11n.pb'

# Run inference with the exported model
yolo predict model="yolo11n.pb" source="https://ultralytics.com/images/bus.jpg"

さまざまなエクスポートオプションの詳細については、モデルエクスポートに関する Ultralytics のドキュメントをご覧ください。

YOLO11 モデルのデプロイに TF GraphDef を使用する利点は何ですか?

YOLO11モデルをTF GraphDef形式にエクスポートすると、次のような複数の利点があります。

  1. プラットフォーム非依存性: TF GraphDefはプラットフォームに依存しない形式を提供し、モバイルやWebブラウザを含むさまざまな環境にモデルをデプロイできます。
  2. 最適化: この形式により、定数畳み込み、量子化、グラフ変換など、いくつかの最適化が可能になり、実行効率が向上し、メモリ使用量が削減されます。
  3. ハードウェアアクセラレーション:TF GraphDef形式のモデルは、GPU、TPU、AIチップなどのハードウェアアクセラレータを活用して、パフォーマンスを向上させることができます。

利点の詳細については、ドキュメントのTF GraphDefセクションをご覧ください。

他のオブジェクト検出モデルではなく Ultralytics YOLO11 を使用する利点は何ですか?

Ultralytics YOLO11 は、YOLOv5 や YOLOv7 などの他のモデルと比較して、数多くの利点を提供します。主な利点には以下が含まれます。

  1. 最新のパフォーマンス: YOLO11は、リアルタイムのオブジェクト検出、セグメンテーション、および分類において、卓越した速度と精度を提供します。
  2. 使いやすさ: モデルのトレーニング、検証、予測、エクスポートのためのユーザーフレンドリーなAPIを備えており、初心者から専門家までアクセスできます。
  3. 広範な互換性: ONNX、TensorRT、CoreML、TensorFlowを含む複数のエクスポート形式をサポートし、汎用性の高いデプロイオプションを提供します。

YOLO11 の概要で詳細をご覧ください。

TF GraphDefを使用して、特殊なハードウェアにYOLO11モデルをデプロイするにはどうすればよいですか?

YOLO11モデルをTF GraphDef形式にエクスポートすると、さまざまな専用ハードウェアプラットフォームにデプロイできます。一般的なデプロイメントシナリオは次のとおりです。

  • TensorFlow Serving:本番環境でのスケーラブルなモデルデプロイには、TensorFlow Servingを使用します。モデル管理と効率的な提供をサポートしています。
  • モバイルデバイス: TF GraphDefモデルをTensorFlow Liteに変換し、モバイルおよび組み込みデバイス向けに最適化して、オンデバイス推論を可能にします。
  • ウェブブラウザ: TensorFlow.jsを使用してモデルをデプロイし、ウェブアプリケーションでクライアント側の推論を行います。
  • AIアクセラレータ: 高速化された推論のためにTPUとカスタムAIチップを活用します。

詳細については、デプロイメントオプションのセクションをご確認ください。

YOLO11モデルのエクスポート中に発生する一般的な問題の解決策はどこにありますか?

YOLO11モデルのエクスポートに関する一般的な問題のトラブルシューティングについて、Ultralyticsは包括的なガイドとリソースを提供しています。インストールまたはモデルのエクスポート中に問題が発生した場合は、以下を参照してください:

これらのリソースは、YOLO11モデルのエクスポートとデプロイに関連するほとんどの問題を解決するのに役立ちます。



📅 1年前に作成 ✏️ 4か月前に更新

コメント