サイトアイコン KOKENSHAの技術ブログ

macOS Mojave VirtualBox Ubuntu 16.04 で Intel Movidiusを動かす方法!

今日の記事は

macOS Mojave VirtualBox Ubuntu 16.04 で Intel Movidiusを動かす方法!

をご紹介します!

macOS Mojave VirtualBox Ubuntu 16.04 で Intel Movidiusを動かすには、実はいくつかトリッキーなことをやならければいけないです。

それを皆さんと共有して、皆さんも同じ環境で試す時のご参考になれば嬉しいです!

目次

Intel Movidius

最近の機械学習がマイブームになって、色々手を出しています!笑

その中に、ずっと前から気になっていたMovidiusもついに入手!

 

Movidiusを箱から出して

アルミの本体が結構かっこいいです!

Raspberry Piでの試行錯誤

その後ちょっとRaspbery Piと繋いて、実験してみました。うまくいきませんでした。

そのために、新しい Raspberry Pi 3B+も調達したりしていました。

こんな感じで繋いて

新しいRaspberryPiでコンパイルしても

なかなかうまくいきませんでした。ネットを調べると、うまく行った事例もありましたので、私の操作の手順がどこかで間違ったかと思われます。

(追伸:Raspberry Piでできました!サンプルコードが実行できました!これもあとで、記事にまとめます!)

記事もできました、こちらです!

RaspberryPi 3B+とIntel Movidiusで、サンプルコードを動かす

 

一回気分転換で、別の環境でやりましょう!

本系のサイトで、下記の環境にインストールが可能と記述しています:

https://movidius.github.io/ncsdk/install.html

VirtualBoxでやってみましょう!

私は、UbuntuのPCも数台持っていましたが、その中で一番都合の良いPCがなんとUbuntuの18.04が入っていて、そもそも、コンパイルができませんでした。

UbuntuのPCにインストールするのを断念して、VirtualBoxでやろうと決めました。

実は、ここにもいくつかトリッキーなことが待ち受けています。

下記の三つのステップが必要です!

VirtualBox 5.2.22 Oracle VM VirtualBox Extension Packのインストールが絶対必須です。

これがないと、host マシンのusb(今回のMovidiusとVideoカメラ)が使えないです!

https://www.virtualbox.org/wiki/Downloads

②VMの属性設定を追加する

自分のVM(今回のMovidius用のUbuntu 16.04)を選んで、設定ボタンをクリックして

下記の画面が出てきます。ここでポートをクリックして

USBのタブを選びます。

ここでは、すでにMovidiusがさしている状態にしてください。

そうすると、画面の右にある、USB追加の小さいアイコンがクリックすると、Movidiusが小さいメニューに現れます。

そこから選んで、上の、USBコントローラーを3.0を選んでください。MovidiusはUSB3.0でないと、正常に動かないかもしれません。

こうなります。

③host(今回は私のmacOS Mojave)のvideoカメラとUSBにさしているMovidiusをVMにattachする!

ここで、面白い現象がありましたが。attachしないと、まず、videoがない、(Movidius)Deviceがないと怒られて、プログラムが実行できません!

このステップは必須だと思われます。

具体的なコマンドは下記の通りです。

A.実行中のVMのリストを出します。

VBoxManage list runningvms
"Xubuntu1604 Movidius用" {71387c53-73be-4d6e-955f-0d9dc423ddfb}

上の結果になります。

“Xubuntu1604 Movidius用”は今回のVMの名前です、下のコマンドで使います。

B.今のMacのvideoカメラのIDを出します。

VBoxManage list webcams
Video Input Devices: 1
.1 "FaceTime HD Camera"
0x1410000005ac8600

上のようなidが表示されます。「0x1410000005ac8600」

C.そうしましたら、このidのwebcameraをVMとattachします。

そうすることによって、VM(Ubuntu16.04)でもそのwebcameraが使えるようになります。

下記のコマンドとなります。

VBoxManage controlvm "Xubuntu1604 Movidius用" webcam attach 0x1410000005ac8600

Modiviusのほうも同じようにattachしなければなりません

D.USBのリストを出します

VBoxManage list usbhost

このUUIDがあとで使います:

7aa17c35-ef66-4223-9d38-bffd738f6aa8

E.このusbをVMにattachします

VBoxManage controlvm "Xubuntu1604 Movidius用" usbattach  7aa17c35-ef66-4223-9d38-bffd738f6aa8

こうしておけば

VMの中で、サンプルコードは初めて、実行できるようになります!

ただ!ここで、ちょっと不思議な現象がありました!

サンプルコードを実行して、停止すると、次のサンプルを実行すると、また「Devide not found」が表示されます。

実はMac側でusbのIDが変わってしまうのです。

ここで、もう一回DとEの手順をやる必要があります。この現象が分かる方がいれば、ぜひ教えてください。

VMの中で(Movidiusを使う)サンプルコードを実行するたびにhost側のusbのidが変わってしまうようです。

まとめ

今回がmacOS Mojave VirtualBox Ubuntu 16.04 で Intel Movidiusを動かしたということは、Movidius本体が正常に動作することが確認できました。また公式が提供しているプログラムの方にも問題ないと言えます。

Raspberry Piでは、おそらく、バージョンがずれているのが原因だったかもしれません、また時間を作ってチャレンジしてみます。

また、Raspberry Piの方でも、動かせたら、また色々まとめて共有します!お楽しみに!

[amazonjs asin=”B074PRCJKH” locale=”JP” title=”Movidius Neural Compute Stick – NCS ニューラル ディープラーニング USB スティック”]

[amazonjs asin=”4873117585″ locale=”JP” title=”ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装”]

[amazonjs asin=”4822292274″ locale=”JP” title=”独学プログラマー Python言語の基本から仕事のやり方まで”]

モバイルバージョンを終了