YOLO26モデルからTFLite Edge TPU形式へのエクスポート方法を学ぶ

モバイルシステムや組み込みシステムなど、計算能力が限られたデバイス上でコンピュータビジョンモデルをデプロイするのは難しい場合があります。より高速なパフォーマンスを実現するために最適化されたモデル形式を使用することで、このプロセスを簡素化できます。TensorFlow LiteEdge TPU、またはTFLite Edge TPUモデル形式は、ニューラルネットワークに対して最小限の電力で高速なパフォーマンスを発揮するように設計されています。

TFLite Edge TPU形式へのエクスポート機能を使用すると、Ultralytics YOLO26モデルを高速かつ低消費電力の推論向けに最適化できます。本ガイドでは、モデルをTFLite Edge TPU形式に変換する手順を説明し、さまざまなモバイルデバイスや組み込みデバイスでモデルが適切に動作するように支援します。

なぜTFLite Edge TPUへエクスポートする必要があるのか?

TensorFlow Edge TPUへのモデルエクスポートにより、機械学習タスクが高速かつ効率的になります。このテクノロジーは、電力、計算リソース、接続性が限られたアプリケーションに適しています。Edge TPUはGoogleによるハードウェアアクセラレータであり、エッジデバイス上でTensorFlow Liteモデルを高速化します。下の画像は、このプロセスの一例を示しています。

TensorFlow Lite Edge TPU compilation workflow

Edge TPUは量子化されたモデルで動作します。量子化により、精度をほとんど損なうことなくモデルを小型化・高速化できます。これはエッジコンピューティングの限られたリソースに最適で、レイテンシを削減し、クラウドに依存せずローカルで高速なデータ処理を可能にすることで、アプリケーションの迅速な応答を実現します。また、ローカル処理はリモートサーバーにデータが送信されないため、ユーザーのプライバシーとセキュリティを維持します。

TFLite Edge TPUの主な機能

開発者がTFLite Edge TPUを優れたモデル形式として選択する主な機能は以下の通りです。

  • エッジデバイスでの最適化されたパフォーマンス: TFLite Edge TPUは、量子化、モデル最適化、ハードウェアアクセラレーション、コンパイラ最適化を通じて、高速なニューラルネットのパフォーマンスを達成します。そのミニマルなアーキテクチャは、小型化とコスト効率に貢献します。

  • 高い計算スループット: TFLite Edge TPUは、専門化されたハードウェアアクセラレーションと効率的なランタイム実行を組み合わせることで、高い計算スループットを実現します。エッジデバイスで厳しいパフォーマンス要件が求められる機械学習モデルのデプロイに最適です。

  • 効率的な行列計算: TensorFlow Edge TPUは、ニューラルネットワーク計算において不可欠な行列演算用に最適化されています。この効率性は、多数の複雑な行列の乗算や変換を必要とする機械学習モデルにおいて非常に重要です。

TFLite Edge TPUによるデプロイオプション

YOLO26モデルをTFLite Edge TPU形式にエクスポートする方法に入る前に、TFLite Edge TPUモデルが通常どこで使用されるのかを理解しましょう。

TFLite Edge TPUは、以下を含む機械学習モデル向けのさまざまなデプロイオプションを提供します。

  • オンデバイスデプロイ: TensorFlow Edge TPUモデルは、モバイルや組み込みデバイスに直接デプロイ可能です。オンデバイスデプロイでは、モデルをアプリケーションバンドルに埋め込むか、必要に応じてダウンロードすることで、クラウド接続を必要とせずにモデルをハードウェア上で直接実行できます。

  • クラウドTensorFlow TPUによるエッジコンピューティング: エッジデバイスの処理能力が限られているシナリオでは、TensorFlow Edge TPUを使用して推論タスクをTPU搭載のクラウドサーバーにオフロードできます。

  • ハイブリッドデプロイ: ハイブリッドアプローチは、オンデバイスデプロイとクラウドデプロイを組み合わせたもので、機械学習モデルをデプロイするための汎用性と拡張性に優れたソリューションを提供します。利点として、迅速な応答のためのオンデバイス処理と、より複雑な計算のためのクラウドコンピューティングの活用が挙げられます。

YOLO26モデルのTFLite Edge TPUへのエクスポート

YOLO26モデルをTensorFlow Edge TPUに変換することで、モデルの互換性とデプロイの柔軟性を拡張できます。

インストール

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

インストール
# Install the required package for YOLO26
pip install ultralytics

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

使用方法

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

使用方法
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite Edge TPU format
model.export(format="edgetpu")  # creates 'yolo26n_full_integer_quant_edgetpu.tflite'

# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")

エクスポート引数

引数タイプデフォルト説明
formatstr'edgetpu'エクスポートされたモデルのターゲットフォーマット。さまざまなデプロイ環境との互換性を定義します。
imgszint または tuple640モデル入力に希望する画像サイズ。正方形の画像の場合は整数、特定の寸法のタプル (height, width) で指定できます。
int8boolTrueINT8量子化をアクティブにし、主にエッジデバイス向けに、精度の損失を最小限に抑えながらモデルをさらに圧縮し、推論を高速化します。
datastr'coco8.yaml'データセット構成ファイルへのパス(デフォルト: coco8.yaml)。量子化に不可欠です。
fractionfloat1.0INT8 量子化キャリブレーションに使用するデータセットの割合を指定します。フルデータセットの一部を使用してキャリブレーションを行うことができ、実験時やリソースが限られている場合に便利です。INT8 を有効にして指定されていない場合は、フルデータセットが使用されます。
devicestrNoneエクスポートするデバイスを指定します:CPU (device=cpu)。
ヒント

EdgeTPUへのエクスポート時には、必ずx86 Linuxマシンを使用してください。

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

エクスポートされたYOLO26 TFLite Edge TPUモデルのデプロイ

Ultralytics YOLO26モデルをTFLite Edge TPU形式に正常にエクスポートしたら、次にデプロイが可能です。TFLite Edge TPUモデルを実行するための推奨される第一歩は、以前のコードスニペットで概要を説明したように、YOLO("model_edgetpu.tflite")メソッドを使用することです。

ただし、TFLite Edge TPUモデルのデプロイに関する詳細な手順については、以下のリソースを確認してください。

まとめ

本ガイドでは、Ultralytics YOLO26モデルをTFLite Edge TPU形式にエクスポートする方法を学びました。上記の手順に従うことで、コンピュータビジョンアプリケーションの速度とパフォーマンスを向上させることができます。

使用に関する詳細については、Edge TPU公式ウェブサイトをご覧ください。

また、他のUltralytics YOLO26統合に関する詳細情報は、当社の統合ガイドページをご覧ください。そこでは、貴重なリソースや洞察を見つけることができます。

FAQ

YOLO26モデルをTFLite Edge TPU形式にエクスポートするにはどうすればよいですか?

YOLO26モデルをTFLite Edge TPU形式にエクスポートするには、以下の手順に従ってください。

使用方法
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TFLite Edge TPU format
model.export(format="edgetpu")  # creates 'yolo26n_full_integer_quant_edgetpu.tflite'

# Load the exported TFLite Edge TPU model
edgetpu_model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")

# Run inference
results = edgetpu_model("https://ultralytics.com/images/bus.jpg")

他の形式へのモデルエクスポートに関する完全な詳細については、当社のエクスポートガイドを参照してください。

YOLO26モデルをTFLite Edge TPUにエクスポートする利点は何ですか?

YOLO26モデルをTFLite Edge TPUにエクスポートすると、いくつかの利点があります。

  • 最適化されたパフォーマンス: 最小限の消費電力で、高速なニューラルネットワークのパフォーマンスを達成します。
  • レイテンシの低減: クラウドに依存せず、ローカルでの迅速なデータ処理を実現します。
  • プライバシーの強化: ローカル処理により、ユーザーデータをプライベートかつ安全に保ちます。

これにより、電力や計算リソースが限られたデバイスを使用するエッジコンピューティングのアプリケーションに最適です。エクスポートすべき理由の詳細をご覧ください。

TFLite Edge TPUモデルをモバイルや組み込みデバイスにデプロイできますか?

はい、TensorFlow Lite Edge TPUモデルは、モバイルや組み込みデバイスに直接デプロイ可能です。このデプロイ手法では、モデルをハードウェア上で直接実行でき、より高速で効率的な推論を実現します。統合例については、Raspberry PiでのCoral Edge TPUデプロイに関するガイドをご確認ください。

TFLite Edge TPUモデルの一般的な使用事例は何ですか?

TFLite Edge TPUモデルの一般的な使用事例には、以下が含まれます。

  • スマートカメラ: リアルタイムの画像およびビデオ分析を強化します。
  • IoTデバイス: スマートホームや産業オートメーションを実現します。
  • ヘルスケア: 医療画像処理や診断を加速させます。
  • リテール: 在庫管理や顧客行動分析を改善します。

これらのアプリケーションは、TFLite Edge TPUモデルの高性能と低消費電力という恩恵を受けています。使用シナリオの詳細をご覧ください。

TFLite Edge TPUモデルのエクスポートやデプロイ中に問題が発生した場合、どのように対処すればよいですか?

TFLite Edge TPUモデルのエクスポートやデプロイ中に問題が発生した場合は、トラブルシューティングのヒントについて当社の一般的な問題ガイドを参照してください。このガイドでは、円滑な運用を支援するために一般的な問題と解決策を網羅しています。その他のサポートについては、ヘルプセンターをご覧ください。

コメント