Pylearn2のインストール(OS:Mac10.9 Marvericks)
Sponsored Links
皆さんこんにちは
お元気ですか。私は元気です。
今日はPythonを使ってDeepLearningを動かすpylearn2をインストールしてみました。なかなか手こずりました
事前準備
さて、事前にインストールしなければいけないソフトウェアが5つあります。
- PIL
- PyYAML
- IPython
- Cython
- Theano
基本的に全てpipを利用してインストールすることができます
sudo pip install PIL PyYAML IPython Cython
但しTheanoのみ以下のコマンドを実行してください。
pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git
念のため、以下のコマンドで確認してください。
import theano
(因みにコンパイルはclangではなく、gccを使ってます)
Pylearn2
さて、pylearn2をインストール
git clone git://github.com/lisa-lab/pylearn2.git
cd pylearn2
python setup.py develop
実行
データセットの構築
gitのpylearn2で実行してください
cd pylearn2/pylearn2/scripts/tutorials/grbm_smd/
python make_dataset.py
今回はCIFAR-10 and CIFAR-100 datasetsを使ってみようと思います。
以下のような形式になるようにディレクトリを組んでもらえればと思います。
/data/lisa/data/cifar10/cifar-10-batches-py/
ちなみにディレクトリの設定ですが、以下のように設定すると確認にいきます。
export PYLEARN2_DATA_PATH=/data/lisa/data source ~/.bashrc source ~/.bash_profile
と実行してください。
プログラムの実行ですがなんだかよくわかりませんがgrbm_smdを動かしてみましょう。
pylearn2/pylearn2/scripts/tutorials/grbm_smd python make_dataset.py
実行
export PATH=~/pylearn2/pylearn2/scripts:$PATH source ~/.bashrc source ~/.bash_profile train.py cifar_grbm_smd.yaml
こんな感じに出れば成功です
Monitored channels: bias_hid_max bias_hid_mean bias_hid_min bias_vis_max bias_vis_mean bias_vis_min h_max h_mean h_min learning_rate objective reconstruction_error total_seconds_last_epoch training_seconds_this_epoch Compiling accum... graph size: 83 Compiling accum done. Time elapsed: 0.698632 seconds Monitoring step: Epochs seen: 0 Batches seen: 0 Examples seen: 0 bias_hid_max: -2.0 bias_hid_mean: -2.0 bias_hid_min: -2.0 bias_vis_max: 0.0 bias_vis_mean: 0.0 bias_vis_min: 0.0 h_max: 8.27473617422e-05 h_mean: 1.7428911719e-05 h_min: 9.55461232102e-06 learning_rate: 0.1 objective: 14.4270006967 reconstruction_error: 70.9169792104 total_seconds_last_epoch: 0.0 training_seconds_this_epoch: 0.0
可視化
学習したものを可視化してみます。
export PYLEARN2_VIEWER_COMMAND="open -Wn" source ~/.bashrc source ~/.bash_profile
プログラムの実行は以下の通りです。
成功していると可視化画像が出てきます。
python show_weights.py cifar_grbm_smd.pkl
Theanoのインストールでバグる方へ
以下のようなエラーが出る人用
Exception: Compilation failed (return status=1): /Users/Tereka/.theano/compiledir_Darwin-13.1.0-x86_64-i386-64bit-i386-2.7.5-64/lazylinker_ext/mod.cpp:960:1: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]. };. ^. /Users/Tereka/.theano/compiledir_Darwin-13.1.0-x86_64-i386-64bit-i386-2.7.5-64/lazylinker_ext/mod.cpp:960:1: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]. /var/folders/gd/q82b676513d5mfmcp7lzg3zh0000gn/T//cci5H16J.s:30:no such instruction: `vcvtsi2sdq %rax, %xmm1,%xmm1'. /var/folders/gd/q82b676513d5mfmcp7lzg3zh0000gn/T//cci5H16J.s:33:no such instruction: `vcvtsi2sd %eax, %xmm2,%xmm2'. /var/folders/gd/q82b676513d5mfmcp7lzg3zh0000gn/T//cci5H16J.s:34:no such instruction: `vmovd %xmm2, %rax'. /var/folders/gd/q82b676513d5mfmcp7lzg3zh0000gn/T//cci5H16J.s:36:no such instruction: `vmovd %rax, %xmm3'. /var/folders/gd/q82b676513d5mfmcp7lzg3zh0000gn/T//cci5H16J.s:37:no such instruction: `vmovd %rdx, %xmm4'. /var/folders/gd/q82b676513d5mfmcp7lzg3zh0000gn/T//cci5H16J.s:38:no such instruction: `vdivsd %xmm4, %xmm3,%xmm0'. /var/folders/gd/q82b676513d5mfmcp7lzg3zh0000gn/T//cci5H16J.s:39:no such instruction: `vaddsd %xmm0, %xmm1,%xmm5'.
解決策
vim ~/.theanorc #以下のように記載 [gcc] cxxflags=-march=corei7