Coral EdgeTPU on Raspberry Pi withUltralytics YOLO11 🚀.
コーラルエッジTPU とは?
Coral EdgeTPU は、システムにEdgeTPU コプロセッサを追加するコンパクトなデバイスです。のための低消費電力で高性能なML推論を可能にします。 TensorFlowLiteモデルに対応します。詳しくはCoral EdgeTPU ホームページをご覧ください。
見るんだ: Google Coral Edgeを使ってRaspberry Pi上で推論を実行する方法TPU
Coral EdgeでRaspberry Piモデルのパフォーマンスを高めるTPU
Raspberry Piのような組み込みデバイスやモバイルデバイスは、電力効率が非常に高く、さまざまなアプリケーションで使用できるため、多くの人がモデルを実行したいと考えている。しかし、これらのデバイスでの推論性能は、たとえ ONNXまたは OpenVINO.Coral EdgeTPU は、Raspberry Piで使用することができ、推論パフォーマンスを大幅に加速することができるため、この問題に対する素晴らしいソリューションです。
TensorFlow Liteを使ったRaspberry PiのエッジTPU (New)⭐
RaspberryPiでEdgeTPU を使用する方法に関するCoralによる既存のガイドは古く、現在のCoral EdgeTPU ランタイムビルドは、現在のTensorFlow Lite ランタイムバージョンではもう動作しません。さらに、Google は Coral プロジェクトを完全に放棄したようで、2021 年から 2024 年にかけてアップデートがありません。このガイドでは、Raspberry Piシングルボードコンピュータ(SBC)上で最新バージョンのTensorFlow Liteランタイムと更新されたCoral EdgeTPU ランタイムを使ってEdgeTPU を動作させる方法を紹介します。
前提条件
- Raspberry Pi 4B(2GB以上推奨) またはRaspberry Pi 5(推奨)
- Raspberry Pi OSBullseye/Bookworm (64-bit) とデスクトップ(推奨)
- コーラルUSBアクセラレーター
- モデルをエクスポートするための非ARMベースのプラットフォームUltralytics PyTorchモデル
インストール・ウォークスルー
このガイドでは、すでにRaspberry PiのOSがインストールされており、以下のファイルがインストールされていることを前提としています。 ultralytics
とすべての依存関係。取得するには ultralytics
をインストールしてください。 クイックスタートガイド をクリックし、セットアップを済ませてから、ここに進むこと。
EdgeTPU ランタイムのインストール
First, we need to install the Edge TPU runtime. There are many different versions available, so you need to choose the right version for your operating system. The high frequency version runs the Edge TPU at a higher clock speed, which improves performance. However, it might result in the Edge TPU thermal throttling, so it is recommended to have some sort of cooling mechanism in place.
ラズベリーパイOS | 高周波モード | ダウンロードするバージョン |
---|---|---|
ブルズアイ 32ビット | いいえ | libedgetpu1-std_ ... .bullseye_armhf.deb |
ブルズアイ 64ビット | いいえ | libedgetpu1-std_ ... .bullseye_arm64.deb |
ブルズアイ 32ビット | はい | libedgetpu1-max_ ... .bullseye_armhf.deb |
ブルズアイ 64ビット | はい | libedgetpu1-max_ ... .bullseye_arm64.deb |
本の虫 32bit | いいえ | libedgetpu1-std_ ... .bookworm_armhf.deb |
本の虫 64ビット | いいえ | libedgetpu1-std_ ... .bookworm_arm64.deb |
本の虫 32bit | はい | libedgetpu1-max_ ... .bookworm_armhf.deb |
本の虫 64ビット | はい | libedgetpu1-max_ ... .bookworm_arm64.deb |
ファイルをダウンロードしたら、以下のコマンドでインストールできる:
ランタイムをインストールした後、Raspberry PiのUSB 3.0ポートにCoral EdgeTPU を接続する必要があります。これは、公式ガイドによると、新しい udev
ルールはインストール後に有効にする必要がある。
重要
すでにCoral EdgeTPU ランタイムがインストールされている場合は、以下のコマンドを使用してアンインストールします。
Export to Edge TPU
EdgeTPU を使用するには、モデルを互換性のある形式に変換する必要があります。EdgeのTPU コンパイラはARMでは利用できないため、Google Colab、x86_64 Linuxマシン、公式のUltralytics Dockerコンテナを使用するか、Ultralytics HUBを使用してエクスポートを実行することを推奨します。使用可能な引数については、エクスポート・モードを参照してください。
モデルのエクスポート
エクスポートされたモデルは <model_name>_saved_model/
という名前の <model_name>_full_integer_quant_edgetpu.tflite
.モデルの末尾に _edgetpu.tflite
, otherwise ultralytics doesn't know that you're using an Edge TPU model.
モデルの実行
モデルを実際に実行する前に、正しいライブラリをインストールする必要があります。
もし tensorflow
がインストールされている場合は、以下のコマンドでtensorflow をアンインストールする:
その後、インストールとアップデートを行う。 tflite-runtime
:
次のコードで推論を実行できる:
モデルの実行
予想モードの詳細については、「予想」のページで包括的な情報をご覧ください。
複数のエッジTPUによる推論
複数のエッジ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
ベンチマーク
ベンチマーク
Tested with Raspberry Pi Os Bookworm 64-Bit and a USB Coral Edge TPU.
注
Shown is the inference time, pre-/postprocessing is not included.
画像サイズ | モデル | Standard Inference Time (ms) | High Frequency Inference Time (ms) |
---|---|---|---|
320 | YOLOv8n | 32.2 | 26.7 |
320 | YOLOv8s | 47.1 | 39.8 |
512 | YOLOv8n | 73.5 | 60.7 |
512 | YOLOv8s | 149.6 | 125.3 |
画像サイズ | モデル | Standard Inference Time (ms) | High Frequency Inference Time (ms) |
---|---|---|---|
320 | YOLOv8n | 22.2 | 16.7 |
320 | YOLOv8s | 40.1 | 32.2 |
512 | YOLOv8n | 53.5 | 41.6 |
512 | YOLOv8s | 132.0 | 103.3 |
On average:
- The Raspberry Pi 5 is 22% faster with the standard mode than the Raspberry Pi 4B.
- The Raspberry Pi 5 is 30.2% faster with the high frequency mode than the Raspberry Pi 4B.
- The high frequency mode is 28.4% faster than the standard mode.
よくあるご質問
Coral EdgeTPU とは何ですか?また、Raspberry Pi のパフォーマンスをUltralytics YOLO11 でどのように向上させますか?
Coral EdgeTPU は、EdgeTPU コプロセッサをシステムに追加するために設計されたコンパクトなデバイスです。このコプロセッサは、低消費電力で高性能な機械学習推論を可能にし、特にTensorFlow Lite モデルに最適化されています。Raspberry Piを使用する場合、EdgeTPU はMLモデルの推論を加速し、特にUltralytics YOLO11 モデルのパフォーマンスを大幅に向上させます。Coral EdgeTPU については、ホームページをご覧ください。
Coral EdgeTPU ランタイムを Raspberry Pi にインストールするには?
Coral EdgeTPU ランタイムを Raspberry Pi にインストールするには、適切な .deb
パッケージから、お使いのRaspberry Pi OSのバージョンに対応したものを選択してください。 このリンク.ダウンロードしたら、以下のコマンドでインストールする:
インストールのチュートリアルセクションに記載されている手順に従って、以前の Coral EdgeTPU ランタイムバージョンをアンインストールしてください。
Ultralytics YOLO11 のモデルをCoral EdgeTPU と互換性を持たせるためにエクスポートできますか?
はい、Coral EdgeTPU と互換性があるようにUltralytics YOLO11 モデルをエクスポートできます。Google Colab、x86_64 Linuxマシン、またはUltralytics Docker コンテナを使用してエクスポートすることをお勧めします。Ultralytics HUB を使ってエクスポートすることもできます。Python とCLI を使ってモデルをエクスポートする方法は以下の通りです:
モデルのエクスポート
詳細については、エクスポートモードのドキュメントを参照してください。
What should I do if TensorFlow is already installed on my Raspberry Pi, but I want to use tflite-runtime instead?
Raspberry Pi にTensorFlow をインストールしていて、次のように切り替える必要がある場合。 tflite-runtime
まず、TensorFlow をアンインストールする必要がある:
次に、以下をインストールまたは更新する。 tflite-runtime
を以下のコマンドで実行する:
特定のホイールの場合、例えばTensorFlow 2.15.0 tflite-runtime
からダウンロードできる。 このリンク を使用してインストールする。 pip
.詳細な手順は、モデルの実行に関するセクションにあります。 モデルの実行.
Coral EdgeTPU を使って、Raspberry Pi 上でエクスポートされたYOLO11 モデルで推論を実行するにはどうすればよいですか?
YOLO11 モデルをEdgeTPU と互換性のあるフォーマットにエクスポートした後、以下のコード・スニペットを使って推論を実行することができます:
モデルの実行
完全な予測モード機能の包括的な詳細は、予測ページでご覧いただけます。