投稿

2月, 2016の投稿を表示しています

VMWare PlayerでIPv6通信

VMWare Playerで動かした仮想マシン上でIPv6通信を行った時のメモ。 VMWareのバージョン 7.1.0 build-2496824 仮想マシン1 Windows 7 仮想マシン2 Red Hat Enterprise Linux Server release 6.0 (Santiago) やったこと 仮想マシン1,2のping6 ホスト(Windows7)と仮想マシン1のping6 ホスト(Windows7)と仮想マシン2のping6 結果 仮想マシン1 => 2 へのping6 成功 仮想マシン2 => 1 へのping6 成功 ホスト=>仮想マシン1へのping6 成功 仮想マシン1=>ホストへのping6  失敗 ホスト=>仮想マシン2へのping6 成功 仮想マシン2=>ホストへのping6  失敗 何故かよくわからないが、仮想マシン=>ホストへのping6はUnreachableだった。 Wiresharkで見ていたところ、仮想マシンからNeighbor solicitationsが発行された後に ホストから応答があるはずのNeighbor advertisementsが出ていなかった。 Vmware Playerのせいなのか、設定が正しくないのかは不明。 なお、IPv4でのpingの場合は、上記の全経路で通信に成功した。 重要そうな設定 ネットワークアダプタの設定をHost-onlyにした時のみ、ping6が成功した。 BridgedやNATではダメだった。 仮想マシン上のFirewallは切っておいた。ホストはOFFにする権限がなかったので切っていない。 仮想マシン => ホストのping6が通らないのはこれが原因かもしれない。ただし仮想マシン間のping6は双方向で通るので、イマイチよくわからない。

HerokuでChainerを動かそうとして成功したときのメモ

ChainerをHerokuで動かして成功したのでそのメモ。 Google App Engineでは、GAEにプリインストールされているnumpyのバージョンや.soファイルを利用したpythonライブラリのデプロイ制限などのために上手く動かなかったが、Herokuでは無事に動いた。 1. Chainerのバージョンは1.5.1以降で Herokuでは基本的にpipでインストールできるものは、何でも利用できるようでGoogle App Engineよりも自由度が高い。 ただし、Herokuの環境ではlibhdf5-devなどのh5pyのインストールに必要な開発モジュールが入ってないようで、h5pyだけはインストールできなかった。 幸運なことに Chainer 1.5.1からはh5pyがオプショナル になっていたようで、これは大きな問題にならなかった。 githubを見ても特に変更の理由はわからないが、もしこのような事態を想定して変更してたのならば、開発者たちの慧眼は賞賛ものである。 2. その他の環境 下記のバージョンを利用。 Flask==0.10.1 numpy==1.9.2 six ==1.9.0 chainer==1.6.0 またデフォルトでは2系のpythonを3系に変更するためにruntime.txtに下記のように書く。なお、Chainerは2.7にも対応しているので、2系のままでもたぶん動くが未検証。 python-3.4.0 3. ソースコード Github参照。 動くものはこちら Chainerを使ったMNIST Handwitten Digit Classifier

Chainerを使ったMNIST Handwitten Digit Classifier

Chainerを使って手書き数字の認識器を作ってみた。 MNIST Handwritten digit classifier Herokuで動かしているが、学習自体は別の環境で行った。 ChanierはモデルのSerialize機能があるので、それをHerokuにデプロイして利用している。 マシンリソースがあまりないので、エポック数とか削ってしまったが、まあまあきちんと認識してくれてるような気がする。 ソースコードは Github を参照 html部分はこちらの ソースコード を流用させていただきました。