Movidius NCSをセットアップする

Movidius NCS
Movidius Neural Compute Stick

intelに買収されたMovidius社から、USB接続型の機械学習(ディープラーニング)用アクセラレータ、Movidius Neural Compute Stick (以下、Movidius NCS)が発売されました。RSコンポーネンツMouserから入手できますが、現時点では在庫切れのようです。初期の入荷数が少なかったようですが無事に入手できましたので、環境をセットアップしてみました。

推奨環境はネイティブなUbuntu 16.04 amd64ですが、そんなに都合よく環境は用意できませんので、WIndows 7上のVMWare 12にUbuntuをインストールしました。

※注) 以下の方法はVMWare上のUbuntuでMovidius NCSが安定して動作することを保証するものではありませんのでご注意下さい。

Ubuntuのインストールが完了したらログインし、Movidius NCS SDKをセットアップします。手順はGetting Startedに書かれている通りに進めれば何の問題もありません。マシンパワーやネットワークの速度によっては、pythonモジュールのインストールやcaffeモデルのDL等に時間が掛かることがあります。

引っ掛かる可能性のあるポイントは、SDKのToolkitインストール後に環境変数を反映させるためにログアウト(あるいはターミナル等の立ち上げ直し)が必要なことです。これをせずにAPIをセットアップしようとすると失敗します。

SDK (ToolkitとAPI)のセットアップが完了したら、PCにMovidius NCSをUSBポートに差し込んでみましょう。認識されたかどうか確認してみます。

$ sudo dmesg | grep MA2
[...] usb 3-2: Product: Movidius MA2X5X

こんな感じの文字列が出力されれば認識されてるのでOK、と言いたいところなのですが、udevを使ってデバイスファイルのパーミッションを設定したりしているようなので、Ubuntuを一度再起動した方が確実かも知れません。

認識されない場合、VMWareのリムーバブルデバイスの設定でMovidius NCSが仮想マシンに接続されているか確認して下さい。接続されていない場合は接続して上記の手順で再度確認してみて下さい。

Movidius NCSが認識されていることを確認できたら、動作確認してみましょう。Getting Startedにもあるように、

$ cd ~/workspace/mvncsdk/bin
$ make example00
$ make example01
$ make example02
$ make example03

のexample00から03までを動かしてみて下さい。うまくいけばMovidiusを動作させることができます。私のVMWare環境では動作したりしなかったりで、記事執筆時点では安定して動作させることができていません。

追記: ネイティブなDebian testing (buster) amd64はサポート外ですが安定して動作することを確認しました。VMWareやVirtualBox上で動作させるのは必要以上に労力が必要となりますので、ネイティブ環境を用意されることをお奨めします。

Jetson TX1をJetPack 3.0に更新する

Jetson TX2の発売と合わせてJetPack 3.0が公開されました。公開から数日が経ってしまいましたが、この最新版に更新したいと思います。

今回は諸事情によりMacBook Pro上のVirtualBoxではなく、Windows PC上のVMWareに入れていたUbuntu 14.04 LTSから作業します。

以前にJetPack 2.xで試した際には失敗しましたが、今回は事前にTX1をリカバリモードにしてVMWareのUbuntuからTX1を認識できることを確認した上で作業を行いました。

手順はマニュアル通りです。インストーラをDLし、chmod +x して実行し、画面の指示に従って操作するだけです。この辺りは以前の記事と同じ内容なので再掲はしません。今回はVMWareからでもリカバリモードでのイメージファイル転送が成功し、無事にJetPack 3.0に更新することができました。

あとはeMMCからではなくSSDから起動するよう設定しましょう。先の記事と同じ手順で問題なくSSDから起動させることが可能です。

VirtualBoxでJetson TX1の母艦を立てる

Ubuntu14.04 on VirtualBox
Ubuntu14.04 on VirtualBox

Jetson TX1をセットアップするためには、母艦(マニュアルではhost)としてUbuntu 14.04環境が必要です。デュアルブート環境でもあれば問題ないのですが、私は普段の作業は開発PC上のDebian testing (stretch)がメインで、他にはMacBook ProとWindows PCしかありません。いずれかのPCをUbuntu 14.04とのデュアルブートに仕立て上げてもよいのですが、今回はmacOS Sierra環境上にVirtualBoxで母艦を立てる方法で対応します。

“VirtualBoxでJetson TX1の母艦を立てる” の続きを読む

Jetson TX1をUSB SSDから起動できるようにする

NVIDIAのJetson TX1には16GBのeMMCが内蔵され、ここに開発環境 (Ubuntu Linux)がインストールされます。デフォルト状態で大部分の領域が使われてしまっており、また、eMMCの寿命も気になる方も多いことと思います。そこで、外付けのUSB SSDに開発環境を移して、こちらから起動できるようにしてみたいと思います。

※正確には依然としてeMMCの/bootから起動していますが、rootfsをUSB SSDに移動していますので便宜上このようなタイトルにしています。

既に同様のことを考えて実行されている方が、ウェブ上に記事を公開して下さっていますので、参考にしましょう。Jetson TX1上に最新のJetPackは導入済みで、Jetson TX1上のUbuntu Linuxにログインできているものとします。

“Jetson TX1をUSB SSDから起動できるようにする” の続きを読む