Categories: CUDATensorflow

tensorflowで「Could not find ‘cudnn64_6.dll’」エラー

最近、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を使って環境構築をしてみてください。

  

Haruoka