コンテンツへスキップ

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 年から 2025 年にかけてアップデートがありません。このガイドでは、Raspberry Piシングルボードコンピュータ(SBC)上で最新バージョンのTensorFlow Liteランタイムと更新されたCoral EdgeTPU ランタイムを使ってEdgeTPU を動作させる方法を紹介します。

前提条件

インストール・ウォークスルー

このガイドでは、すでにRaspberry PiのOSがインストールされており、以下のファイルがインストールされていることを前提としています。 ultralytics とすべての依存関係。取得するには ultralytics をインストールしてください。 クイックスタートガイド をクリックし、セットアップを済ませてから、ここに進むこと。

EdgeTPU ランタイムのインストール

まず、EdgeTPU ランタイムをインストールする必要があります。さまざまなバージョンが用意されているので、自分のオペレーティング・システムに合ったバージョンを選ぶ必要がある。 高周波数バージョンは、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

エッジへのエクスポート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そうしないと、ultralytics は、あなたがエッジ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

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

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

表示されているのは推論時間であり、前後処理は含まれていない。

画像サイズ モデル 標準推論時間 (ms) 高周波推論時間 (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
画像サイズ モデル 標準推論時間 (ms) 高周波推論時間 (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

平均してだ:

  • Raspberry Pi 5は、Raspberry Pi 4Bよりも標準モードで22%高速だ。
  • Raspberry Pi 5はRaspberry Pi 4Bよりも高周波数モードで30.2%高速である。
  • 高周波モードは標準モードより28.4%速い。

よくあるご質問

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

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

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

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

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

📅作成:1年前 ✏️更新:1ヶ月前

コメント