コンテンツへスキップ

Coral EdgeTPU on Raspberry Pi withUltralytics YOLO11 🚀.

USB EdgeTPU アクセラレータ搭載 Raspberry Pi シングルボードコンピュータ

コーラルエッジ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の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

最新版のダウンロードはこちらから

ファイルをダウンロードしたら、以下のコマンドでインストールできる:

sudo dpkg -i path/to/package.deb

ランタイムをインストールした後、Raspberry PiのUSB 3.0ポートにCoral EdgeTPU を接続する必要があります。これは、公式ガイドによると、新しい udev ルールはインストール後に有効にする必要がある。

重要

すでにCoral EdgeTPU ランタイムがインストールされている場合は、以下のコマンドを使用してアンインストールします。

# If you installed the standard version
sudo apt remove libedgetpu1-std

# If you installed the high frequency version
sudo apt remove libedgetpu1-max

Export to Edge TPU

EdgeTPU を使用するには、モデルを互換性のある形式に変換する必要があります。EdgeのTPU コンパイラはARMでは利用できないため、Google Colab、x86_64 Linuxマシン、公式のUltralytics Dockerコンテナを使用するか、Ultralytics HUBを使用してエクスポートを実行することを推奨します。使用可能な引数については、エクスポート・モードを参照してください。

モデルのエクスポート

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, otherwise ultralytics doesn't know that you're using an Edge TPU model.

モデルの実行

モデルを実際に実行する前に、正しいライブラリをインストールする必要があります。

もし 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

予想モードの詳細については、「予想」のページで包括的な情報をご覧ください。

複数のエッジ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のバージョンに対応したものを選択してください。 このリンク.ダウンロードしたら、以下のコマンドでインストールする:

sudo dpkg -i path/to/package.deb

インストールのチュートリアルセクションに記載されている手順に従って、以前の Coral EdgeTPU ランタイムバージョンをアンインストールしてください。

Ultralytics YOLO11 のモデルをCoral EdgeTPU と互換性を持たせるためにエクスポートできますか?

はい、Coral EdgeTPU と互換性があるようにUltralytics YOLO11 モデルをエクスポートできます。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

詳細については、エクスポートモードのドキュメントを参照してください。

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 をアンインストールする必要がある:

pip uninstall tensorflow tensorflow-aarch64

次に、以下をインストールまたは更新する。 tflite-runtime を以下のコマンドで実行する:

pip install -U tflite-runtime

特定のホイールの場合、例えばTensorFlow 2.15.0 tflite-runtimeからダウンロードできる。 このリンク を使用してインストールする。 pip.詳細な手順は、モデルの実行に関するセクションにあります。 モデルの実行.

Coral EdgeTPU を使って、Raspberry Pi 上でエクスポートされたYOLO11 モデルで推論を実行するにはどうすればよいですか?

YOLO11 モデルをEdgeTPU と互換性のあるフォーマットにエクスポートした後、以下のコード・スニペットを使って推論を実行することができます:

モデルの実行

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

完全な予測モード機能の包括的な詳細は、予測ページでご覧いただけます。

📅作成 11ヶ月前 ✏️更新しました 1日前

コメント