chainerで自然言語処理できるかマン

chainerで自然言語処理を勉強していくブログ

windowsで開発環境を整える(cudnn導入)

cudnnを入れます。

cudnnのインストール

Please reinstall chainer after you install cudnn

と出ていたので、cudnnを入れたいです。

NVIDIA cuDNN – GPU Accelerated Deep Learning | NVIDIA Developer
からダウンロードしたいが、その前に申請が必要らしく、↑のページのRegisterから登録申請。
数日待ってメールが来たら、ダウンロードできるようになるようです。

ページを進めて、「cuDNN v3 Library for Windows」からzipファイルをダウンロード。
(面倒なので、)解凍したファイルをインストールした「NVIDIA GPU Computing Toolkit/」以下に手動でコピーしてしまいます。

これで終了。

chainerのリビルド

anaconda promptを開いて、

$ activate py34
$ cd chainerを置いてる場所
$ python setup.py install

確認

$ python examples\mnist\train_mnist.py --gpu=0
load MNIST dataset
epoch 1
kern.cu
graph generated
train mean loss=0.1948567812796682, accuracy=0.9418333357013762
test  mean loss=0.09421748955908697, accuracy=0.9709000051021576
...
epoch 20
train mean loss=0.006696289535010464, accuracy=0.998050001859665
test  mean loss=0.11188006146020016, accuracy=0.9816000056266785
save the model
save the optimizer

エラーなく実行できました。

windowsで開発環境を整える

環境を整えます。
Windows 8.1+VisualStudio Community 2013+CUDA 7.0+Anaconda環境+chainer 1.5.0.2。

chainer-1.5系からいろいろ内部処理が変わったらしいですね。

CUDA環境

ダウンロード | Visual Studio から、Visual Studio Community 2013をダウンロード。
2015はまだCUDA側が対応してくれていないので、入れても使えない。

次にCUDA。 CUDA 7.0 Downloads | NVIDIA Developer から、7.0をダウンロード&インストール。

環境変数のpathに

C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;

を追加しておく。

Python環境

Anaconda3 2.4.0(64-bit)を入れてみる。
Download Anaconda now! | Continuum からダウンロードしたexeファイルを実行して、インストール。

スタートボタンからインストールした「Anaconda Prompt」を起動し、以下を実行。(だいぶ時間かかる)

($ conda update conda)
($ conda update anaconda)

$ conda create -n py34 python=3.4 anaconda
$ activate py34

あと、nvccコマンド、clコマンドがたたけるか見ておく。

Chainerのインストール

なぜかpip install chainerではうまくいかなかったので、
pfnet/chainer · GitHub
から持ってきて展開。

$ set VS100COMNTOOLS=%VS120COMNTOOLS%
$ python setup.py install

でインストールした。

$ python
>>> import chainer
>>> print(chainer.__version__)
1.5.0.2

動作確認

examplesのmnist。

CPUで実行

$ python examples\mnist\train_mnist.py
load MNIST dataset
...
epoch 20
train mean loss=0.010162576140643295, accuracy=0.9970833361148834
test  mean loss=0.10763888746214106, accuracy=0.9816000080108642
save the model
save the optimizer

GPUで実行

$ python examples\mnist\train_mnist.py --gpu 0
load MNIST dataset
~chainer\cuda.py:85: UserWarning: cuDNN is not enabled.
Please reinstall chainer after you install cudnn
(see https://github.com/pfnet/chainer#installation).
  'cuDNN is not enabled.\n'
epoch 1
kern.cu
graph generated
...
epoch 20
train mean loss=0.006385540859307449, accuracy=0.9980000019073486
test  mean loss=0.09921871353388238, accuracy=0.983600006699562
save the model
save the optimizer

cuDNNをいれていないけど、とりあえずサンプルは動いたのでよさそう。 cuDNNは、登録してしばらく時間がたたないとダウンロードできないそうなので、あとでいれたい。

メモ

  • VisualStudio Community2015はCUDAが対応していないのでまだ使えない
  • python3.5がVS2015でビルドされているっぽいが、そうなるとAnaconda3/Lib/distutils/_msvccompiler.py的に少なくともそれ以降を要求するみたいで、「No suitable Visual C++ version found」になってしまうっぽい

参考