0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Coral USB TPU AcceleratorをWindows端末で(疑似的に)使う (VirtuaBox編)

Last updated at Posted at 2019-07-29

【目的】

image.png
Coral USB TPU Accelerator(Edge TPU)をWindows端末で使えるようにします。
(写真のCoralの山は…)

【内容】

Googleが開発したEdge TPU (Tensor Processing Unit)は現時点ではUbuntuおよびRaspbian(ラズパイのOS )などDebianベースのOSでの動作のみ保証されています。
これを、なんとかWindows端末で動かそうという試みです。

【WSLで使ってみる】(前置き)

WindowsでUbuntuといって真っ先に思いつくのは、Windows 10 1607から使えるようになった「Windows Subsystem for Linux (WSL)」を使う方法です。
image.png

WSLの使い方は下記記事を参照してください。
【Windowsで環境を極力汚さずにPythonを動かす方法 (WSL利用 Windows10, version 1607以降限定)】

インストールできたら早速Ubuntuを起動して、必要モジュールをインストールしてみます。

cd ~/
wget https://dl.google.com/coral/edgetpu_api/edgetpu_api_latest.tar.gz -O edgetpu_api.tar.gz --trust-server-names
tar xzf edgetpu_api.tar.gz
cd edgetpu_api
bash ./install.sh

Your platform is not supported.

「あなたのプラットフォームではサポートされてません」と言われてしまいました。
もっともここをクリアしてもWSLは現時点ではUSBデバイスを認識しないので、無理なのはわかってましたが…

【VirtuaBoxで使ってみる】(本題)

VirtualBoxとはx86仮想化ソフトの一つで、現在はOracle社が管理しています。
特徴としてはWindows10に標準で搭載されている仮想化ソフト「Hyper-V」とは異なり、USBデバイスを認識できるというところです。
これは期待できます。
利用経験はありませんでしたが、試しに使ってみました。

【VirtuaBoxのインストール】

インストール自体は簡単です。
公式HPからダウンロードしてきてインストールするのみです。

一点気をつける点として、インストール後に「Oracle VM VirtualBox Extension Pack」を追加で適用する必要があります。(これを行わないと仮想環境内でUSB2および3が利用できません)
こちらも上記のサイトからダウンロードできるので、ダウンロードしたものをダブルクリックすると適用が開始されます。

【仮想マシン(VM)の作成】

ubuntuをインストールするためのVMを作成します。
スペックなどは適当でいいです。
今回は4CPU、4GBメモリ、40GBストレージで作成しました。

【USBデバイスフィルタの作成】

VM作成後、「設定」>「USB」から、右端の「+」がついているアイコンをクリックし「Global Unichip Corp. [0100]」を選択します。

image.png

この操作を2回繰り返し、USBデバイスフィルタを2つ作ります。
そのうちの一つをダブルクリックで設定画面を開いて、以下の内容に変更します。
image.png

以下のようになれば設定完了です。
image.png
「USB コントローラを有効化」にチェックが付いていることを確認し、「USB 3.0(xHCI)コントローラー」を選択しておきましょう。

【Ubuntu18.04 LTSのインストール】

上記で作ったVMにUbuntuをインストールします。
今回は安定版の「18.04 LTS」を使いました。
インストール方法は省きますが、インストーラーのisoイメージをダウンロードし、VMにマウントした状態でVMを起動するとインストールが始まるので、指示に従うだけです。
image.png

【動作確認】

インストールが完了しUbuntuが起動したら、デスクトップ上を右クリックして「端末を開く」を実行するとターミナル画面が開きます。
まずは下記コマンドでアップデートを行います。
インストール時のオプションによっては勝手にアプデートが動きますので、処理が完了するまで待ちましょう。

sudo apt update
sudo apt upgrade

次にEdge TPUが認識されているか確認します。

lsusb

下記のように「Bus 002 Device 002: ID 18d1:9302 Google Inc. 」のような表示が出ていれば成功です。

出力結果.txt
Bus 002 Device 002: ID 18d1:9302 Google Inc. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

表示されていない場合はEdge TPUを抜き差ししてみるか、一旦VMの電源を落としてからVMの設定からUSBデバイスフィルタの設定を確認してみましょう。

【Edge TPU用のモジュールのインストールと動作確認】

基本的には下記の記事を踏襲します。
【Coral USB TPU Accelerator(EdgeTPU)をとりあえず使う (Quick Start)】

ただし、以下の2点が異なります。

  • ubuntuを日本語でセットアップした場合は【3. サンプルモデルを使って推論を行う】の最初にmkdir ~/Downloads/を実行する
    (もしくはDownloadsの部分をすべてダウンロードに置き換える)
  • cd /usr/local/lib/python3.5/dist-packages/edgetpu/demopython3.5の部分をpython3.6に置き換える

実際に動かした結果は以下のとおりです。

python3 classify_image.py \
 --model ~/Downloads/mobilenet_v2_1.0_224_inat_bird_quant_edgetpu.tflite \
 --label ~/Downloads/inat_bird_labels.txt \
 --image ~/Downloads/parrot.jpg
---------------------------
Ara macao (Scarlet Macaw)
Score :  0.76171875

無事、認識結果が表示されています。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?