コンテンツへスキップ

Coral Edge TPU on a Raspberry Pi with Ultralytics YOLO11 🚀

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

コーラルエッジTPU とは?

The Coral Edge TPU is a compact device that adds an Edge TPU coprocessor to your system. It enables low-power, high-performance ML inference for TensorFlow Lite models. Read more at the Coral Edge TPU home page.



見るんだ: How to Run Inference on Raspberry Pi using Google Coral Edge TPU

Coral EdgeでRaspberry Piモデルのパフォーマンスを高めるTPU

Many people want to run their models on an embedded or mobile device such as a Raspberry Pi, since they are very power efficient and can be used in many different applications. However, the inference performance on these devices is usually poor even when using formats like ONNX or OpenVINO. The Coral Edge TPU is a great solution to this problem, since it can be used with a Raspberry Pi and accelerate inference performance greatly.

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 ランタイムのインストール

まず、EdgeTPU ランタイムをインストールする必要があります。さまざまなバージョンが用意されているので、自分のオペレーティング・システムに合ったバージョンを選択する必要がある。

ラズベリーパイ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

モデルをEdgeTPU 互換モデルにエクスポートする

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

Exporting the model

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. It is important that your model ends with the suffix _edgetpu.tflite, otherwise ultralytics doesn't know that you're using a Edge TPU model.

モデルの実行

Before you can actually run the model, you will need to install the correct libraries.

もし tensorflow がインストールされている場合は、以下のコマンドでtensorflow をアンインストールする:

pip uninstall tensorflow tensorflow-aarch64

その後、インストール/アップデートする。 tflite-runtime:

pip install -U tflite-runtime

Now you can run inference using the following code:

モデルの実行

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

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

Inference with multiple Edge TPUs

If you have multiple Edge TPUs you can use the following code to select a specific 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

よくあるご質問

What is a Coral Edge TPU and how does it enhance Raspberry Pi's performance with Ultralytics YOLO11?

The Coral Edge TPU is a compact device designed to add an Edge TPU coprocessor to your system. This coprocessor enables low-power, high-performance machine learning inference, particularly optimized for TensorFlow Lite models. When using a Raspberry Pi, the Edge TPU accelerates ML model inference, significantly boosting performance, especially for Ultralytics YOLO11 models. You can read more about the Coral Edge TPU on their home page.

Coral EdgeTPU ランタイムを Raspberry Pi にインストールするには?

Coral EdgeTPU ランタイムを Raspberry Pi にインストールするには、適切な .deb パッケージから、お使いのRaspberry Pi OSのバージョンに対応したものを選択してください。 このリンク.ダウンロードしたら、以下のコマンドでインストールする:

sudo dpkg -i path/to/package.deb

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

Can I export my Ultralytics YOLO11 model to be compatible with Coral Edge TPU?

Yes, you can export your Ultralytics YOLO11 model to be compatible with the Coral Edge TPU. It is recommended to perform the export on Google Colab, an x86_64 Linux machine, or using the Ultralytics Docker container. You can also use Ultralytics HUB for exporting. Here is how you can export your model using Python and CLI:

Exporting the model

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

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

TensorFlow がすでにRaspberry Piにインストールされていて、代わりにtflite-runtimeを使いたい場合はどうすればいいですか?

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.詳細な手順は、モデルの実行に関するセクションにあります。 モデルの実行.

How do I run inference with an exported YOLO11 model on a Raspberry Pi using the Coral Edge TPU?

After exporting your YOLO11 model to an Edge TPU-compatible format, you can run inference using the following code snippets:

モデルの実行

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

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

📅 Created 8 months ago ✏️ Updated 16 days ago

コメント