AWSでGPUインスタンスを作る
ここを参考にした。場所はus-eastが安いがレイテンシが結構ある。
http://www.chino-js.com/ja/tech/rbm-theano-gpu-aws/
cuDNNのインストール
ここを参考にした。
http://qiita.com/pyr_revs/items/e1545e6f464b712517ed#chainer-with-cudnn
現時点では、cudnn-7.5-linux-x64-v5.0-ga.tgz
がよさそう。
5.1以上はKerasがサポートしてないというメッセージが出る。
Cudaのバージョンはnvcc -V
で確認できた。
必要そうなものをインストール
anacondaとkerasを入れる。
参考:データサイエンティストを目指す人のpython環境構築 2016 - Qiita
sudo yum -y install git
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv install anaconda3-4.0.0
pyenv rehash
pyenv global anaconda3-4.0.0
echo 'export PATH="$PYENV_ROOT/versions/anaconda3-2.5.0/bin/:$PATH"' >> ~/.bashrc
source ~/.bashrc
conda update conda
conda install seaborn
pip install keras
スクリプトと計算結果
この論文のAll-CNN-Cをやってみた http://arxiv.org/pdf/1412.6806.pdf
Notebookはこちら、
https://gist.github.com/juntaki/e50200c82d6f3a5143e7b206a0ab2451
g2.2xlargeで10エポックで30分程度でした。
結果は81%しか出ていない(論文では90%以上出ている)、もうちょっと試行錯誤が必要そう。
追記:Dropoutとdata augmentationを追加して、87%まで出せた。時間の都合で打ち切ったがもうちょっと回せばだいたい論文と同じくらいの結果になったかも。