最近、tensorflowで仮想環境を新しく作ったところ、使う際に
「ImportError: Could not find ‘cudnn64_6.dll’. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Note that installing cuDNN is a separate step from installing CUDA, and this DLL is often found in a different directory from the CUDA DLLs. You may install the necessary DLL by downloading cuDNN 6 from this URL: https://developer.nvidia.com/cudnn」
というエラーが出ました。
「cudnn64_6.dll」が見つからないので入れてください(パス通してください)というエラーなんですが、そもそもtensorflowって今までcuDNN5.1を使ってなかったっけと思い見直したところ、どうもtensorflowのバージョンが1.2から1.3にアップデートされたことにより、1.3ではcuDNN5.1ではなく、cuDNN6対応となったようです。
tensorflowを使うためには、
① CUDAを入れて、
② cuDNNを入れて、
③ tensorflowの環境構築をして、
みたいな感じだったわけですが、②の工程でcuDNN5.1を入れた人は、もしtensorflowの新しいバージョンを使うのならcuDNN6にしなきゃいけませんよ、という話です。
cuDNNの入れ方については
Tensorflow導入に向けたcuDNN環境構築(Windows 10)
の記事を見ていただくとして、上記記事のcuDNN v5.1の代わりにv6をダウンロードしてくればよいのだと思います。
cuDNN6のファイルをダウンロードして、「cudnn64_6.dll」を「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin」に移しました。
「cudnn64_5.dll」はそのままですが、取りあえずこれでtensorflowの環境構築をして実行し直したところ、「ImportError: Could not find ‘cudnn64_6.dll’.」というエラーは消えて、正常に実行できるようになりました。
もし題名のエラーで悩んでいる人がいましたら、cuDNNのv6.0を使って環境構築をしてみてください。