"本記事は 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をインストールしてください。
用意したリファレンスアプリをコマンドベースでCloneなどするために利用します。
git clone https://github.com/SnowMasaya/Chainer_Machine_Translation_ipython_notebook.git
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
下記コマンドで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