いろいろ足りない

不足分を補いたい

windowsでchainer+cuDNNで詰まってる話

Windowsでchainer入れようとして、cudnnが使えず困っている。
2016/02/06追記:
解決した。
chainer1.6.1になったからか、以下の参考にしたサイトに沿ってやったからか、うまく行った。
github.com

原因をきちんと把握できていないのが気持ち悪いけれど、ここは本質でないから良いか。
一時、本気でLinuxに移行しようかと……。

Pythonインタプリタ

import chainer
import cupy
import cupy.cudnn

を行ってもエラーが出ず。

GTX650でもMNISTが30秒ほどで実行できた。
ここまでとは。



以下、試行錯誤していた記録。
chainerはWindowsに公式対応していないので文句は言わない。
ちなみにCPU環境だと動く。

環境は以下。
OS:windows10 64bit
CPU:i7-3770
GPUGeForce GTX650


具体的にはcudnnをインポートしようとするとこんなエラーが出る。
解決法はさっぱり分からない。果てさて。

python -c "import cupy.cudnn"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\lib\site-packages\cupy\cudnn.py", line 7, in <module>
    from cupy.cuda import cudnn
ImportError: cannot import name cudnn

基本的に参考にしたのはここ。
qiita.com
但しCPUは一切使わない前提で書かれているのか、自分がミスした可能性もあるのだけれど、
Anacondaで入れた場合、一緒に入ってくるのは32bit版のnumpyなんじゃないかという疑念。
試しにCPUでmnistを動かすと、とてつもなく遅い。

以下のサイトから64bit版のnumpyを拾って入れた。
http://www.lfd.uci.edu/~gohlke/pythonlibs/


cuDNNに関しては、version4まであったけど、対応していない?(要確認)
念のため、version3を入れた。


環境入れなおしたりとあれこれ苦戦したけれど、結果はさっぱり得られず。

知っておるか?結果を伴わぬ者を無能というのだ

コーネリアさん

果てさて。