コンテンツにスキップ

Ultralytics YOLO11 を搭載した Raspberry Pi 上の Coral Edge TPU 🚀

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

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のような組み込みデバイスやモバイルデバイスでモデルを実行したいと考えています。これらのデバイスは非常に電力効率が高く、さまざまなアプリケーションで使用できるからです。しかし、これらのデバイスでの推論性能は、ONNXOpenVINOのような形式を使用した場合でも、通常は高くありません。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 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 EdgeTPU 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 あなたがEdgeTPU モデルを使用していることを検出しません。

モデルの実行

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

すでに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を使用した推論

複数のエッジ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 EdgeTPUテスト。

ここに示されているのは推論時間であり、プリプロセス/ポストプロセスは含まれていません。

画像サイズモデル標準推論時間(ミリ秒)高頻度推論時間(ミリ秒)
320YOLOv8n32.226.7
320YOLOv8s47.139.8
512YOLOv8n73.560.7
512YOLOv8s149.6125.3
画像サイズモデル標準推論時間(ミリ秒)高頻度推論時間(ミリ秒)
320YOLOv8n22.216.7
320YOLOv8s40.132.2
512YOLOv8n53.541.6
512YOLOv8s132.0103.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

フル予測モード機能に関する包括的な詳細は、予測ページにあります。



📅作成:1年前 ✏️更新 5日前
glenn-jocherRizwanMunawarSkillnoobUltralyticsAssistantlalayantsjk4eMatthewNoyce

コメント