#◆ はじめに
世の中の大半の人にとっては退屈極まりないネタのため、簡素に書き下そうと思います。
NCSDKがメジャーバージョンアップして3〜4ヶ月が経過したので、そろそろ安定したかな? という軽いノリで導入にチャレンジしました。
したら速攻でドップリ首まで沼につかってしまった、という話。
甘かった…。激甘でした…。
一発でうまくいった例しがないので。
Intel公式のインストール手順にのっとってそのままインストールを進めると、かなりの箇所でエラーが発生してまともにインストールができません。
v1.12.00
の頃とは、シェルスクリプトの動作が大きく変更されているようです。
もしかすると、 v2.05
固有の不具合かもしれません。
Intel非公式の手順ですので、自己責任でお願いします。
まともにインストールできなくて困っている方を救済することができれば嬉しいです。
Tome_at_Intel よ、早く修正してくれ。
#◆ 手順
英語ですが、一応、公式Forumにも投稿しておきました。
【その1】 Procedure for installing NCSDK v2.05.00.02 to RaspberryPi3(Raspbian Stretch)
【その2】 Procedure for "make examples" NCSDK v2.05.00.02 RaspberryPi3(Raspbian Stretch)/Ubuntu16.04
$ sudo apt update
$ sudo apt upgrade
$ sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE=100
↓
CONF_SWAPSIZE=2048
$ sudo /etc/init.d/dphys-swapfile restart swapon -s
$ sudo apt install python-pip python3-pip
$ cd ~
$ git clone -b ncsdk2 http://github.com/Movidius/ncsdk
$ cd ncsdk
$ nano ncsdk.conf
#MAKE_NJOBS=1
↓
MAKE_NJOBS=1
$ sudo apt install cython
$ sudo -H pip3 install cython
$ sudo -H pip3 install numpy
$ sudo -H pip3 install pillow
$ sudo pip3 uninstall tensorflow
$ cd ~
$ wget https://github.com/google/protobuf/releases/download/v3.5.1/protobuf-all-3.5.1.tar.gz
$ tar -zxvf protobuf-all-3.5.1.tar.gz
$ cd protobuf-3.5.1
$ ./configure
$ sudo make -j1
$ sudo make install
$ cd python
$ export LD_LIBRARY_PATH=../src/.libs
$ python3 setup.py build --cpp_implementation
$ python3 setup.py test --cpp_implementation
$ sudo python3 setup.py install --cpp_implementation
$ sudo ldconfig
$ protoc --version
$ cd ~
$ wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v1.8.0/tensorflow-1.8.0-cp35-none-linux_armv7l.whl
$ sudo pip3 install tensorflow-1.8.0-cp35-none-linux_armv7l.whl
$ rm tensorflow-1.8.0-cp35-none-linux_armv7l.whl
$ cd ncsdk
$ make install
$ cd ~
$ sudo apt install libjasper1 libcanberra-gtk0
$ wget https://github.com/PINTO0309/OpenCVonARMv7/raw/master/libopencv3_3.4.1-20180304.1_armhf.deb
$ sudo dpkg -i libopencv3_3.4.1-20180304.1_armhf.deb
$ rm libopencv3_3.4.1-20180304.1_armhf.deb
ココのタイミングでUSBポートにNeural Compute Stickを接続しておかないと、Fatalエラーでビルドが失敗する。
$ cd ncsdk
$ make examples -j1
$ sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE=2048
↓
CONF_SWAPSIZE=100
$ sudo /etc/init.d/dphys-swapfile restart swapon -s
#◆ まとめ
毎度のことながら、 Intelのスクリプトがヤブい感じですが、どうも、 Tensorflow 1.7.0
もかなり不安定なようです。
Githubに面倒くさそうな issue が挙がっていました。
テンソルフローをインポートするときの未定義シンボル
Undefined symbol when importing tensorflow #19331
#◆ 2018.10.13追記
公式フォーラムで騒ぎまくったおかげで、NCSDK v2.08.01 でインストール用スクリプトが一部改善されたようです。
Tensorflow 1.9.0 がデフォルトでインストールされます。
が、本日時点の最新は、Tensorflow 1.11.0 ですので、自分で最新版を導入しなおしたほうが良いです。
$ sudo pip2 install tensorflow --upgrade
$ sudo pip3 install tensorflow --upgrade