RNNLIB 処方箋
Gravesさんが開発したRecurrent Neural Network用のライブラリ
RNNLIB
コンパイルが意外と面倒なので覚え書き
まずは依存関係を満たしてやらなくてはいけない。
引用はじめ
- A modern C++ compiler (e.g. gcc 3.0 or higher)
- GNU Libtool
- GNU automake version 1.9
(NOTE: will not work with version 1.10) - NetCDF scientific data
library - Boost C++ Libraries version 1.36 or higher
(headers only, no compilation needed.)
scripts in the ‘utils’ directory:
with python, and to run the experiments in the ‘examples’ directory:
- ScientificPython
(NOT Scipy) - netCDF Operator
引用おわり
結構ある。。。
automakeのバージョンをドキュメントにあるように1.9にすることに注意した方がいい(読み飛ばしてた)。
あとNCOのコンパイルするときにも引っかかったこととして
docのコンパイルがうまいこと通らない。
どうせdocだし、通らないなら通さなくてもいい式でコメントアウトしてmakeをむりくり通す。[1]
netcdfにはcとc++があるけど、両方共必要みたい。
c++をコンパイルするためにcも必要。
netcdf-cxxは4.2でないと怒られた。(4.2.1だとダメだった)[2]
ScientificPythonはpipで入らなそうなので、ソースを落としてきてpython setup.py install
−−−
RNNLIBのコンパイル
gcc のバージョンが低かったり高かったりするとコンパイルが通らないらしい。
原因ははっきりしているっぽいので、手動でパッチをあてればgccがあたらしすぎてもコンパイルできるらしいが、いまいちよくわからないのでおとなしくコンパイラのバージョンを合わせる。
4.7なら問題ないらしい。[3]
Ubuntuでコンパイルした時はデフォルトのバージョンが4.8で困ったが、今回macで試そうとしたらデフォルトが4.2でした。低すぎて引っかかった。
brew install gcc47
resize
を
this->resize
に変えるのと
テンプレートの宣言を上がわに置き直してやるとコンパイルが通る。[3]
(Issueをみるとこれはgccを4.7にしたら解決そうなものだけど。。。)
付録のexampleを実行するときは
rnnlib/utilsをPYTHONPATHに追加することを忘れないようにする。
[1] http://sourceforge.net/p/nco/discussion/9830/thread/a233a29d/
[2] http://sourceforge.net/p/rnnl/discussion/1183966/thread/3e210918/
[3] http://sourceforge.net/p/rnnl/discussion/1183966/thread/84f2025b/