YOLO26モデルからTFLite Edge TPU形式へのエクスポート方法を学ぶ#
モバイルや組み込みシステムなどの計算能力が限られたデバイス上でコンピュータビジョンモデルをデプロイするのは難しい場合があります。より高速なパフォーマンス向けに最適化されたモデルフォーマットを使用すると、そのプロセスがシンプルになります。TensorFlow Lite Edge TPU または TFLite Edge TPU モデルフォーマットは、ニューラルネットワークに対して高速なパフォーマンスを提供しながら、最小限の電力消費で使用できるように設計されています。
TFLite Edge TPU 形式へのエクスポート機能を使用すると、高速かつ低電力な推論に向けて Ultralytics YOLO26 モデルを最適化できます。このガイドでは、モデルを TFLite Edge TPU 形式に変換する手順を説明し、さまざまなモバイルや組み込みデバイス上でモデルが適切に動作するようにします。
TFLite Edge TPUへエクスポートする理由#
TensorFlow Edge TPU にモデルをエクスポートすると、機械学習タスクが高速かつ効率的になります。この技術は、電力、コンピューティングリソース、接続性が限られたアプリケーションに適しています。Edge TPU は Google によるハードウェアアクセラレータです。エッジデバイス上で TensorFlow Lite モデルを高速化します。以下の画像は、関連するプロセスの例を示しています。
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を搭載したクラウドサーバーに推論タスクをオフロードできます。
-
ハイブリッドデプロイ: オンデバイスデプロイとクラウドデプロイを組み合わせたハイブリッドアプローチは、機械学習モデルをデプロイするための柔軟でスケーラブルなソリューションを提供します。利点には、迅速な応答のためのオンデバイス処理と、より複雑な計算のためのクラウドコンピューティングが含まれます。
サポートされているタスク#
Edge TPU エクスポートは、7つの Ultralytics タスクのうち6つをサポートしています。セマンティックセグメンテーションは、そのヘッドを出荷する唯一のファミリである YOLO26 でのみ利用可能です。深度推定は、INT8 モデルが Edge TPU コンパイラで解析できない EXP v2 オペレーターを出力するためサポートされていません。
Edge TPUコンパイラは、サポートする操作をアクセラレータにマッピングし、残りをCPUに残すため、タスクのサポートはすべての操作がTPU上で実行されることを意味するものではありません。
YOLO26モデルのTFLite Edge TPUへのエクスポート#
YOLO26モデルをTensorFlow Edge TPUに変換することで、モデルの互換性とデプロイの柔軟性を拡張できます。
インストール#
必要なパッケージをインストールするには、以下を実行してください:
# Install the required package for YOLO26
pip install ultralyticsインストールプロセスに関する詳細な手順とベストプラクティスについては、Ultralyticsインストールガイドをご確認ください。YOLO26に必要なパッケージのインストール中に問題が発生した場合は、一般的な問題ガイドを参照して解決策とヒントを確認してください。
使用方法#
すべての Ultralytics YOLO26 モデルは、標準でエクスポートをサポートするように設計されているため、お好みのデプロイワークフローに簡単に統合できます。サポートされているエクスポート形式と構成オプションの全リストを表示して、アプリケーションに最適なセットアップを選択できます。
TFLite Edge TPU 形式は、エクスポート、予測、および検証の各モードをサポートしています。推論と検証は Coral Edge TPU ハードウェア上で実行されます。モデルをエクスポートしてから、エクスポートされたモデルをロードして推論を実行するか、その精度を検証します。
from ultralytics import YOLO
# Load a 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'from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TFLite Edge TPU model
model = YOLO("yolo26n_full_integer_quant_edgetpu.tflite")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")エクスポートの引数#
| 引数 | タイプ | デフォルト | 説明 |
|---|---|---|---|
format | str | 'edgetpu' | エクスポートするモデルのターゲット形式。さまざまなデプロイ環境との互換性を定義します。 |
imgsz | int または tuple | 640 | モデル入力の希望する画像サイズ。正方形の画像の場合は整数、特定の寸法の指定にはタプル (height, width) を使用できます。 |
quantize | int または str | 8/auto | 量子化精度。Edge TPU には 8 (INT8) が必要であり、自動的に有効になります。これにより、エッジデバイス上で最小限の精度低下でモデルが圧縮され、推論が高速化されます。非推奨となった half/int8 フラグに置き換わるものです。 |
opset | int | None | 中間的なONNXグラフのONNX opsetバージョンを指定します。設定されていない場合は、サポートされている最新のバージョンが使用されます。 |
data | str | None | データセットのYAMLへのパス(量子化に必須)です。分類の場合は、データセットディレクトリまたは組み込みのデータセット名を指定します。quantize=8 を指定して省略した場合、Ultralytics はモデルタスクに応じたデフォルトのキャリブレーション用データセットを選択します。 |
fraction | float | 1.0 | INT8量子化キャリブレーションに使用するデータセットの割合を指定します。フルデータセットのサブセットでキャリブレーションを行えるため、実験やリソースが限られている場合に便利です。INT8が有効で指定されていない場合、フルデータセットが使用されます。 |
device | str | None | エクスポートするデバイスを指定します: CPU (device=cpu)。 |
EdgeTPUへエクスポートする際は、必ずx86 Linuxマシンを使用してください。
エクスポートプロセスの詳細については、Ultralytics documentation page on exporting をご覧ください。
エクスポートされたYOLO26 TFLite Edge TPUモデルのデプロイ#
Ultralytics YOLO26モデルをTFLite Edge TPU形式に正常にエクスポートしたら、デプロイが可能になります。TFLite Edge TPUモデルを実行するための最初かつ推奨される手順は、前述のコードスニペットにあるように、YOLO("model_edgetpu.tflite")メソッドを使用することです。
ただし、TFLite Edge TPUモデルのデプロイに関する詳細な手順については、以下のリソースをご覧ください。
-
Raspberry Pi 上の Coral Edge TPU と Ultralytics YOLO26: Coral Edge TPU と Raspberry Pi を統合して機械学習機能を強化する方法について学びます。
-
コード例: プロジェクトをすぐに開始するための実用的な TensorFlow Edge TPU デプロイ例にアクセスします。
-
Python を使用した Edge TPU での推論の実行: セットアップや使用ガイドラインなど、Edge TPU アプリケーション向けに TensorFlow Lite Python API を使用する方法を探索します。
要約#
このガイドでは、Ultralytics YOLO26 モデルを TFLite Edge TPU 形式にエクスポートする方法を学びました。前述の手順に従うことで、コンピュータビジョンアプリケーションの速度とパワーを向上させることができます。
使用方法の詳細については、Edge TPU 公式ウェブサイトをご覧ください。
また、その他の Ultralytics YOLO26 統合の詳細については、統合ガイドページをご覧ください。そこでは、貴重なリソースや洞察を見つけることができます。
よくある質問 (FAQ)#
YOLO26モデルをTFLite Edge TPU形式にエクスポートするには、次の手順に従います。
使用方法from ultralytics import YOLO # Load a 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にエクスポートすると、いくつかのメリットがあります。
- 最適化されたパフォーマンス: 最小限の消費電力で、ニューラルネットワークの高速なパフォーマンスを実現します。
- レイテンシの削減: クラウドに依存することなく、ローカルで迅速なデータ処理が可能です。
- プライバシーの強化: ローカル処理により、ユーザーデータは非公開かつ安全に保たれます。
これにより、デバイスの電力と計算リソースが限られているエッジコンピューティングのアプリケーションに最適になります。エクスポートする理由の詳細については、こちらをご覧ください。
はい、TensorFlow Lite Edge TPU モデルはモバイルおよび組み込みデバイスに直接デプロイできます。このデプロイアプローチにより、モデルをハードウェア上で直接実行でき、より高速で効率的な推論が提供されます。統合の例については、Raspberry Pi での Coral Edge TPU デプロイに関するガイドをご確認ください。
TFLite Edge TPUモデルの一般的なユースケースには以下が含まれます。
- スマートカメラ: リアルタイムの画像およびビデオ解析の強化。
- IoTデバイス: スマートホームや産業自動化の実現。
- ヘルスケア: 医療画像診断の高速化。
- 小売: 在庫管理と顧客行動分析の改善。
これらのアプリケーションは、TFLite Edge TPU モデルの高性能と低消費電力の恩恵を受けます。ユースケースの詳細をご覧ください。