"本記事は Tech-Circle#11 Chainer ハンズオン 参加にあたり、事前準備内容をまとめた記事です。
odashi_tさんのChainerとRNNと機械翻訳を基にしたハンズオンです。
Chainerの導入は1.4系にしてください。1.5系から仕様が変わったため、今回のハンズオンでは動作できない可能性があります。下記の手順にそっていただければ、Chainerはバージョンを固定しているので問題ありません。
ハンズオン用のリポジトリ
https://github.com/SnowMasaya/Chainer_Machine_Translation_ipython_notebook.git
参加者はTech-Circle開催当日までに以下をおねがいします。 (所要時間目安: 20~30分 Advanceな内容を除く)
ここにリンクを設定
①Git のインストール [必須]
以下の記事を参考にGitをインストールしてください。
用意したリファレンスアプリをコマンドベースでCloneなどするために利用します。
git clone https://github.com/SnowMasaya/Chainer_Machine_Translation_ipython_notebook.git
② Python環境の構築 [必須]
brew install
http://qiita.com/is0me/items/475fdbc4d770534f9ef1
Pyenvインストール
Virtualenvインストール
先ほどgit cloneしたフォルダに移動し下記コマンドを実行
pyenv install 3.4.1
pyenv rehash
pyenv local 3.4.1
virtualenv my_env
source my_env/bin/activate
Pythonのバージョン確認
python -V
pythonのバージョンが2のままで変わらない場合
virtualenv -p ~/.pyenv/versions/3.4.1/bin/python3.4 my_env
もしくは下記リンクを参考にしてpyenv + Virtualenvを導入する
または直接virtualenvをインストールする
pip install https://github.com/pypa/virtualenv/tarball/develop
③ Chainerのインストール
下記コマンドでvirtualenv上のpythonを有効化する
source my_env/bin/activate
下記コマンドを実行するとchainer及び必要なライブラリがインストールされます。
Chainerを既にインストールしている方はこの手法でローカルにインストールしたChainerを使用できるようにしてください。1.5系から仕様が変わったため、注意が必要です。
pip install -r requirement.txt
④ 実行環境確認
今回必要なライブラリがインストールされているかを確認します。
下記コマンドでipythonを立ち上げます。
ipython
ipythonシェルを実行した状態で下記のコマンドを順に入力し、ライブラリをインポートできるかを確認します。
ipython入力画面例:
from util.functions import trace
from util.chainer_cpu_wrapper import wrapper
from EncoderDecoderModel import EncoderDecoderModel
最後に下記コマンドでipython notebookが立ち上がることを確認します。
ipython notebook
ブラウザ上に立ち上がったipython notebookページの下記ファイルをクリックして下記のようなページが出れば準備完了です。
machine_translation.ipynb
Advanced内容
Advancedな内容も行いたい人は事前準備は必須です。ハンズオン時間には終わりません。
必要なライブラリのインストール
boostのインストール
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.zip
*注意
Macでwget
をインストールしていない方は下記で予めインストールしておいて下さい。
brew install wget
Boostインストール
ダウンロードしたBoostのフォルダに移動して、下記のコマンドを実行
./bootstrap.sh
下記のコマンドを実行するとbuildが始まりますが、時間が非常にかかります。直前に準備している方は諦めましょう。
sudo ./b2 install -j4 –prefix=インストールしたいフォルダ
翻訳評価用ツール
git clone で翻訳結果を評価できるライブラリをダウンロードしてください。
git clone https://github.com/odashi/mteval.git
下記のライブラリが入っていればインストール可能です。Boostだけ時間がかかるので別に記述しました。
GCC 4.7 or later
Boost 1.49 or later
autotools
Mac にGCCをインストールする場合
Mac にautotoolsをインストールする場合
Linuxにautotoolsをインストールする場合
autotools
の導入の前にm4
を導入する必要あり
ただしバージョンが1.4.16
以降でないとダメ
autoreconfが導入されていない場合は下記でインストール
yum install autoconf
yum install automake
yum install libtool
下記のコマンドで翻訳の評価用ツールのインストール可能
$ cd /path/to/mteval
$ autoreconf -i
$ ./configure
$ make
$ (sudo) make install
補足 トラブルシューティング
Mac でPyenvインストール時にはまった場合
MacでPyenv インストールでerror: failed to download readline
が出た時
``
bash brew install readline; brew link readline; pyenv install 3.4.1
MacでPyenv インストールで`ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?`が出た時
https://github.com/yyuu/pyenv/wiki/Common-build-problems
MacでPyenv インストールで`zipimport.ZipImportError: can't decompress data; zlib not available`が出た時
xcode-select --install
CFLAGS="-I$(brew --prefix openssl)/include" LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install -v 3.4.1
ipython で下記のエラーが出たとき
`IPython Notebook error: Unsupported JSON nbformat`
http://codeyarns.com/2015/07/01/ipython-notebook-error-unsupported-json-nbformat/
m4 install時に下記のエラーが出た場合
./stdio.h:478:1: error: 'gets' undeclared here (not in a function)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
対応方法
http://linuxtips.wiki.fc2.com/wiki/Mindmap
`autotools`のインストール時に下記のようなエラーがでた場合、
Can't locate Data/Dumper.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at
下記をインストールすれば良い
yum install perl-Data-Dumper
[memo]Fedora19にMySQL-5.6.14-1をインストールする
http://d.hatena.ne.jp/bravewood/20131022