2017年4月21日金曜日

Windows10 にROSをインストール

Window10にBashが入るとのこと。前から聞いていたが、これでDOS窓でlsと打って、dirと打ちなおす20年近く続いた日々が終わる。嗚呼・・・、俺って確かMS-DOS3.3からやってたんだなー。まぁ、思い出話はさておき本題へ。

Bashがはいるので、それの応用でROSをインストールした人がいるので早速やってみる。

1.Windows Update
Bashを使えるようにするためには、Windows10 Version1602以降でないといけないので、自分のバージョンを確認して、足りない場合にはUpdate。因みに私は、何故かUpdateできなかったのでMicrosoftから直接アップデート用のインストーラーを落としてきて強制Updateする羽目になった。なんでだろ?

2.Bashを使えるようにする。
・Windowsキーを右クリック。「プログラムと機能」を立ち上げる。
・Windowsの機能の有効化または無効化を選択
・Windows Subsystem for Linux (Beta)にチェックを入れてOK
・メニューのWindowsシステムツールの中にある、コマンドプロンプトを立ち上げる。
・Bashと打ち込むとインストールスタート。途中にnameとパスワードを聞かれる。
終了!!

3.ROSのインストール
Windwos10 のBashには通常のインストールではROSが入らない。困った。ってことで困ったときにはGoogleさん。最初にインストールできた先達の人の記述を見ると、ソースインストールが必要とのこと。
http://wiki.ros.org/indigo/Installation/Source
のInstruction通りにインストールしてみる。
sudo apt-get install python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential
Desktop-Full Install: ROS, rqtrviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception
$ rosinstall_generator desktop_full --rosdistro indigo --deps --wet-only --tar > indigo-desktop-full-wet.rosinstall
$ wstool init -j8 src indigo-desktop-full-wet.rosinstall

Resolving Dependencies

$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y

Building the catkin Workspace

下のコマンドを打ち込むと、途中でErrorがでる。gazeboが見つからないらしい。そこで先にインストールしてから実行。
$ curl -ssL http://get.gazebosim.org | sh
$ ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
$ source ~/ros_catkin_ws/install_isolated/setup.bash
Update the workspace
$ mv -i indigo-desktop-full-wet.rosinstall indigo-desktop-full-wet.rosinstall.old
$ rosinstall_generator desktop_full --rosdistro indigo --deps --wet-only --tar > indigo-desktop-full-wet.rosinstall
$ diff -u indigo-desktop-full-wet.rosinstall indigo-desktop-full-wet.rosinstall.old
$ wstool merge -t src indigo-desktop-full-wet.rosinstall
$ wstool update -t src

Rebuild your workspace

$ ./src/catkin/bin/catkin_make_isolated --install
$ source ~/ros_catkin_ws/install_isolated/setup.bash
bashの最後に「~/ros_catkin_ws/install_isolated/setup.bash」も追加しておく。

4.チェック
インストールできたかチェック。
roscore
を使って問題なければ終了。

次からはXwindowを使って機能を確認していく。

Ref
http://answers.ros.org/question/238646/installing-ros-on-ubuntu-bash-in-windows-10/
http://wiki.ros.org/indigo/Installation/Source

2017年4月16日日曜日

Network binarization 関連文書集

最近、Deeplearningの高速化とメモリ節約では、Network binarizationが流行っているみたい。これを応用して、FPGAへの展開なんかもやられていて、組み込みへの応用はこの技術が中心になるんだろうな。ってことで、元論文は2つ。日本語で解説がいくつかやっている人達がいましたので、それらのリンク。
よく考えるなー。すごいもんだ。

元論文
・Binarized Neural Networks: Training Neural Networks withWeights and Activations Constrained to +1 or -1
・XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks


BinaryNetとBinarized Deep Neural Network
https://tkng.org/b/2016/02/12/binarynet-and-binarized-neural-network/

[Survey]Binarized Neural Networks: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1
http://qiita.com/supersaiakujin/items/81719e49a50a3fb653e8

binary_net by chainer
https://github.com/hillbig/binary_net

XNOR-Netが二値化ニューラルネットの性能を大きく改善する
https://tkng.org/b/2016/03/28/xnor-network/

[Survey]XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks
http://qiita.com/supersaiakujin/items/6adaf9731c9475891911

ついでにこれに使われている、Quantizing parameters(量子化パラメータ)について勉強リンク(続けてよんでいないので、関連ないかも)
https://www.jstage.jst.go.jp/article/itej/67/2/67_136/_pdf
http://www.elwsc.co.jp/page.jsp?id=1953


http://www.nnet.ne.jp/~hi6/lab/quantize/