LoginSignup
6
5

More than 3 years have passed since last update.

Google Edge TPUをVirtual Box上のUbuntuで動かす

Posted at

1 はじめに

Google Edge TPUのUSB Acceleratorを購入しました。Virtual Box上のUbuntuで動かすのに一苦労ありましたので、ここに書き留めておきます。

2 環境

Host OS: Windows 10
Guest OS: Ubuntu 18.04 LTS
仮想化マシン:Virtual Box ver.6.0.6

3 手順

  1. Virtual Boxのインストール
  2. VirtualBoxにOracle VM VirtualBox Extension Packの追加
    ダウンロード先:https://www.virtualbox.org/wiki/Downloads
  3. Virtual BoxにUbuntuのインストール
    参考:https://qiita.com/ykawakami/items/4bae371932110b2e25e3
  4. Virtual BoxのUSBフィルタを編集
    4.1. 設定をクリック
    VM1.png
    4.2. サイドバーのUSBを選択し「USBコントローラーを有効化」にチェックを入れる
    4.3. USB Acceleratorを挿入しているUSBポートに合わせ、USBコントローラーのバージョンを指定する
    4.4. USBフィルタの追加をクリックし、Global Unichip Corp.[0100]を追加する VM2.png
    4.5. 4.4と同様の操作をし、Global Unichip Corp.[0100]を再度追加する
    VM3.png 4.6. 2つのうち、1つを編集し以下のように設定する
    ベンダーID:18d1
    プロダクトID:9302
    VM4.png VM5.png
  5. Ubuntuを起動
  6. 以下のサイトをもとにUSB Acceleratorの動作確認をする
    https://coral.withgoogle.com/docs/accelerator/get-started/

4 結果

以下の通り、Virtual Box上でGoogle Edge TPUのUSB Acceleratorを動作させることができた。

VM6.png

5 経緯

Virtual Box上のUbuntuで動作させるに当たり、2つの問題にぶつかった。

5.1 "No Edge TPU Device detected!"エラー  

これは、Virtual Box上でUSBデバイスを認識していないのが原因である。よって、USBフィルタにUSB Acceleratorを追加することで解決できた。

5.2 "RuntimeError: Failed to allocate tensors."エラー

この原因はさっぱりわからなかったが、githubのissueを見ているとサンプルプラグラム動作後にUSB AcceleratorのベンダーID、プロダクトIDが変わっているとの記載があった。また、サンプルプログラムを実行するとUSB Acceleratorがアンマウントされてしまうという現象が発生していた。このことから、試しにUSBフィルタに変更後のUSB AcceleratorのベンダーID、プロダクトIDを追加すると動作することができた。

6 補足事項

  • 3で作成した仮想環境をMacBookAirのVirtual Boxにインポートしたが、USB Acceleratorを動作させることができた
  • debianでも同様のことを実施したが、5.2のエラーが表示され動作させることができなかった
6
5
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
6
5