Coral EdgeTPU on Raspberry Pi withUltralytics YOLOv8 🚀.
コーラルエッジ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 4B(2GB以上推奨) またはRaspberry Pi 5(推奨)
- Raspberry Pi OSBullseye/Bookworm (64-bit) とデスクトップ(推奨)
- コーラルUSBアクセラレーター
- Ultralytics PyTorch モデルをエクスポートするための非ARMベースのプラットフォーム。
インストール・ウォークスルー
このガイドでは、すでに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 |
最新版のダウンロードはこちらから。
ファイルをダウンロードしたら、以下のコマンドでインストールできる:
ランタイムをインストールした後、Raspberry PiのUSB 3.0ポートにCoral EdgeTPU を接続する必要があります。これは、公式ガイドによると、新しい udev
ルールはインストール後に有効にする必要がある。
重要
すでにCoral EdgeTPU ランタイムがインストールされている場合は、以下のコマンドを使用してアンインストールします。
モデルをEdgeTPU 互換モデルにエクスポートする
EdgeTPU を使用するには、モデルを互換性のある形式に変換する必要があります。EdgeのTPU コンパイラはARMでは利用できないため、Google Colab、x86_64 Linuxマシン、公式のUltralytics Dockerコンテナを使用するか、Ultralytics HUBを使用してエクスポートを実行することを推奨します。使用可能な引数については、エクスポート・モードを参照してください。
輸出
エクスポートされたモデルは <model_name>_saved_model/
という名前の <model_name>_full_integer_quant_edgetpu.tflite
.
モデルの実行
モデルをエクスポートしたら、次のコードを使って推論を実行することができる:
ランニング
予想モードの詳細については、「予想」のページで包括的な情報をご覧ください。
重要
モデルは tflite-runtime
そして tensorflow
.
もし tensorflow
がインストールされている場合は、以下のコマンドでtensorflow をアンインストールする:
その後、インストール/アップデートする。 tflite-runtime
:
をお望みなら tflite-runtime
ホイール tensorflow
2.15.0 ダウンロード これ を使用してインストールする。 pip
またはお好みのパッケージ・マネージャーを選択してください。