# Chainer 環境構築 on Windows

NOTE

Conda, pipを使う方法があるが、pipを使う方法を紹介する。


# CUDA セットアップ

CUDA (opens new window) 参照。

TIP

インストールバージョン:v10.0


# cuDNN セットアップ

cuDNN (opens new window) 参照。

TIP

インストールバージョン:v7.6.5


# Chainer セットアップ

pipを使ってインストールしていく。

  1. chainer

    pip install chainer
    
  2. cython

    pip install cython
    
  3. cupy

    pip install cupy
    

    エラーが出た場合

    ここでは、CUDA v10.0をインストールしているため、cupy-cuda100をインストールする。(CUDA v10.1ならcupy-cuda101

    pip install cupy-cuda100
    

# 確認

正常にインストールが完了したかどうか確認する。

python -c "import chainer; print(chainer.print_runtime_info())"

以下のように出力されればOKです。

Result:

Platform: Windows-10-10.0.18362-SP0
Chainer: 6.3.0
NumPy: 1.17.0
CuPy:
  CuPy Version          : 6.3.0
  CUDA Root             : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
  CUDA Build Version    : 10000
  CUDA Driver Version   : 10020
  CUDA Runtime Version  : 10000
  cuDNN Build Version   : 7500
  cuDNN Version         : 7500
  NCCL Build Version    : None
  NCCL Runtime Version  : None
iDeep: Not Available
None

# MNISTデータセットで学習

# wget / tarコマンドが使える場合

公式 (opens new window)のQUICK STARTの手順通りに行う。

  • 準備
wget https://github.com/chainer/chainer/archive/v7.0.0.tar.gz
tar xzf v7.0.0.tar.gz
  • 実行
# GPUを使う場合 ↓
python chainer-7.0.0/examples/mnist/train_mnist.py -g 0
# GPUを使わない(CPUで実行する)場合 ↓
python chainer-7.0.0/examples/mnist/train_mnist.py

# tar / wgetコマンドが使えない場合

リポジトリをクローンする。

  • 準備
git clone https://github.com/chainer/chainer.git
  • 実行
# GPUを使う場合 ↓
python chainer/examples/mnist/train_mnist.py -g 0
# GPUを使わない(CPUで実行する)場合 ↓
python chainer/examples/mnist/train_mnist.py

# 実行結果

以下のような結果が得られれば動作している。

Device: @cupy:0
# unit: 1000
# Minibatch-size: 100
# epoch: 20
epoch       main/loss   validation/main/loss  main/accuracy  validation/main/accuracy  elapsed_time
1           0.191632    0.0950831             0.941883       0.9704                    4.69963
2           0.0771994   0.0796049             0.976599       0.9748                    7.92567
3           0.0482877   0.0874748             0.984499       0.9732                    11.0496
4           0.0363304   0.0625753             0.988149       0.9812                    14.1661
5           0.0284664   0.0728645             0.990615       0.9796                    17.2867
6           0.0214977   0.0798009             0.992732       0.9794                    20.4281
7           0.0191039   0.0960751             0.993232       0.9762                    23.6121
8           0.0180586   0.0771227             0.994199       0.9808                    26.7348
9           0.0179936   0.0677592             0.994366       0.983                     29.8622
10          0.0143063   0.0840138             0.995232       0.9827                    33.0116
11          0.0123983   0.094541              0.995965       0.9803                    36.1423
12          0.00992276  0.0880606             0.996715       0.982                     39.2505
13          0.0176931   0.0821423             0.994832       0.9826                    42.4323
14          0.0105682   0.0913891             0.996699       0.9817                    45.5528
15          0.00970983  0.115964              0.996898       0.9779                    48.7028
16          0.0137535   0.0958365             0.995916       0.982                     51.8466
17          0.00671267  0.0931605             0.997833       0.9822                    54.9746
18          0.00890205  0.119993              0.997666       0.9808                    58.1332
19          0.0105662   0.0977958             0.996766       0.9823                    61.2665
20          0.0102409   0.103924              0.996915       0.9837                    64.4324