Google Coral Edge TPU

Google Coral Edge TPU通過代理店Gravitylink向け全球銷商!

Google Coral Dev BoardでYocto生成ディストリビューションを実行する

2019-07-31 11:22:55 | Google Coral Edge TPU

これは、Edge TPU Moduleと呼ばれるLinuxベースのSystem-on-Moduleであり、追加の周辺機器を含む開発ボードにマウントされています。 EDGE TPモジュールの主なハードウェア機能:
- 統合GPUを備えたi.MX8MQ SoC
- 1 GB LPDDR4
- 8 GBのeMMC
- Google Edge TPUコプロセッサー(MLモデルの高速化に使用)
- WiFi /Bluetooth
微信截图_20190710150259.png

Coral Dev BoardはEdge TPU Moduleの評価用ボードとして機能しますが、Rasbperry Pi 3ボードと同様のシングルボードコンピュータとしても使用できます。 Coral Dev Boardには、Debian派生物であるMendel OSと呼ばれるLinuxディストリビューションが付属しています。 ボードは実際には事前にプログラムされたメンデルOSを含んでいなかった、そして私は始めるためにボードをフラッシュしなければならなかった。 しかし、事前に構築されたOSイメージと、十分に文書化された手順でボードをフラッシュする方法が提供されているので、これは比較的簡単です。

私はYocto / OE-coreを使ったLinuxディストリビューションの構築に時間をかけていますし、組み込みLinuxデバイス上でのLinuxディストリビューションは私にとって興味があるので、メンデルOSが何であるかをもっと深く掘り下げる必要がありました。

上で概説した文書に従うことによって、私はさらなる検査のためにすべてのコンポーネントのソースコードを取得することができました。 メンデルOSがi.MX8 SoC用のNXP i.MX BSPから来るかなり標準的なコンポーネント上に構築されていることを私がより近くで見始めてすぐに気が付いたとき本当の驚きはそこにありませんでした。 この情報を使って、私はこれを移植するのがかなり簡単であることに気づきました、そして私はCoral Dev Boardで起動する何かを構築することができるようにYocto BSPレイヤを作成することに着手しました。 起動するためには、このレイヤーに3つのものを実装するだけで済みました。
- Uブートフォークの作り方
- Linuxカーネルフォークの作り方
- boot.scrを展開するためのレシピ、およびMendel OSからコピーしたスクリプトのソースを作成しました

Yoctoを使ってイメージを構築するには、次の手順に従います。環境を保存するディレクトリを作成し、シェルをその場所に変更します。

mkdir coral && cd coral

レポマニフェストを初期化します:

repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b warrior

マニフェストでレイヤーを取得する:

repo sync

クローンmeta-coral:

git clone https://github.com/mirzak/meta-coral.git sources/meta-coral -b warrior

環境を設定します:

MACHINE=coral-dev DISTRO=fslc-wayland source ./setup-environment build

meta-coralbblayers.confに追加します:

echo 'BBLAYERS += "${BSPDIR}/sources/meta-coral"' >> conf/bblayers.conf

ベーキングを開始します:

bitbake core-image-base

ビルドが完了したら、WICイメージが作成されているはずですビルドが完了したら、WICイメージが作成されているはずです:
tmp/deploy/images/coral-dev/core-image-base-coral-dev.wic.gz

これは、起動システムを取得するためにeMMCまたはSDカードに書き込むことができるイメージです。 簡単にするために、Coral Dev BoardのブートモードをデフォルトのeMMCではなくSDカードからブートするように変更し、これを行うためにブートスイッチを次のように調整しました。

1-1.png

これが「SDカードモード」の起動スイッチの写真です:


1-2.jpg

既に画像を作成しているので、SDカードに書き込むことができます:

zcat tmp/deploy/images/coral-dev/core-image-base-coral-dev.wic.gz | sudo dd of=<device> bs=4M

SDカードを挿入してシステムを起動します。これでYoctoビルドディストリビューションのログインプロンプトが表示されます:

FSLC Wayland 2.7 coral-dev ttymxc0

coral-dev login

さまざまな周辺機器のテストはまだ終わっていませんが、Mendel OSと同じLinuxカーネルを使用しているので基本的なコンポーネント(HDMI、Ethernet、USB)は動作するはずです。 ユーザースペースのコンポーネントに依存しているので、もう少し作業が必要なことがいくつかありますが、これは非常に短いリストです。

  • WiFiとBluetooth(正しいファームウェアファイルをインストールする必要があります)
  • Google Edge TPUコプロセッサ(Yoctoで実行されているMendel OSからMLデモを入手するのは楽しいでしょう)

Google Coral DevのYocto / OE-core BSPレイヤーのソースコードは、こちらにあります:
https://github.com/mirzak/meta-coral

テストに満足していて、参加することに興味がある場合は気軽に連絡を取ってください。(作者:mirzak)


Google Coral Edge TPUボードとNVIDIA Jetson Nano Devボード - ハードウェア比較

2019-07-29 14:07:16 | Google Coral Edge TPU

(記事の出所:Medium 作者:Manu Suryavansh,切り取る)

NVidiaとGoogleの両社は最近、EdgeAIをターゲットとした開発ボード、および開発者、メーカー、趣味専門家を引き付けるためのコスト面での開発を発表しました。 どちらの開発ボードも主に推論を目的としていますが、限定的な移転学習の再トレーニングをサポートしています。 Edge TPUはウェイトインプリンティング技術を使用したトランスファーラーニングトレーニングをサポートしています。 両方の開発キットは、USB、イーサネット、microSDスロットなどのようなさまざまなコネクタを持つ開発ボードに接続されたSOM(システムオンモジュール)で構成されています。これは、使用できる2つの開発キットのハードウェアの比較です。 Edge TPU USBスティックではなく、シングルボードコンピュータ(SBC)として。 記事全体を読みたくない場合は、WifiやBluetoothなどの重要な周辺機器が含まれているため、Coral Edge devキットの方がコスト的にやや優れていますが、Jetson Nanoはソフトウェアサポートが優れています(INT8とFP16推論)。 )

微信图片_20190606175850.jpg

微信图片_20190404110322_副本.jpg

Google Coral Edge TPU開発ボード

キット全体のサイズは - 88 mm x 60 mm x 22 mm、SOMのサイズは - 48 mm x 40 mm x 5 mmです。 したがって、人々は異なるフォームファクタの独自のベースボードを設計してSOMに接続することもできます。 このボードには、u-bootブートローダーが付属しているだけで、後でMendel linuxのようなイメージをロードすることができます。
Coral SOMのNXP iMXMプロセッサには、Vivante GC7000 liteグラフィックスGPUもあります - グラフィックス以外にも使用できますか?

Google Coral Edge TPU ここでそれを買う: https://store.gravitylink.com/global

NVIDIA Jetson Nano Devキット

ここのサンゴ板のように、SOMもベースボードに接続します。 Jetson SOMは少し大きく、69.6 mm x 45 mmです。 ボードはUbuntu 18.04ベースの環境が付属しています。

以下は、2つのボードのハードウェア機能の比較です:

微信截图_20190729132654.png

パフォーマンス

Nvidiaは、Jetson NanoとRaspberry Pi 3、Google Coral Edge TPUボードなどの他のSBCとのパフォーマンス比較をいくつか提供しています:
1_v77qD0ZOVPfFwMzFEK5Gjg.png

Coral Edge TPUボードは、量子化を意識したトレーニングでトレーニングされていない事前トレーニング済みモデルを実行できないため、ごくわずかな結果しかありません。 上記の結果で、JetsonはFP16精度を使用しました。

結論

私の意見では、コーラルエッジTPU開発ボードは以下の理由からより優れています :
1. 149CoraldevJetsonNano149のCoraldevボードはJetsonNano(99)より少し高価ですが、Jetson Nanoでは外付けのWiFiドングルを購入する必要があります。
2.さらに、サンゴボードのNXP iMX8 SOCには、ビデオ処理ユニットと、従来の画像およびビデオ処理に使用できるVivante GC700 lite GPUが含まれています。 また、温度センサー、周囲光センサーなどの他のセンサーと通信するために使用できるCortex-M4F低消費電力マイクロコントローラーもあります。

微信图片_20190531135348.jpg

JetsonにはVideoエンコーダとデコーダユニットもあります。 さらにJetson Nanoは、Pytorch、MXNetのような他のディープラーニングフレームワークに対するより良いサポートをしています。 FP16推論およびINT8推論用のNVidia TensorRTアクセラレータライブラリもサポートしています。 Edge TPUボードは8ビット量子化Tensorflow liteモデルのみをサポートしており、量子化対応トレーニングを使用する必要があります。


Raspberry Pi 4とNVIDIA Jetson Nano、どちらを選ぶに値する

2019-07-26 13:13:48 | Google Coral Edge TPU

Raspberry Foundationは、開発者に興奮しているRaspberry Pi 4をリリースしました。これは、パフォーマンスが全面的にアップグレードされただけでなく、価格も35ドルから旧バージョンと変わりません。 では、誰がこのオタクによく使われるNVIDIA Jetson Nano Developer Kitより優れているのでしょうか。

Raspberry Piには素晴らしい機能がたくさんあり、最近リリースされたRaspberry Pi 4には素晴らしいアップグレードがいくつかあります。


raspberry-pi-4-1gb.jpg

以前のRaspberry Pi 3B+ と比較して、Raspberry Pi 4B は、次のアップグレードが含まれます。

  • 高速プロセッサ:クアッドコアCortex-A72(ARM v8)64ビットSoC @ 1.5 GhzへのCPUのアップグレード。

  • より多くのメモリ:LPDDR4-2400 SDRAMは1GB、2GBおよび4GB RAMモデルで利用可能です。

  • デュアル4Kグラフィックスカード:2つのマイクロHDMIポート、両方ともデュアルモニタでも4Kビデオを出力できます。

  • 2 USB 3および2 USB 2ポート:このバージョンには、周辺機器への高速接続用に2 USB 3ポートがあり、2 USB 2ポートもあります。

  • USB-C電源:ボードの電源コネクタは、micro-USBからUSB-Cコネクタにアップグレードされています。

  • I / O:40ピンGPIOコネクタ(I2C、SPI、およびUARTをサポート)。

上記は、新しいRaspberry Pi 4と古いラズベリーパイ3の主な違いです。マザーボードの古いバージョンと比較して、Raspberry Pi 4 の新しいバージョンは高い処理能力と他の利点を持っています。

NVIDIAはさまざまなIoTマザーボードをリリースしました。そのうちNVIDIA Jetson Nanoが最新のマザーボードです。 このボードは、プロトタイプを設計するときにIoTソリューションが必要とするすべての入力と接続を提供する開発キットとして機能します。

微信图片_20190606175850.jpg

以下は、NVIDIA Jetson Nano Developer Kitのコア構成です。

  • CPU:クアッドコアARM Cortex-A57 MPCoreプロセッサ

  • GPU:NVIDIA Maxwell w / 128 NVIDIA CUDAコア

  • メモリ:4 GB 64ビットLPDDR 4

  • グラフィックカード:HDMIおよびDisplayPort出力

  • USB:4つのUSB 3ポート

  • I / O:Raspberry Piと互換性のあるI2C、SPI、UART、およびGPIOコネクタ

NVIDIA Jetson Nano Developer Kitは、プロトタイプを設計するときにIoTソリューションが必要とするすべての計算能力(および統合されたGPU)を提供します。


微信图片_20190606175908.jpg

Raspberry Pi 4とNVIDIA Jetson Nanoの主な機能はよく似ています。両者の最大の違いは、NVIDIA Jetson Nanoには高性能と強力なGPU(グラフィックプロセッサ)が含まれているのに対し、Raspberry Pi 4には低消費電力のVideoCoreマルチメディアプロセッサがあることです。 強力なMaxwell GPUを考えると、NVIDIA Jetson Nanoの価格はもっと高いですが、この部分の価格は妥当です。

Raspberry Pi 4のCortex-A72は、NVIDIA Jetson NanoのCortex-A57よりも1世代だけ先のことです。 新しいA72は、A57よりもクロック速度が速く、消費電力が20%少なく、性能が90%向上しています。

一般的に、あなたのニーズに最も合うマザーボードを選ぶとき、あなたはそのようなハードウェア仕様と価格のような基本的な要因を参照するでしょう。 もちろん、オペレーティングシステムとソフトウェアの機能についても考慮する必要があります。 どちらのマザーボードもLinuxを実行しており、ほぼ同じ機能を提供します。 すべての比較要素が近い場合は、次に検討する必要があるのは、ボードのプログラミングとSDKのサポートです。

2つのマザーボードのどちらが好きですか。

次回のGoogle Edge TPUの紹介,開発ボードとUSBアクセラレータ,お楽しみに。

微信图片_20190624110650.jpg

ちなみに,日本でも購入できます。(海外の代理店から購入しました-Gravitylink:https://store.gravitylink.com)


Google Edge TPU画像分類器

2019-07-25 14:18:46 | Google Coral Edge TPU

Coralは、開発者がEdge TPUを使用してアプリケーションを構築するためのハードウェアおよびソフトウェアツールを提供します。Googleが設計した小型ASICで、低電力デバイス用の高性能機械学習(ML)推論を提供します。

微信图片_20190718135827.jpg

注:Google Edge TPUは日本で購入できます-代理店Gravitylink: https://store.gravitylink.com/global

TensorFlow™は、データフローグラフを使用した数値計算用のオープンソースソフトウェアライブラリです。 TensorFlowは、機械学習モデルを訓練し、それらのモデルを使用して迅速な意思決定ソフトウェアを必要とする現実世界の問題を解決するための一般的なフレームワークになりました。

構築するもの

このコードラボでは、Edge TPU Python APIを使用して、カメラから画像フレームをストリーミングし、事前に訓練されたInception v2モデルに対してローカルに分類するデバイスを構築します。

何を学ぶでしょう

gstreamerを使ってカメラから画像フレームをキャプチャする
Edge TPU Python APIを使用してML推論を実行する
Edge TPUアクセラレータのパフォーマンスを評価する

必要なもの

コーラル開発ボード
コーラルカメラまたはUSBカメラ
Python 3.5
LinuxまたはmacOSワークステーション

微信图片_20190404110322_副本.jpg

開発ボード

入門

OSをフラッシュする

ボードが新品の場合は、メンデルシステムイメージを使ってフラッシュする必要があります。

周辺機器を接続する

USBカメラをUSB-Aホストポートに接続するか、または以下の手順に従ってCSIカメラモジュールを接続します。

デバイスシェルに接続する

  • 2-3A電源ケーブルをPWRというラベルの付いたUSB-Cポートに差し込みます。
  • USB-Cケーブルを使用して、ワークステーションをOTGというラベルの付いたUSB-Cデータポートに接続します。
  • HDMIポートを外部ディスプレイに接続します
  • ワークステーションにMendel開発ツールをインストールします:
$ pip3 install --user mendel-development-tool 
  • 使用しているワークステーションがmdtを使用しているデバイスを認識できることを確認します:
$ mdt devices device-name (192.168.100.2) 

スタータープロジェクトを入手する

GitHubリポジトリはコマンドラインからクローンできます:

$ git clone https://github.com/googlecodelabs/edgetpu-classifier 

codelabの各ステップに対する解決策は、フォルダごとにまとめられています:
  - classifier-start - 初期プロジェクト
  - classifier-end - 最終解

プロジェクトについて

スタータープロジェクトには以下が含まれます:

  • カメラフレームをキャプチャして表示するための初期スクリプト(main.py
  • 事前学習済みのInception v2画像分類モデルとラベルファイル(models / の下)
  • カメラから画像をキャプチャして表示するためのコードを含むライブラリモジュール(lib /の下)

スタータープロジェクトのlib.gstreamerモジュールは、gstreamerに基づいて次のパイプラインを作成します:

微信截图_20190724163918.png

パイプラインの大部分は内部で処理されますが、Image Processingステップはメインスクリプト内で公開されているコールバック関数(frame_callback)をトリガーします。

スタータープロジェクトをデプロイして実行する

classifier-startディレクトリに移動します。 スタータースクリプトとモデルファイルをデバイスにプッシュします:

$ cd classifier-start/ $ mdt exec mkdir /home/mendel/lib $ mdt push lib/* /home/mendel/lib $ mdt push models/* /home/mendel $ mdt push main.py /home/mendel ...

2番目の端末ウィンドウを開き、デバイスシェルに接続して、ファイルがすべて存在することを確認します:

$ mdt shell ... mendel@device-name:~$ ls imagenet_labels.txt inception_v2_224_quant.tflite lib main.py

提供されているモデルとラベルファイルを使用して、デバイスシェルウィンドウでスタータースクリプトを実行します:

mendel@device-name:~$ python3 main.py \ --model=inception_v2_224_quant.tflite \ --labels=imagenet_labels.txt

USBカメラを使う

メインスクリプトはデフォルトでCSIを介して接続されたCoralカメラを入力用にします。 USBカメラを使用している場合は、次の手順に従ってカメラに使用する適切な入力ソース、解像度、およびフレームレートを決定してください。 次のようにこれらの値をスクリプトに渡します:

mendel@device-name:~$ python3 main.py \ --source=/dev/video1 \ --resolution=1280x720 \ --frames=30 \ --model=inception_v2_224_quant.tflite \ --labels=imagenet_labels.txt

スタータープロジェクトを確認する

接続されているHDMIディスプレイにライブカメラのプレビューが表示され、カメラのパイプラインが正しく設定されていることを示しますが、TensorFlow Liteモデルは実際にはまだ実行されていません。 次のステップでは、Edge TPU Python APIを使用してカメラからの各画像を分類するためのコードを追加します。

実行画像分類

私たちの現在のスタータープロジェクトは、画像が表示される前に画像を処理していません(classify_image()関数は現在何もしません。 このセクションでは、Edge TPU Python APIを使用してClassificationEngineをインスタンス化し、それを使用して各フレームで推論を実行します。

推論エンジンを作成する

main.pyスクリプトは、引数として提供されたモデルファイルをinit_engine()関数に渡します。 この関数を見つけて、そのモデルに基づいてClassificationEngineを返します。

main.py
from edgetpu.classification.engine import ClassificationEngine def init_engine(model): """Returns an Edge TPU classifier for the model""" return ClassificationEngine(model)

入力テンソル形状を決定する
gstreamerパイプラインのImage Resizeステージは、与えられたイメージを分類モデルで必要とされる入力寸法と一致するようにスケーリングします。 あなたは単にそれらの必要な寸法が何であるかを指定する必要があります。

get_input_tensor_shape()メソッドは、モデルの予想されるテンソル形状を[dimensions、height、width、channels]の形式で返します。 これを使用してinput_size()関数を実装し、必要な画像サイズを返します。 次に、このinput_size()関数がメインスクリプトによって呼び出されて、必要な画像の拡大縮小寸法をgstreamerパイプラインに渡します。

main.py
def input_size(engine): """Returns the required input size for the model""" _, h, w, _ = engine.get_input_tensor_shape() return w, h

推論をプロファイルする

パフォーマンスを評価するためには、各フレームの処理にかかる時間を知る必要があります。 最後の推論実行についてこの値を報告するには、inference_time関数を実装します。 ClassificationEngine は、get_inference_time()メソッドによる最後の推論に要した時間を提供します。

main.py
def inference_time(engine): """Returns the time taken to run inference""" return engine.get_inference_time()

画像を分類する

これでclassify_imageを実装することができます。 gstreamerパイプラインは、このコールバックを(frame_callbackメソッドを介して)呼び出して、サイズ変更された各画像フレームを平坦化された1-Dテンソルとして配信します。 ClassificationEngineClassifyWithInputTensor()メソッドを使用して画像フレームを処理します。 入力テンソルに加えて、次のパラメータが必要です。

  • threshold→結果にラベルを返すための最小信頼スコア
  • top_k→最高スコアに基づく、返される結果の最大数

エンジンは結果のリストを返します。それぞれが2つの値(ラベルインデックスと信頼性スコア(画像が各ラベルにどれだけ一致したか))を持つタプルとして返されます。 モデルに付属のテキストファイルを使用して、インデックスを実際のラベルに再マップします。

main.py
def classify_image(tensor, engine, labels): """Runs inference on the provided input tensor and returns an overlay to display the inference results """ results = engine.ClassifyWithInputTensor( tensor, threshold=0.1, top_k=3) return [(labels[i], score) for i, score in results]

分類ラベル
画像分類モデルのトレーニングプロセス中に、付随するテキストファイルが、使用されるデータセットの画像ラベル(クラスまたはカテゴリ)に対して生成されます。 各ラベルにはインデックスが付けられています。インデックスは、分類中にモデルによって報告された値です(文字列ではありません)。
以下は、このコードラボで使用されているImageNetラベルファイルの抜粋です:
0 background
1 tench, Tinca tinca
2 goldfish, Carassius auratus
3 great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias
4 tiger shark, Galeocerdo cuvieri
5 hammerhead, hammerhead shark

結果を確認する

更新したスクリプトをデバイスに展開します:

$ mdt push main.py /home/mendel 

デバイスシェル端末ウィンドウからスクリプトをもう一度実行します:

endel@device-name:~$ python3 main.py \ --model=inception_v2_224_quant.tflite \ --labels=imagenet_labels.txt

重要:USBカメラを使用している場合は、カメラパラメータをコマンドラインに追加することを忘れないでください。

カメラのプレビューの上に推論結果が重ねて表示されます。 デバイスのカメラをさまざまなオブジェクトに向けて、推論結果が自動的に更新されるのを確認してください。

3852a24c3ec52538.jpeg

ヒント:写真を拡大してキャプチャしやすくするには、新しいタブで画像を開きます。 カメラを画像に十分近づけて、フレーム全体を埋めます。

次のような予想される出力結果が表示されることを確認します:

Inference time: 655.08 ms (1.53 fps) goldfish, Carassius auratus (0.96) 

パフォーマンスを向上させる

現時点では、モデル推論は現在デバイスのCPU上で完全に実行されています。これは、これらの推論操作に最適化されておらず、ワークロードをシステムの他の部分と共有しています。 次のセクションでは、Edge TPUがパフォーマンスの向上にどのように役立つかを説明します。

Edge TPUで加速する

それでは、モデル推論を加速するために専用のEdge TPUチップを使用してパフォーマンスを向上させる方法を見てみましょう。 必要なのは、Tensorflow Liteモデルを再コンパイルすることだけです。 このプロセスは、CPUに限定された推論操作をEdge TPUでサポートされているものと置き換えます。

重要:Edge TPUコンパイラは、すべてのモデルアーキテクチャと推論タイプをサポートするわけではありません。

Edge TPU用にモデルをコンパイルする

CoralサイトのEdge TPU Model Compilerに移動し、条件に同意して、プロジェクトからmodels / inception_v2_224_quant.tfliteファイルをアップロードします。

プロセスが完了したら、コンパイル結果を確認してください。 このレポートは、Edge TPU用にモデルのどれだけが正常にコンパイルされたか、および操作がCPUにフォールバックするかどうかを示します。 私たちのモデルはEdge TPUで100%動作するはずです。

微信截图_20190725111912.png

「モデルのダウンロード」をクリックして、結果のファイルをプロジェクトディレクトリにinception_v2_224_quant_edgetpu.tfliteとして保存します。

新しいモデルをテストする

新しいモデルファイルをデバイスに展開します:

$ mdt push inception_v2_224_quant_edgetpu.tflite /home/mendel 

デバイスシェルのターミナルウィンドウからmain.pyをもう一度実行します。ただし、Edge TPUファイルを--model引数として使用します:

mendel@device-name:~$ python3 main.py \ --model=inception_v2_224_quant_edgetpu.tflite \ --labels=imagenet_labels.txt

重要:USBカメラを使用している場合は、カメラパラメータをコマンドラインに追加することを忘れないでください。

推論時間が以前の10倍以上に減少したことに注目してください。 モデル推論はパフォーマンスのボトルネックではなくなり、カメラのフレームレートに簡単についていくことができます。

注:この時点で、オーバーレイによって報告されたFPS値は、カメラが実際にフレームを報告しているよりも速くなりました。 この値は、推論時間に基づくモデルの理論上の処理能力を表します。

使い方

Edge TPUアクセラレーションを有効にするためにコードを変更していないことに注意してください - このプロセスは、使用するモデルによって管理されています。 Edge TPU Model Compilerはモデルグラフ内のノードを処理し、サポートされている操作をEdge TPUランタイムによって認識される新しいカスタム操作に変換します。 推論中に、ランタイムは個々の操作がEdge TPUまたはCPUのどちらで実行されるかを決定します。

アクセラレーションを活用するために、モデルがEdge TPUでサポートされている操作で完全に構成されている必要はありません。 サポートされていない操作が発生するモデルグラフの最初の点で、コンパイラはグラフを2つの部分に分割します。 サポートされている操作のみを含むグラフの最初の部分はEdge TPU上で実行され、その他の部分はすべてCPU上で実行されます。

分類結果がまだ有効であることを確認するために、前の手順で使用したのと同じオブジェクトにデバイスカメラを向けます。

おめでとうございます。 これで、Inception v2モデルとEdge TPUアクセラレータを使用して、リアルタイムで画像を分類するアプリケーションを構築できました。


Google Edge TPUは日本で購入できます-代理店Gravitylink!

2019-07-23 16:27:56 | Google Coral Edge TPU
Edge TPU
エッジで推論を行うために設計された Google の専用 ASIC。

エッジでの AI 実行
AI は今日、コンシューマ アプリケーションからエンタープライズ アプリケーションに至るまで広く使用されています。接続端末が急激に増加し、プライバシーや機密性保持、低レイテンシ、帯域幅の制約の需要とともに、クラウドでトレーニングした AI モデルをエッジで実行することがますます必要になっています。Edge TPU は AI をエッジで実行する目的に特化して Google が設計した専用 ASIC です。小規模で低消費電力のフットプリントで高いパフォーマンスを実現し、高精度の AI をエッジにデプロイできます。
エンドツーエンドの AI インフラストラクチャ
Edge TPU は Cloud TPU と Google Cloud サービスを補完し、エンドツーエンド(クラウドツーエッジ、ハードウェア + ソフトウェア)のインフラストラクチャを提供することにより、お客様の AI ベース ソリューションのデプロイが簡単になります。
Google Edge TPU搭載の開発ボード「Google Coral Dev Board」を追加しました

Google Edge TPUを購入して—代理店Gravitylink!( https://store.gravitylink.com )
Coral Dev Boardは、IoTなどのエッジデバイス向けのGoogle Edge TPU (Tensor Processing Unit)搭載の
- シングルボードコンピュータです。
- SoM (システムオンモジュール) により、オンデバイス機械学習推論アプリケーションを
- 試作することができます。
Edge TPU の利点:
・TensorFlow Lite サポート (デバイス上で推論を短時間で実施)
・低電力
・省スペース
小規模で低消費電力のフットプリントで高いパフォーマンスを実現
パフォーマンス、小規模フットプリント、低消費電力により、Edge TPU は高品質な AI をエッジに広くデプロイできます。
AI のハードウェア、ソフトウェア、アルゴリズムの共同設計
Edge TPU は単なるハードウェア ソリューションではなく、カスタム ハードウェアやオープン ソフトウェア、最先端の AI アルゴリズムを組み合わせて、エッジ向けの高品質でデプロイしやすい AI ソリューションを提供します。

広い応用範囲
Edge TPU は予測メンテナンスや異常検出、マシンビジョン、ロボット工学、音声認識など、増え続ける産業ユースケースに使用できます。また、製造、オンプレミス、ヘルスケア、小売、スマート スペース、交通機関などにも使用できます。
Edge TPU は高品質な ML 推論をエッジにデプロイできます。Edge TPU はオープンソースの TensorFlow Lite プログラミング環境のほか、AI とハードウェアの両方で Google の専門知識を組み合わせて、最初にいくつかの Google AI モデルとともにデプロイされます。

Coral USB Accelerator
  • Raspberry Pi や Linuxコンピュータで動作させる機械学習のためのUSB Acceleratorです。
  • Googleのエッジで推論を行うために設計された Edge TPU を、対応するLinuxコンピュータに
  • 接続することで、デバイス上で ML推論を実行することが容易になります。

Google Edge TPUを購入して—代理店Gravitylink!( https://store.gravitylink.com )
Edge TPU の機能
この ASIC は Google の AI に関する専門知識を活用し、AI の急速な進化を追跡してハードウェアに反映するロードマップの第 1 歩です。
  • 推論アクセラレータ
  • Edge TPU では電力効率の良い方法を使い、高解像度の動画上でフレームごとに複数の最先端の AI モデルを 30 フレーム/秒で同時に実行できます。
Edge TPU SoM やキャリアボードが含まれる開発ボードを使用して Edge TPU で構築します。ついにGoogleからエッジ向けのプロセッサ「Google Edge TPU」が発売されました。


「Dev Board」と「USB Accelerator」は日本で購入できます!