はじめに
近年話題のDeepLearning。CaffeやTensorFlowなど様々なフレームワークがありますが、私はもっぱらChainer派です。
普段はUbuntu14.04を使用しているのですが、先日Windowsマシン上でChainerを扱わなければならないことが有り、Ubuntuの時のようにスムーズにChainerが導入できず、かなり手間取ってしまいました。
レアケースだとは思うのですが、引っかかったところとその解決方法をまとめてみました。
環境
- Windows 10
- Python 2.7
PythonやGitの導入に関しては割愛させていただきます。
ちなみにCPU環境だったのでCUDA等に関しては説明できません。
引っかかったところ
モジュールが入らない!
chainerはnumpy, scipy, h5pyの3つがインストールされていなければ、インストールできないようです。
これらのモジュールをインストールする際に、いきなり「pip install numpy」のようにしてもインストールできません。
どうやらwhlというコンパイル済みのファイルからインストールする必要があるようです。
こちらのサイトに様々なwhlファイルがありますので、こちらからダウンロードしましょう。必要なwhlファイルをダウンロードしたら、そのファイルを使ってpip installします。下記はnumpyの例です。
cd [whlファイルがあるディレクトリ]
pip install numpy-1.11.1+mkl-cp27-cp27m-win_amd64.whl
scipy, h5pyも同様にwhlファイルからインストールしましょう。
※プロキシ環境の場合
$ pip install [モジュール名] --proxy=[user]@[proxy]:[port]
chainerのwhlファイルがない!
さて、先ほどのサイトですがchainerのwhlファイルはありません。(2016/06/30現在)
なのでGitHubからコードをcloneして、ビルドしましょう。
$ git clone https://github.com/pfnet/chainer.git
$ cd chainer
$ python setup.py install
setup.pyの実行が途中で止まってしまう
エラーメッセージにも出てくると思いますが、Visual Studio C++が必要みたいです
ここからダウンロードしてインストールしましょう
確認
これでやっとインストールできるはずです。
ちゃんとChainerがインストールできたか確認する為、ExampleのMNISTの認識をしてみましょう。
git cloneしてきたディレクトリで下記を実行してみてください。
$ python examples/mnist/train_mnist.py
GPU: -1
# unit: 1000
# Minibatch-size: 100
# epoch: 20
Network type: simple
load MNIST dataset
epoch 1
graph generated
train mean loss=0.190369202715, accuracy=0.941016668603, throughput=994.727940618 images/sec
test mean loss=0.0899474363861, accuracy=0.970900004506
epoch 2
・
・
・
CPU環境なので私は10分くらいかかりました
おわりに
Windows10にbashが導入されるらしいですので、今後はこのように面倒な手順を踏まなくても良くなると思います。
「導入されるまで待てない!」という方は今回の方法を試してみてください。