Raspberry Pi ボードは、わずか35ドルの価格で実際のコンピューターとして機能する素晴らしいデバイスです。これまで 最近発表されたRaspberry Pi 4のデビューただし、USB 3.0ポートがないことが唯一の欠点でした。
Raspberry Pi 3B+ と4
USB 3.0ポートを追加すると、Piの理論上のデータ転送速度は480Mbpsから5Gbpsに上がり、 データスループットが10倍以上増加。Raspberry Pi 4には、データ集約度の低いタスク向けに2つのUSB 3.0ポートと2つの2.0ポートが搭載されています。一部のアプリケーションでは、このポートの更新だけでアップグレードする十分な理由になりますが、新しいモデルではプロセス速度が向上し、使用可能なRAMも増えています。
私は、これらのアップグレードが私のプロジェクト、特にGoogleのCoral Edge TPUなどのアクセラレータを使用するアプリケーションにどのような影響を与えるかを検討しました。このアイデアは、 以前のアプリケーションの1つから生まれました。このアプリケーションでは、鳥の識別に約3秒かかると言われており、USB 2.0の速度によって遅くなると思われます。このプロジェクトではZero Wを使用しますが、これは入手可能なPiの中で最も強力なものではありません。
私は、Pi 4ではなくPi 3B+ でイメージIDを実行することに実験の焦点を当てることにしました。Pi 4は2 ~ 4倍の処理能力を備えていることに留意してください。
それでは、この2つを比較してみましょう。私の当初の予想では、速度の向上は10倍には達しないだろうが、デバイスの処理能力の比率から予想される4倍の速度向上は上回るだろうと予想していました。結局のところ、少なくともこのparrot-IDデモに関しては、私は大いに間違っていました。
トライアル1: Raspberry Pi 4上のEdge TPU
まず、Googleの指示に従ってRaspberry Pi 4 にTPUソフトウェアをインストールしようとしましたが、システムがサポートされていないというエラー メッセージが表示されました。サポートされているデバイスには、Pi 2と3 B/B+ のみが含まれていることがわかりました。Pi 4で実行していたRaspbian Busterには回避策がありますが、それでもすぐにソフトウェアを正しく動作させることはできませんでした。次に、3B+ でこの手順を試したところ、成功し、デモを実行して、アカコンゴウインコを4.4秒で識別することができました。
次の疑問は、TPUソフトウェアはPi 4で動作するかどうかでした。はい!システムは、3.0ポートを使用して3.6秒で正しい鳥を識別し、Pi 4の2.0ポートの1つを使用して4秒で識別しました。
識別速度は顕著ではあったものの、私が期待していたほど劇的ではありませんでした。ラウンドアバウトの設置にB+ を使用すると、物事がうまくいかなかったかどうかという疑問が残ります。2.0ポートを使用した場合のパフォーマンスの向上が0.4秒、3.0ポートを使用した場合のパフォーマンスの向上がさらに0.4秒であったことは興味深いと思いました。これは、2.0ポートがボトルネックの一部に過ぎず、Piの速度も速度の向上に貢献していることを意味します。
トライアル2: コンパイル済みのRPi 4ディスクイメージを使用する
Pi 3+ へのインストールによってPi 4が何らかの形で調整されるかどうかを調べるために、 EdgeTPU GitHubページ からプリコンパイルされたRaspberry Pi 4ディスク イメージを使用しました。このページには、正式にサポートされている製品ではないことがすぐに記載されていますが、試してみる価値はあると思いました。プロセスは次のとおりです。
1.balenaEtcherツールを使用してカードをフラッシュします。
2.「Edge TPUでモデルを実行する」の「開始方法」ページに記載されているように、モデル、ラベル ファイル、写真をダウンロードします。
3.「cd /usr/local/lib/python3.7/dist-packages/edgetpu/demo」というコマンドを使用して、Python 3.7のデモ ディレクトリに移動します。
4.最後に、デモ用コンゴウインコで「classify_image」ルーチンを実行します。
私が受け取った結果は次のとおりです:
- USB 2.0: 4.0秒
- USB 3.0: 3.5秒
このプロセスでは、以前のPi 4実行よりも10分の1秒速い結果が得られる可能性がありますが、タイマーを使用する際のユーザー エラーによっても違いが生じる可能性があります。また、最初に最大周波数を有効にしたかどうかもわかりません。また、プリコンパイルされたディスク イメージが最大周波数をどのように処理するかもわかりません。これら2つの要素に基づくと、この完全に公式ではないイメージと、Pi 3B+ とハッキングして実行したPi 4との間に明確な違いは見られません。
結論: Raspberry Pi 4の画像認識速度
現状では、3B+ からUSB 3.0ポートを備えたPi4に交換すると、アカコンゴウインコ識別デモの実行時に最大0.9秒の節約になります。20% の時間節約はアプリケーションには役立つかもしれませんが、私が期待していたほど劇的な結果ではありません。一方、画像分類やその他の処理タスクを繰り返し実行する実際のシナリオでは、Pi 4を使用すると大きな違いが生じる可能性があります。