Google Coralデモ: Google Coral TPU開発ボードのフラッシュ

発行者

Coral Edge TPU開発ボードは素晴らしいシステムですが、有用なAI/ML作業を実行する前にフラッシュが必要です。コマンドライン操作に精通しているユーザーにとっては、GoogleのWebサイトにある数ページにわたる手順書 だけでインストールを正常に実行できる可能性があります。

他の人(この著者も含む)は少し助けが必要かもしれません。この記事は Googleの ドキュメントに代わるものではありませんが、「役立つヒント」の補足として機能するはずです。Coral TPU開発ボードをフラッシュする際に私が犯した間違いのいくつかを概説し、それらを回避または修正するための提案をします。

Coral Dev Boardをフラッシュするために必要な材料

Arduino Nano のようなボードでは、動作させるために1本のケーブルだけが必要ですが、セットアップにはさまざまなアクセサリが必要になります。これらには以下が含まれます:

- USB A - Micro USBケーブル

- データ転送用のUSB C-USB Aケーブル

- 2〜3Aを供給できるUSB C電源(電源に接続した2本目のUSB A-USB Cケーブルを正常に使用できました)

- LinuxまたはMacコンピュータ

はい、Windowsのみを実行している場合は、ここでは運が悪いです。ただし、コンピューターにデュアルブート構成を設定したり、USBスティックから実行したりすることは可能です。また、 この記事によると、Raspberry Piで実行することも可能で、これは非常に便利なオプションになる可能性があります。

この実験のために、私はここ数年あまりアップデートされていなかった信頼できるT60 Ubuntuリグをクローゼットから取り出しました。

フラッシュの準備: 初期設定

プロジェクトを開始するには、次の手順に従ってください。

1.ディップスイッチが正しく設定されていることを確認します(ON、OFF、OFF、OFF)。アセンブリは見にくいほど小さいので、もちろん拡大鏡を使用しても恥ずかしいことではありません。

2.開始する前に、このページからLinux用のSDKプラットフォーム ツール をダウンロードし、ダウンロード ディレクトリに解凍してください。

3.まだ何も接続しないでください。ただし、ターミナル コマンドを使用していくつかのアプリをインストールする必要があります。

4.sudo apt-get install screenmkdir -p ~/.local/binsudo mv ~/Downloads/platform-tools/fastboot ~/.local/bin/ と入力します。

5.fastboot --version と入力して、すべてが機能していることを確認します。これにより、いくつかの情報が返されます。

私の場合は、何も情報が返されなかったため、最初の重要かつ痛い教訓が得られました。 開始する前に、Linuxインストールを更新してください。  

Googleの指示では、「LinuxまたはMacコンピュータ」を使用するように書かれています。明確に述べられていないのは、最新のOSを搭載したLinuxコンピューターが必要であるということです (Macコンピューターにも同じ要件があると思われます)。

結局のところ、私の元のUbuntuのバージョンは12くらいでしたが、最新のLTSバージョンは18.04です。これはかなりのギャップであり、最新の状態にするには数回のアップグレード サイクルが必要でした。インストールで問題が発生した場合は、必ずここから始めてください。

テキスト入力とテキストの問題の修正

最新の状態になったら、次の手順に従ってください。

1.ターミナルに以下を入力します。

sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0525\", MODE=\"0664\", \

GROUP=\"plugdev\", TAG+=\"uaccess\"' >> /etc/udev/rules.d/65-edgetpu-board.rules"

2.次に入力 sudo udevadmコントロール --reload-rules && udevadmトリガー

最初のコマンドを入力すると、エラーも正しく入力したかどうかの確認も表示されません。そのため、入力ミスがなかったか確認したい場合は、次のように入力します: cat /etc/udev/rules.d/65-edgetpu-board.rules.次のような応答が返されるはずです: SUBSYSTEM=="usb", ATTR{idVendor}=="0525", MODE="0664", GROUP="plugdev", TAG+="uaccess"

コマンドが正確に正しくない場合 (Linuxでは大文字と小文字が区別されることに注意してください)、後で問題が発生します。このセクションの最初のコマンドを再度実行すると、そのテキストがルール ファイルに追加されるだけです。ただし、Viテキスト エディターで開くことはできます。

- sudo vi etc/udev/rules.d/65-edgetpu-board.rules と入力します。

- 問題のある行を削除し、必要に応じて新しい行を追加します。

- Esc を押してから :wqを押して終了し、保存します。Viでは、 Escキー を押してから :g/^$/dを押すことで空白行を削除できます。

接続の設定

これらの手順が完了すると、Googleの指示に従って物理的な接続が行われます。ケーブルが正しく配置されていれば、物理的な接続は非常に簡単です。関係する接続の数と、プロセスの異なるタイミングで各接続を接続する必要があることを考慮すると、すべてのものが1つの物理領域から別の物理領域にどのように移動するかを評価することをお勧めします。当初、左側にUSBポートが1つしかないT60ではこれが課題でした。

注意: コンピューターの電源でCoralボードに電力を供給しないでください。2 ~ 3アンペアを供給することは非常に困難であり、ホスト (コンピューター) とCoralボードのハードウェアを危険にさらす可能性があります。

Fastbootの実行と潜在的な問題

ここでは、 fastboot 0 ターミナル コマンドを使用してfastbootを実行し、指示に従ってUSBデータ ラインを接続する必要があります。

新しいターミナル(既に実行中のターミナルに加えて)を開き、 fastboot devices と入力します。すべてがうまくいけば、いくつかの文字の後に「fastboot」というテキストが表示されます。権限エラーが発生した場合は、「詳細テキスト」セクションに間違った内容を入力した可能性があります。もう一度見てみましょう。

特に、最初に ~/.local/$bin ディレクトリからfastbootを実行しようとしたとき、実行されず、代わりに sudo apt-get install android-tools-fastboot と入力してプログラムをインストールするように求められました。これは大きな問題ではありませんが、公式の手順には記載されていないため、自分のケースではこれを行う必要がある場合とそうでない場合があります。

最後のステップ: Coral TPU開発ボードのフラッシュ

最初は curlコマンド を記載どおりに動作させることができませんでしたが、代わりにこのブラウザを使用して ファイルをダウンロードしました。次に、Ubuntuのグラフィカル ファイル マネージャーで抽出しました。これで、指示に従って、ディレクトリから bash flash.sh コマンドを実行できるようになります。すべては順調に進み、Coral TPUボードがLinux ML/AIデバイスとしてフラッシュされます。点滅している間、さまざまなテキスト出力が表示されます。プロセスが完了するまでに数分かかります。

これが完了すると、デフォルトのユーザー名とパスワード「mendel」を使用して、新しくフラッシュされたシステムにログオンできるようになります。あるレポートによると、SSHセキュリティが強化されると、ログオンするためにさらにいくつかの手順を実行する必要がある可能性があるとのことですが、これは私のデバイスでは問題になりませんでした。

Googleの手順では、インターネットにログオンして、サンプル画像分類スクリプトを実行する方法が記載されています。Coral TPU Devボードをフラッシュしてアクティブ化すると、さまざまな可能性が広がります。人々がこれを使って作成する新しいアプリケーションを見るのが楽しみです。

この記事の作成に協力してくれたAndrew Schreiber氏に深く感謝します。 また、Alasdair Allan氏の 詳細な手順は、こちらをご覧ください。

最新ニュース

申し訳ございませんが、フィルター選択では結果が返されませんでした。

We've updated our privacy policy. Please take a moment to review these changes. By clicking I Agree to Arrow Electronics Terms Of Use  and have read and understand the Privacy Policy and Cookie Policy.

Our website places cookies on your device to improve your experience and to improve our site. Read more about the cookies we use and how to disable them here. Cookies and tracking technologies may be used for marketing purposes.
By clicking “Accept”, you are consenting to placement of cookies on your device and to our use of tracking technologies. Click “Read More” below for more information and instructions on how to disable cookies and tracking technologies. While acceptance of cookies and tracking technologies is voluntary, disabling them may result in the website not working properly, and certain advertisements may be less relevant to you.
We respect your privacy. Read our privacy policy here