Chainer ハンズオン ～事前準備編～ [Tech-Circle#8]

"本記事は Tech-Circle#8 Chainer ハンズオン 参加にあたり、事前準備内容をまとめた記事です。

ハンズオン用のリポジトリ

https://github.com/SnowMasaya/Chainer-with-Neural-Networks-Language-model-Hands-on.git

## <i class="fa fa-cube" style="font-size:1em;"></i> 参加者はTech-Circle開催当日までに以下をおねがいします。 （所要時間目安: 20～30分）

ここにリンクを設定

* <A HREF=#①Git のインストール [必須]>① Git のインストール [必須]</A>
* <A HREF=#② Python環境の構築 [必須]>② Python環境の構築 [必須]</A>
* <A HREF=#③ Chainerのインストール [必須]>③ Chainerのインストール [必須]</A>
* <A HREF=#④ 実行環境確認>④ 実行環境確認</A>


###<A NAME=①Git のインストール [必須] /> ①Git のインストール [必須]

以下の記事を参考にGitをインストールしてください。
用意したリファレンスアプリをコマンドベースでCloneなどするために利用します。

 [Git - Gitのインストール](https://git-scm.com/book/ja/v1/%E4%BD%BF%E3%81%84%E5%A7%8B%E3%82%81%E3%82%8B-Git%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB "Git - Gitのインストール")

```
git clone https://github.com/SnowMasaya/Chainer-with-Neural-Networks-Language-model-Hands-on.git
```

###<A NAME=② Python環境の構築 [必須] /> ② Python環境の構築 [必須]

brew install
http://qiita.com/is0me/items/475fdbc4d770534f9ef1

Pyenvインストール

https://github.com/yyuu/pyenv

Virtualenvインストール

https://virtualenv.pypa.io/en/latest/installation.html

先ほど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を導入する

http://qiita.com/maosanhioro/items/47a52f96fefba7126f9b

または直接virtualenvをインストールする

```
pip install https://github.com/pypa/virtualenv/tarball/develop
```

###<A NAME=③ Chainerのインストール [必須] /> ③ Chainerのインストール 

下記コマンドを実行するとchainer及び必要なライブラリがインストールされます。

```
pip install -r requirement.txt
```

###<A NAME=④ 実行環境確認 /> ④ 実行環境確認

今回必要なライブラリがインストールされているかを確認します。
下記コマンドでipythonを立ち上げます。

```
ipython
```

ipythonシェルを実行した状態で下記のコマンドを順に入力し、ライブラリをインポートできるかを確認します。

ipython入力画面例：

![Screen Shot 2015-09-24 at 13.12.34.png](https://qiita-image-store.s3.amazonaws.com/0/10496/078abeca-b170-e5b2-902c-caa54eb40446.png)


```
import math
import sys
import time

import numpy as np
import six

import chainer
from chainer import cuda
import chainer.functions as F
from chainer import optimizers
```

最後に下記コマンドでipython notebookが立ち上がることを確認します。

```
ipython notebook
```

ブラウザ上に立ち上がったipython notebookページの下記ファイルをクリックして下記のようなページが出れば準備完了です。

```
chainer-natual-language-processing.ipynb
```
![Screen Shot 2015-09-14 at 8.07.10.jpg](https://qiita-image-store.s3.amazonaws.com/0/10496/25445fea-7f67-452e-3cc4-0eac29ad1f50.jpeg)

#補足　トラブルシューティング

Mac でPyenvインストール時にはまった場合

http://dackdive.hateblo.jp/entry/2014/08/16/222546

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/