WindowsでChainerのGPU版MNISTサンプルを動かすまで【cuda 7.5】
日本発のディープラーニングフレームワークであるChainerを64ビットWindowsにインストールしてGPU版MNIST手書き文字認識サンプルを動かすところまでを解説します。 Chainer自体のインストールはとっても楽ですが、GPUで使おうとすると結構はまります。
手順
1. 64bit版 Python2.7のインストール (標準でpipもついてくる)
Windows x86-64 MSI installerを選択します。
Pythonとpipに対してパスを通すオプションをチェックしつつ、インストーラにしたがってPython2.7をインストールします。
32bitのPythonでGPU版のサンプルを動かすと、以下のエラーが出力されて動かない模様。
RuntimeError: CUDA environment is not correctly set up. library not found. ['cublas64_75.dll', 'cublas64_70.dll', 'cublas64_65.dll']
2. numpy64bit版のインストール
Pythonが64bit版の場合、numpyも64bit版の必要があります。しかし、公式ではサポートされていません。そこで、numpyを手動でインストールします。 といってもpipでファイルを指定するだけなので簡単です。
まず以下のリンクからnumpy‑1.10.1+mkl‑cp27‑none‑win_amd64.whlを選択してダウンロードします。
Windows PowerShellを起動し、ダウンロードしたディレクトリに移動して以下のコマンドを実行してインストールします。 すでにnumpyがインストールされている場合はまず pip uninstall numpy しましょう。
> pip install numpy‑1.10.1+mkl‑cp27‑none‑win_amd64.whl
pipの使い方は以下を参照
非公式のpython binariesは以下のリンクに一覧があります。必要になったら適宜ダウンロードします。
3. Chainerのインストール
Chainer本体は以下の一行でインストールできます。楽チン!
> pip install chainer
> python -c 'import chainer'
でエラーがでなければ、ひとまずChainerのインストールは完了です。
4. CPU版のサンプルを動かしてみる
まだGPUは使えませんが、とりあえずMNIST手書き文字認識のサンプルを動かしてみましょう。 サンプルコードが入った公式のレポジトリをgitを使ってダウンロードします。
gitをまだインストールしてなかったら、以下のリンクからインストーラをダウンロードしてインストールします。
mnistのデータベースなどカレントディレクトリにいろいろダウンロードされるので、フォルダを分けるといいかもしれません。
> mkdir testChainer > cd testChainer > git clone https://github.com/pfnet/chainer > python .\chainer\examples\mnist\train_mnist.py load MNIST dataset Downloading train-images-idx3-ubyte.gz... Done Downloading train-labels-idx1-ubyte.gz... Done Downloading t10k-images-idx3-ubyte.gz... Done Downloading t10k-labels-idx1-ubyte.gz... Done Converting training data... Done Converting test data... Done Save output... Done Convert completed ('epoch', 1) graph generated train mean loss=0.282554616562, accuracy=0.911750001175 test mean loss=0.118135776068, accuracy=0.963700003028 ……
うまく動きましたか。しかし、CPUオンリーなので遅いです。
これからGPUで動かせるようにしましょう。数倍は高速になります。
> python .\chainer\examples\mnist\train_mnist.py --gpu 0
とすれば、GPU版が実行できますが、cudaのエラーがでるはずです。
5. Visual Studio 2013 Communityのインストール
CUDAをインストールするまえに、VisualStudioのインストールが必要です。
Visual Studio 2015やVisual Studio ExpressはCUDAがサポートしてません。
以下のページにサポートされているVisualStudioのバージョンが載っています。
Visual Studio 2013 Communityがいいと思います。
以下のリンク左の列から、Visual Studio 2013を選択してインストールします。
6. CUDAのインストール
以下のリンクから、自分の環境にあったインストーラをダウンロードして、インストールします。
サポートされているVisual Studioがインストールされていない場合、途中で、"No supported version of Visual Studio was found"と言われます。 オプションは推奨設定(高速)で問題ないかと思います。
7. GPU版のサンプルを動かす
CUDAのインストールができたら、コンピュータを再起動します。
GPUを有効にするにはもう一度Chainerをインストールしなおす必要があります。
> pip uninstall chainer > pip install chainer
その後、先ほどのフォルダで、以下を実行してGPU版を試してみましょう。
> python .\chainer\examples\mnist\train_mnist.py --gpu 0 load MNIST dataset ('epoch', 1) kern.cu graph generated train mean loss=0.276942837443, accuracy=0.914166669864 test mean loss=0.109787774638, accuracy=0.963800002337 ……
無事実行できましたか? GPUはやいですね〜。