Ultralytics YOLO11 を搭載した Raspberry Pi 上の Coral Edge TPU 🚀
Coral Edge TPU とは何ですか?
Coral Edge TPUは、Edge TPUコプロセッサをシステムに追加するコンパクトなデバイスです。TensorFlow Liteモデル向けに、低消費電力で高性能なML推論を可能にします。詳細については、Coral Edge TPUのホームページをご覧ください。
見る: Google Coral Edge TPUを使用してRaspberry Piで推論を実行する方法
Coral Edge TPU で Raspberry Pi モデルのパフォーマンスを向上させる
多くの人が、Raspberry Piのような組み込みデバイスやモバイルデバイスでモデルを実行したいと考えています。これらのデバイスは非常に電力効率が高く、さまざまなアプリケーションで使用できるからです。しかし、これらのデバイスでの推論性能は、ONNXやOpenVINOのような形式を使用した場合でも、通常は高くありません。Coral Edge TPUは、Raspberry Piで使用でき、推論性能を大幅に加速できるため、この問題に対する優れたソリューションとなります。
TensorFlow Liteを使用したRaspberry Pi上のEdge TPU(新規)⭐
Edge TPUをRaspberry Piで使用する方法に関するCoralによる既存のガイドは古く、現在のCoral Edge TPUランタイムビルドは、現在のTensorFlow Liteランタイムバージョンでは機能しなくなりました。それに加えて、GoogleはCoralプロジェクトを完全に放棄したようで、2021年から2025年の間に更新はありませんでした。このガイドでは、Raspberry Piシングルボードコンピュータ(SBC)で、最新バージョンのTensorFlow Liteランタイムと更新されたCoral Edge TPUランタイムでEdge TPUを動作させる方法を示します。
前提条件
- Raspberry Pi 4B(2GB以上を推奨)またはRaspberry Pi 5(推奨)
- Raspberry Pi OS Bullseye/Bookworm (64ビット) デスクトップ環境 (推奨)
- Coral USB Accelerator
- Ultralytics PyTorch モデルをエクスポートするための非 ARM ベースのプラットフォーム
インストールチュートリアル
このガイドでは、Raspberry Pi OS が正常にインストールされ、インストールされていることを前提としています。 ultralytics
およびすべての依存関係。入手するには ultralytics
がインストールされている場合は、こちらをご覧ください。 クイックスタートガイド ここで続行する前にセットアップしてください。
Edge TPU ランタイムのインストール
まず、Edge TPUランタイムをインストールする必要があります。利用可能なバージョンは多数あるため、オペレーティングシステムに適したバージョンを選択する必要があります。 高頻度バージョンは、Edge TPUをより高いクロック速度で実行し、パフォーマンスを向上させます。ただし、Edge TPUのサーマルスロットリングが発生する可能性があるため、何らかの冷却メカニズムを用意することをお勧めします。
Raspberry Pi OS | 高頻度モード | ダウンロードするバージョン |
---|---|---|
Bullseye 32bit | いいえ | libedgetpu1-std_ ... .bullseye_armhf.deb |
Bullseye 64bit | いいえ | libedgetpu1-std_ ... .bullseye_arm64.deb |
Bullseye 32bit | はい | libedgetpu1-max_ ... .bullseye_armhf.deb |
Bullseye 64bit | はい | libedgetpu1-max_ ... .bullseye_arm64.deb |
Bookworm 32bit | いいえ | libedgetpu1-std_ ... .bookworm_armhf.deb |
Bookworm 64bit | いいえ | libedgetpu1-std_ ... .bookworm_arm64.deb |
Bookworm 32bit | はい | libedgetpu1-max_ ... .bookworm_armhf.deb |
Bookworm 64bit | はい | libedgetpu1-max_ ... .bookworm_arm64.deb |
ファイルをダウンロードした後、次のコマンドでインストールできます。
sudo dpkg -i path/to/package.deb
ランタイムをインストールした後、Coral Edge TPUをRaspberry PiのUSB 3.0ポートに接続する必要があります。これは、公式ガイドによると、新しい udev
ルールはインストール後に有効にする必要があります。
重要
Coral Edge TPU ランタイムが既にインストールされている場合は、次のコマンドを使用してアンインストールしてください。
# If you installed the standard version
sudo apt remove libedgetpu1-std
# If you installed the high frequency version
sudo apt remove libedgetpu1-max
Edge TPU へのエクスポート
Edge TPUを使用するには、モデルを互換性のある形式に変換する必要があります。Edge TPUコンパイラはARMでは利用できないため、公式のUltralytics Docker containerを使用するか、Ultralytics HUBを使用して、Google Colab、x86_64 Linuxマシンでエクスポートを実行することをお勧めします。利用可能な引数については、Export Modeを参照してください。
モデルのエクスポート
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/model.pt") # Load an official model or custom model
# Export the model
model.export(format="edgetpu")
yolo export model=path/to/model.pt format=edgetpu # Export an official model or custom model
エクスポートされたモデルは以下に保存されます。 <model_name>_saved_model/
という名前のフォルダをダウンロードした場合、 <model_name>_full_integer_quant_edgetpu.tflite
。モデルのファイル名が特定のサフィックスで終わることが重要です。 _edgetpu.tflite
そうしないと、UltralyticsはあなたがEdge TPUモデルを使用していることを認識しません。
モデルの実行
実際にモデルを実行する前に、正しいライブラリをインストールする必要があります。
もし tensorflow
がインストールされている場合は、次のコマンドでTensorFlowをアンインストールしてください。
pip uninstall tensorflow tensorflow-aarch64
次に、インストール/アップデートします tflite-runtime
:
pip install -U tflite-runtime
次のコードを使用して推論を実行できます。
モデルの実行
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/<model_name>_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")
yolo predict model=path/to/MODEL_NAME_full_integer_quant_edgetpu.tflite source=path/to/source.png # Load an official model or custom model
完全な予測モードの詳細については、Predictページで包括的な情報をご覧ください。
複数のEdge TPUを使用した推論
複数の Edge TPU がある場合は、次のコードを使用して特定の TPU を選択できます。
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/<model_name>_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png") # Inference defaults to the first TPU
model.predict("path/to/source.png", device="tpu:0") # Select the first TPU
model.predict("path/to/source.png", device="tpu:1") # Select the second TPU
ベンチマーク
ベンチマーク
Raspberry Pi Os Bookworm 64-BitとUSB Coral Edge TPUでテスト済み。
注
ここに示されているのは推論時間であり、プリプロセス/ポストプロセスは含まれていません。
画像サイズ | モデル | 標準推論時間(ミリ秒) | 高頻度推論時間(ミリ秒) |
---|---|---|---|
320 | YOLOv8n | 32.2 | 26.7 |
320 | YOLOv8s | 47.1 | 39.8 |
512 | YOLOv8n | 73.5 | 60.7 |
512 | YOLOv8s | 149.6 | 125.3 |
画像サイズ | モデル | 標準推論時間(ミリ秒) | 高頻度推論時間(ミリ秒) |
---|---|---|---|
320 | YOLOv8n | 22.2 | 16.7 |
320 | YOLOv8s | 40.1 | 32.2 |
512 | YOLOv8n | 53.5 | 41.6 |
512 | YOLOv8s | 132.0 | 103.3 |
平均して:
- Raspberry Pi 5は、標準モードでRaspberry Pi 4Bよりも22%高速です。
- Raspberry Pi 5は、高頻度モードでRaspberry Pi 4Bよりも30.2%高速です。
- 高頻度モードは、標準モードよりも28.4%高速です。
よくある質問
Coral Edge TPU とは何ですか?また、Ultralytics YOLO11 を使用した Raspberry Pi のパフォーマンスをどのように向上させますか?
Coral Edge TPUは、Edge TPUコプロセッサをシステムに追加するために設計されたコンパクトなデバイスです。このコプロセッサにより、低消費電力で高性能な機械学習推論が可能になり、特にTensorFlow Liteモデルに最適化されています。Raspberry Piを使用する場合、Edge TPUはMLモデルの推論を高速化し、特にUltralytics YOLO11モデルのパフォーマンスを大幅に向上させます。Coral Edge TPUの詳細については、ホームページをご覧ください。
Raspberry PiにCoral Edge TPUランタイムをインストールするにはどうすればよいですか?
Raspberry Pi に Coral Edge TPU ランタイムをインストールするには、適切なものをダウンロードしてください .deb
Raspberry Pi OSバージョン用のパッケージは以下から入手できます。 このリンク。ダウンロードしたら、次のコマンドを使用してインストールします:
sudo dpkg -i path/to/package.deb
インストールチュートリアルセクションに記載されている手順に従って、以前のCoral Edge TPUランタイムバージョンをアンインストールしてください。
Ultralytics YOLO11モデルをCoral Edge TPUと互換性を持たせるためにエクスポートできますか?
はい、Ultralytics YOLO11モデルをエクスポートして、Coral Edge TPUと互換性を持たせることができます。エクスポートは、Google Colab、x86_64 Linuxマシン、またはUltralytics Dockerコンテナを使用して実行することをお勧めします。Ultralytics HUBを使用してエクスポートすることもできます。pythonとCLIを使用してモデルをエクスポートする方法を次に示します。
モデルのエクスポート
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/model.pt") # Load an official model or custom model
# Export the model
model.export(format="edgetpu")
yolo export model=path/to/model.pt format=edgetpu # Export an official model or custom model
詳細については、エクスポートモードのドキュメントを参照してください。
Raspberry PiにTensorFlowが既にインストールされている状態で、代わりにtflite-runtimeを使用したい場合はどうすればよいですか?
Raspberry Pi に TensorFlow がインストールされていて、切り替える必要がある場合は tflite-runtime
を使用するには、まずTensorFlowをアンインストールする必要があります。次のコマンドを使用します。
pip uninstall tensorflow tensorflow-aarch64
次に、インストールまたは更新します tflite-runtime
次のコマンドを使用します。
pip install -U tflite-runtime
詳細な手順については、モデルの実行セクションを参照してください。
Coral Edge TPUを使用して、Raspberry PiでエクスポートされたYOLO11モデルを使用して推論を実行するにはどうすればよいですか?
YOLO11モデルをEdge TPU互換形式にエクスポートした後、以下のコードスニペットを使用して推論を実行できます。
モデルの実行
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/edgetpu_model.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")
yolo predict model=path/to/edgetpu_model.tflite source=path/to/source.png # Load an official model or custom model
フル予測モード機能に関する包括的な詳細は、予測ページにあります。