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のテンソル処理ユニット(TPU)ハードウェアアクセラレーターのエッジ向けバージョンです。エッジデバイス上で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は、機械学習モデル向けに次のようなさまざまなデプロイオプションを提供します。
-
デバイス上へのデプロイ: TensorFlow Edge TPUモデルは、モバイルデバイスや組み込みデバイスに直接デプロイできます。デバイス上にデプロイすると、モデルをアプリケーションバンドルに組み込むか、必要に応じてダウンロードすることで、クラウド接続を必要とせずにハードウェア上で直接実行できます。
-
ハイブリッドデプロイ: ハイブリッド方式では、デバイス上へのデプロイとクラウドへのデプロイを組み合わせ、機械学習モデルをデプロイするための柔軟でスケーラブルなソリューションを提供します。迅速な応答を実現するデバイス上の処理と、より複雑な計算を担うクラウドコンピューティングを組み合わせられる点がメリットです。
対応タスク#
Edge TPUエクスポートは、7つあるUltralyticsのタスクのうち6つをサポートします。セマンティックセグメンテーションを利用できるのはYOLO26のみです。このヘッドを搭載しているのは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
# YOLO26モデルを読み込みます
model = YOLO("yolo26n.pt")
# モデルをTFLite Edge TPU形式にエクスポート
model.export(format="edgetpu") # 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'を作成from ultralytics import YOLO
# エクスポート済みのTFLite Edge TPUモデルを読み込む
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")
# 推論を実行
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# エクスポート済みのTFLite Edge TPUモデルを読み込む
model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite")
# COCO8データセットで精度を検証します
metrics = model.val(data="coco8.yaml")エクスポート引数#
| 引数 | 種類 | デフォルト | 説明 |
|---|---|---|---|
format | str | 'edgetpu' | エクスポートしたモデルのターゲットフォーマットです。さまざまなデプロイ環境との互換性を定義します。 |
imgsz | intまたはtuple | 640 | モデル入力の画像サイズです。正方形画像の場合は整数、特定のサイズの場合はタプル(height, width)を指定できます。 |
quantize | intまたはstr | 8/自動 | 量子化の精度です。Edge TPUでは8(INT8)が必須で、自動的に有効になります。これによりモデルを圧縮し、エッジデバイス上で精度の低下を最小限に抑えながら推論を高速化します。非推奨となったhalf/int8フラグの代わりに使用します。 |
opset | int | None | 中間ONNXグラフのONNX opsetバージョンを指定します。指定しない場合は、opset 18(PyTorch < 2.4ではより低いバージョン)を使用し、インストール済みの onnx のバージョンを上限とします。 |
data | str | None | 量子化に必須のデータセットのYAMLへのパスです。分類の場合は、代わりにデータセットディレクトリまたは組み込みデータセット名を指定します。quantize=8を指定しない場合、Ultralyticsはモデルタスクに応じたデフォルトのキャリブレーションデータセットを選択します。 |
fraction | float、int、またはlist | 1.0 | キャリブレーション用サブセットを、比率、画像数、または[train, val, test]の比率/件数として指定します。2項目のリストではtestがすべて含まれ、0では除外されます。 |
device | str | None | エクスポートに使用するデバイスを指定します: CPU (device=cpu)。 |
Edge TPUへのエクスポートには、x86 Linuxマシンを使用してください。
エクスポートプロセスの詳細については、Ultralyticsのエクスポートに関するドキュメントページをご覧ください。
エクスポート済み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と統合し、機械学習機能を強化する方法をご覧ください。
-
Edge TPUコンパイラー: Edge TPUコンパイラーがTensorFlow Liteモデルをアクセラレーターにどのように割り当てるか、また対応する演算について説明します。
-
PythonでEdge TPU上の推論を実行する: Edge TPUアプリケーション向けのTensorFlow Lite Python APIの使用方法を、セットアップと利用の手順も含めてご確認ください。
概要#
このガイドでは、Ultralytics YOLO26モデルをTFLite Edge TPU形式にエクスポートする方法を説明しました。上記の手順に従うことで、エッジデバイス上でコンピュータービジョンアプリケーションを、より高速かつ低消費電力で実行できます。
使用方法の詳細については、Coral Edge TPU公式ウェブサイトをご覧ください。
よくある質問#
YOLO26モデルをTFLite Edge TPU形式にエクスポートするには、次の手順に従ってください。
使用方法from ultralytics import YOLO # YOLO26モデルを読み込みます model = YOLO("yolo26n.pt") # モデルをTFLite Edge TPU形式にエクスポート model.export(format="edgetpu") # 'yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite'を作成 # エクスポート済みのTFLite Edge TPUモデルを読み込む edgetpu_model = YOLO("yolo26n_saved_model/yolo26n_full_integer_quant_edgetpu.tflite") # 推論を実行 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モデルの高いパフォーマンスと低消費電力を活用できます。ユースケースの詳細をご覧ください。
TFLite Edge TPUモデルのエクスポート中やデプロイ中に問題が発生した場合は、トラブルシューティングのヒントをまとめた一般的な問題のガイドをご覧ください。このガイドでは、円滑な動作を確保するための一般的な問題と解決策を紹介しています。追加のサポートについては、ヘルプセンターをご利用ください。