Windows10でCuda9.1+Chainer4.1の環境を最速で作る


はじめに

最近はライブラリ(特にPythonで)が充実していて、GPUを利用した機械学習が身近になってきていますが、Windowsでの環境構築はやはり難しいですね。
先日、研究室のWindowsマシンでCuda+Chainerの環境を作るのにかなり苦労したので、備忘録も兼ねて結論をまとめておきます。
もちろん、公式推奨のUbuntuやCentOSが圧倒的に楽です。本記事は「それでもWindowsを使いたい!」という方向けです。
また、情報の過不足があるかもしれませんので、発見された方はコメントでご指摘いただけると助かります。

バージョン情報

用意しておくもの
・NVIDIA社のGPUを搭載した対応マシン
・Windows 10
・Python 3.6
これからインストールするもの
・Visual Studio 2017
・Cuda Toolkit 9.1
・Chainer 4.1

Visual Studio 2017のインストール

Cudaを使うのにC++のコンパイラが必要です。必ずCudaの前にインストールしましょう。
こちらから、Visual Studio 2017(無料版のCommunityでよい)をダウンロードしてください。C++ Build Toolsだけで十分らしいのですが、私にはよくわかりませんでした。
インストーラを起動したら、「C++によるデスクトップ開発」にチェックを入れてインストールしてください。黄色でハイライトした辺りがインストールされればOKです。
*時間がかかります

インストールが終わったら、環境変数PATHを追加します。ビルド番号などは適宜変更してください。
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64

Cuda Toolkit 9.1のインストール

CudaはNVIDIA社のGPUを扱うためのプラットフォームです。
こちらからインストーラをダウンロードしてください。
最新版のCuda Toolkit 9.2はChainerが未対応のようなので、9.1をインストールします。インストールはそのまま指示に従えば大丈夫です。
*時間がかかります

インストールが終わったら、環境変数INCLUDEを追加します。ビルド番号などは適宜変更してください。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt

次に、GPU演算をサポートするライブラリであるCuPyをwheel(予めコンパイルされたバイナリファイル)でインストールします。このコマンドを実行してください。

$ pip install cupy-cuda91

wheelを使った場合cuDNNのダウンロードや面倒な設定は不要です。Cudaとのバージョンの整合性も保証されているので楽ですね。

Chainerをインストール

ChainerはPreferred Networks社が提供する深層学習ライブラリです。このコマンドを実行してください。

$ pip install chainer

無事インストールができれば成功です。レッツ・ディープラーニング。

参考文献

お世話になったリンク集です。
[1] Installation — Chainer 4.1.0 documentation
[2] Chainerのインストール方法をわかりやすく解説|Mac・Linux・Windows | 侍エンジニア塾ブログ | プログラミング入門者向け学習情報サイト
[3] Windows10でChainerをGPUで動かすまでメモ - うるはし
[4] Chainer v4 ビギナー向けチュートリアル - Qiita