ついにGoogleからエッジ向けのプロセッサ「Google Edge TPU」が発売されました。今回はUSB Acceleratorとラズベリーパイを使って機械学習のデモを試してみます。
Google Edge TPUとは
2019年3月にGoogleが「Coral」というブランドで「Google Edge TPU」を発売しました。公式HPはこちらです
Googleが数年前から機械学習に特化したICを開発していました。(現在は第3世代ということです)
テンソル・プロセッシング・ユニット(Tensor processing unit、TPU)というのが本当の名前で、このTPUをエッジ向けに特化したデバイス「Google Edge TPU」となります
Google Edge TPUとして発売されたのは
発表されたのはオプション的なカメラモジュールなどを含めると「5つ」の製品なのですが、「Google Edge TPU」が載って現在発売されている本体としては下記2つです。公式HPはこちらから
一つはラズベリーパイのようなPCモジュールとなっている「Dev Board」と
他のPCとのUSB接続のモジュールとして使える「USB Accelerator」です
Google Edge TPUの価格は?
公式HP,また公式からリンク先が貼られているMouserともに確認しましたが販売価格は
「Dev board」は$149.9(約\17000)、「USB Accelerator」は$74.99(約\8500)となっていました。
まだ「Dev Board」は日本で購入できない
筆者としても「Dev board」を購入したかったのですが、日本ではまだ購入できませんでした。
Wifiが内臓されているため技適の問題かと思われます。
公式HPからリンクされている電子部品サイトのMouserで確認するとアメリカなどの国では購入できますが
日本では販売制限されていました。(2019年3月時点)
<<20190805追記>>
Devboardも2019年6月にようやく技適が通ったようです。
確認が取れました。どうやらSKUが異なるらしく、日本向けCoral Dev Boardはこちらのリンクから購入可能です!https://t.co/VqPB39lPKi
— Hayato Y (@hayatoy82) August 2, 2019
既に海外では出回っているためYoutube等を検索すると「Dev board」でTensorflowを使った機械学習のデモ等がありました。
<<20190430追記>>
上記Yotube同様のデモをPythonのプログラミングして作りましたので記事にしました。よろしければこちらもご覧ください(リンク先はこちらから)
「USB Accelerator」をMouserから購入してみた
2019年3月時点では「Dev board」はまだ購入できませんでしたが、「USB Accelerator」は日本でも購入できるので買ってみました。
\6000を超えていたので配送料は無料でしたが、消費税含めると約\9500でした
筆者は在庫「0」、工場リードタイムが「3週間」の状況で2019/3/12に注文しましたが…
10日後の2019/3/22に届きました。思ったより早かったです。(在庫と輸送の関係があると思いますのであくまで一例としてお願いします)
実際に段ボールを開封するとCoralのブランドの箱が出てきました。無事「Google edge TPU」が届きました。
ちなみにAmazonでも売っているが…
AmazonなどでもCoral USB Acceleratorが仲介業者から売られているので貼っておきますが、2019/3/25時点では数量が出回っていないのか高額になっています。
2020年1月にはAmazonでもMouserの送料・手数料を考慮すると適正な価格になっていました。
もう少し経てば数量も出回るのでAmazonの値段も正常に戻ると思いますが、もし早めに手に入れたい方はMouserから購入した方が安く済むと思います。リンク先はこちらから
Coral USB Acceleratorは簡単に使える
「Google Edge TPU」が搭載されている「USB Accelerator」は簡単に使えるように30cmのUSBケーブルも同梱されています。
USB AcceleratorはType-C
箱を開けますと本体の「USB Accelerator」とUSBケーブルが同梱されています。
ケーブルはTypeA-TypeCとなっており、本体側がTypeCとなっています
逆側はType-Aのため直ぐにラズベリーパイ(raspberry pi)やPCに繋げれるようになっています。
USB Acceleratorのサイズは小さい
USB Acceleratorのサイズとしては横65mm×30mm×8mと非常に小さいです。
「どれぐらい?」と言うとラズベリーパイと比較すると小ささがよく分かります。更に小さいサイズとなります
Google Edge TPUとラズベリーパイで機械学習をする
今回はラズベリーパイと組み合わせて、Google Edge TPUを試していきます。入門のスタートガイドはCoralの公式HPにも記載されています。リンク先はこちらから
LinuxのPCとUSB接続してエッジコンピューティングを行い機械学習の効率化をできるようになっていますので、「USB Accelerator」はラズベリーパイもサポートされています。
※但しラズベリーパイがUSB3.0でないためベストパフォーマンスは出ないということです
最新のEdgeTPUのインストール手順は変更されています
<<20191229追記>>
最新のEdgeTPUのインストール手順が変更されています。
下記記事で紹介するインストール手順は最新のラズパイ4(ラズパイ3B+にも)対応しています。
お手数ですがインストール方法は下記記事をご参考ください。(リンク先はこちらから)
本記事の下記記述の内容でも「ラズパイ3B+」では動作しますが最新のラズパイ4では動きませんので注意ください。
edgetpu_apiをダウンロードしてインストールする
Coralのスタートガイドに従ってラズベリーパイでデモ用のソフト・プログラムをダウンロードしていきます。
ラズベリーパイを起動してコンソールを開き、下記コマンドで「Edge TPUのruntime」と「Pythonのライブラリ」ダウンロードします。
そしてダウンロードしたものを解凍してインストールしていきます。
最後のコマンドを押してすぐに「Google Edge TPUを最大周波数で使うか?Y/N」と聞かれますので、個人の好みで「Y」か「N」を入力してEnterして下さい
最大スペックで使いたい方は「Y」を選べばいいと思いますし、発熱するのを避けるならば「N」を選べばいいと思います(筆者は「Y」を選択しました)
暫く待つと無事インストールが完了します。
残念ながら「Raspberry Pi 2/3 Model B/B+ 」の対応のみ
余談になりますが筆者のラズベリーパイ(raspberry pi)は「最新の3B+」「古い1B+」の2つあるのですが、「古い1B+」に関しては今回の「Google Edge TPU」が使えませんでした。
Coralのスタートガイドのページでも「Raspberry Pi 2/3 Model B/B+ 」という表記があり、実際にインストールできませんでした。
「USB Accelerator」で機械学習を実行!
インストール終了したら、「USB Accelerator」を接続して機械学習を実行します。
ディレクトリを移動して、いざプログラムを実行します
--model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--label test_data/inat_bird_labels.txt \
--image test_data/parrot.jpg
Ara macao (Scarlet Macaw)
Score : 0.613281
---------------------------
Platycercus elegans (Crimson Rosella)
Score : 0.152344
白と茶色のニワトリも判断できるか確認してみた
折角なのでフリー素材の「白と茶色のニワトリ」を2種類持ってきて、実行してみました。
やり方は簡単です。「~/python-tflite-source/edgetpu/test_data」の中に新たなデータ(写真)を入れまして
最後のプログラム実行箇所で判断する写真の名前を変更するだけです。(parrot.jpg⇒chicken.jpeg)
--model test_data/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
--label test_data/inat_bird_labels.txt \
--image test_data/chicken.jpeg
Carduelis carduelis (European Goldfinch)
Score : 0.105469
Gallus gallus domesticus (Domestic Chicken)
Score : 0.210938
---------------------------
Gallus gallus (Red Junglefowl)
Score : 0.195312
まとめ・感想
本来ならば「エッジならではのリアルタイムの機械学習」などに使いたかったのですが、今回はデモを紹介するだけで終わってしまいました。
いずれ「Google Edge TPU」ならではの使い方をした機械学習の紹介もしたいと思います。
何にせよ、「Google Edge TPU」のようなデバイスが増えてくるとこれからより機械学習を使えるケースが増えてきそうです。
<<201903/31追記>>
「Google Edge TPU」と「ラズベリーパイ」に加えて「カメラ」も付けてリアルタイムで分類させた記事を追加しました。本格的なエッジコンピューティングができています。
よろしければこちらもご覧ください。リンク先はこちらから
ご覧いただきありがとうございました
コメント