コンテンツへスキップ

Coral EdgeTPU on Raspberry Pi withUltralytics YOLOv8 🚀.

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

コーラルエッジTPU とは?

Coral EdgeTPU は、EdgeTPU コプロセッサをシステムに追加するコンパクトなデバイスです。TensorFlow Liteモデル用の低消費電力で高性能なML推論を可能にします。詳しくはCoral EdgeTPU ホームページをご覧ください。

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

まず、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を使用してエクスポートを実行することを推奨します。使用可能な引数については、エクスポート・モードを参照してください。

輸出

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.

モデルの実行

モデルをエクスポートしたら、次のコードを使って推論を実行することができる:

ランニング

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

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

重要

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

pip uninstall tensorflow tensorflow-aarch64

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

pip install -U tflite-runtime

をお望みなら tflite-runtime ホイール tensorflow 2.15.0 ダウンロード これ を使用してインストールする。 pip またはお好みのパッケージ・マネージャーを選択してください。

よくあるご質問

Coral EdgeTPU とは何ですか?また、Raspberry Pi のパフォーマンスをUltralytics YOLOv8 でどのように向上させますか?

Coral EdgeTPU は、EdgeTPU コプロセッサをシステムに追加するために設計されたコンパクトなデバイスです。このコプロセッサは、低消費電力で高性能な機械学習推論を可能にし、特にTensorFlow Lite モデルに最適化されています。Raspberry Piを使用する場合、EdgeTPU はMLモデルの推論を加速し、特にUltralytics YOLOv8 モデルのパフォーマンスを大幅に向上させます。Coral EdgeTPU については、ホームページをご覧ください。

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

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

sudo dpkg -i path/to/package.deb

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

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

はい、Coral EdgeTPU と互換性があるようにUltralytics YOLOv8 モデルをエクスポートできます。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 上でエクスポートされたYOLOv8 モデルで推論を実行するにはどうすればよいですか?

YOLOv8 モデルを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

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



作成日: 2024-02-12 更新日: 2024-07-05
作成者:Glenn-jocher(7),Skillnoob(1)

コメント