Chainerは、1.5からCython、h5pyへ依存するようになりました。Windowsへのインストール方法は2日目の記事(Chainer1.5.0をWindowsにインストールする)で書かれているのですが、皆様がもっと簡単にWindows上でまともにChainerを使えるようにいくつか補足を加えたいと思います。
この内容には間違いが含まれている可能性があります。気付き次第更新します。動作報告歓迎です。コメントによろしくお願いします
注意:2015/12/10日現在、Chainer(v1.5.1)は公式にはWindowsをサポートしていません。 git cloneしてnosetestを実行すると、いろいろな機能が実は動いていないという現実を知ることができるかと思います・・・。
全体の流れ
- Windowsの準備
- 64bit Windows環境と新しめのNVIDIAのGPUを用意する(オプション:CUDAを使いたい場合)
- Pythonの準備
- Anacondaをインストール
- コンパイラの準備
- Microsoft Visual C++ Compiler for Python 2.7をインストール(Python2を使いたい場合)
- Visual Studio Community 2013をインストール(CUDA、Python3.4を使いたい場合)
- Visual Studio Community 2015をインストール(Python3.5を使いたい場合)
- CUDAの準備(オプション)
- CUDA Toolkitをインストールする(本記事では7.5が入っているものとする)
- cuDNNをインストールする(オプション)
- Chainerの準備
-
pip install chainer
する - 確認方法
-
python -c "import chainer"
Chainerのテスト -
python -c "import cupy"
CUDAのテスト(オプション) -
python -c "import cupy.cudnn"
cuDNNのテスト(オプション)
どんなPython環境を選べばいいか?
まず、CUDAは7.0から64bitのみのサポートとなっています。Chainer+CUDA環境としたい場合は、Pythonは64bit版を使ってください。CPUのみの場合はどちらでもいいです。Chainer1.5から依存パッケージとなったh5pyは64bit Python上でのインストールが少々面倒です。その他いろいろな事情を考慮すると、AnacondaのPython2.7の64bit版を使うのがベストとなります。Python2.7、3.4はどちらも使えるので好みで選んで頂ければと思います(3.5は筆者は未確認)。
標準のPythonを使いたい場合はこちらで配布されているパッケージを使うなどの方法があるようです。特に、64bitかつ非Anaconda環境の場合はChainerインストール前にh5pyを必ずインストールをしておいてください。
cygwin上でのChainer動作は現在のところ確認できていないです・・・・。
コンパイラの準備
コンパイラの準備で楽をしたい人はPython2系を使うとちょっと幸せになれます・・・。
Python2.7を使いたい場合
Python2.7の場合はMicrosoft Visual C++ Compiler for Python 2.7をインストールしてください。Pythonはレジストリからこのコンパイラを見つけるので、環境変数等の設定は不要です
Python3.4を使いたい場合
Python3系はバージョンによって必要なVisual Studioのバージョンが異なります。ですが、新しいVisual Studioがインストールされていれば、環境変数の設定でこの仕様を回避できます。ここでは、CUDAインストール時の手間を考えて同じものを用意します。両方で利用可能なコンパイラはVisual Studio Community 2013です。Microsoftのサイトは時々アドレスが変わるので、リンクが切れている場合は探してください(もしくは適切なコンパイラを用意してください)。
VS2013 Communityを入れた場合は環境変数の設定が必要です。pip install
の前にset VS100COMNTOOLS=%VS120COMNTOOLS%
を毎回実行するか、環境変数を設定してください。
Python3.5を使いたい場合(未確認手順)
Visual Studio Community 2015がです。インストールするだけで使えるようになります。
CUDAを使いたい場合(オプション)
Visual Studioのコンパイラが必要です。新しすぎるとCUDAのコンパイラnvccがちゃんと動いてれないのでマニュアルを見て適切なバージョンを使ってください。この記事ではCUDA7.5を使っているものとして話を進めます。
Python3.4と同じくVisual Studio Community 2013をインストールしてください。
環境変数PATHにC:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
を追加してください。
CUDAのインストール(オプション)
Chainerを使うからにはCUDAを使わないともったいないです。NVIDIAのサイトからCUDA Toolkitをダウンロードしてインストールしてください。
cuDNN(オプション)
cuDNNはNNに必要な計算を高速かつ省メモリでこなしてくれるライブラリです。ぜひインストールしましょう。cuDNNでユーザー登録を行って数日するとダウンロードできるようになります。今すぐChainerを使いたい人はこの手順を飛ばしてください。cuDNNをインストール後にはChainerの再インストールが必要となります、注意してください(pip unisntall chainer
後にpip install chainer
)。
cuDNNを無事ダウンロードできた人は、展開したファイルをC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
に上書きしてください。cuDNNv3の場合、cudnn64_70.dll
がCUDA\v7.5\bin
フォルダに、cudnn.h
がCUDA\v7.5\include
フォルダにcudnn.lib
がCUDA\v7.5\lib\x64
に入っていれば大丈夫です。
CUDAの確認
コマンドラインを立ち上げて、nvcc
コマンドが使えるか確認してください。
Chainerのインストール
では、Chainerをインストールしましょう。
pip install chainer
インストールできない場合や、各種モジュールが正しくインストールできなかった場合は下のコマンドを利用してください。
pip install -U chainer -vvvv
また、cython、pip、setuptoolsが古い場合は無限ループが発生するなどの現象が確認されています。それらのライブラリを最新のバージョンにして試してみてください。
確認方法
以下のコマンドを実行してエラーが発生せずにimportができるかを確認してください。
-
python -c "import chainer"
Chainerのテスト -
python -c "import cupy"
CUDAのテスト(オプション) -
python -c "import cupy.cudnn"
cuDNNのテスト(オプション)
cupyのインポートに失敗する場合は、以下のテストをもう一度してみてください。
-
nvcc
nvccが実行できるかのテスト
インストールが正しく出来ているかを確認したい場合は、pip uninstall chainer
をchainerが無くなるまで複数回実行後、
pip install --no-cache -vvvv chainer
でキャッシュの無効化とデバッグ表示を有効にしてインストールを行ってください。
インストールに問題がある場合は、エラーログが表示されるはずです。
その他注意事項
chainer-cuda-deps
は現在不要です。インストールしないでください。