【Tensorflow】ImportError: Could not find ‘cudnn64_6.dll’エラー

tensorflowの環境構築でエラーとなった場合の対応方法について。

環境
OS : windows7 64bit

手順は以下の3つ。
1. CUDAのインストール
2. cuDNNのインストール
3. tensorflowのインストール

1. CUDAは以下の公式サイトからダウンロードしてインストールする。
https://developer.nvidia.com/cuda-downloads

2. cuDNN はNVIDIAのdeveloperプログラムにユーザー登録をしないとダウンロードできない。ユーザー登録をして必要なファイルをダウンロードする。cuDNNはDLLとプログラムから利用するためのヘッダファイル等がzipで固められてるだけなので,tensorflowで使うためにはPATHが通った場所にDLLを置けば良い。

pip install tensorflow-gpuでGPU版のtensorflowをインストールする。

python
と入力してから、
import tensorflow
と入力する。
ここで、正しくインストールできていればエラーは発生しないが、以下のようなエラーが発生した。

Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\envs\tf130gpu\lib\site-packages\tensorflow\pyth
on\platform\self_check.py", line 87, in preload_check
ctypes.WinDLL(build_info.cudnn_dll_name)
File "C:\ProgramData\Anaconda3\envs\tf130gpu\lib\ctypes\__init__.py", line 348
, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] 指定されたモジュールが見つかりません。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "", line 1, in
File "C:\ProgramData\Anaconda3\envs\tf130gpu\lib\site-packages\tensorflow\__in
it__.py", line 24, in
from tensorflow.python import *
File "C:\ProgramData\Anaconda3\envs\tf130gpu\lib\site-packages\tensorflow\pyth
on\__init__.py", line 49, in
from tensorflow.python import pywrap_tensorflow
File "C:\ProgramData\Anaconda3\envs\tf130gpu\lib\site-packages\tensorflow\pyth
on\pywrap_tensorflow.py", line 30, in
self_check.preload_check()
File "C:\ProgramData\Anaconda3\envs\tf130gpu\lib\site-packages\tensorflow\pyth
on\platform\self_check.py", line 97, in preload_check
% (build_info.cudnn_dll_name, build_info.cudnn_version_number))
ImportError: Could not find 'cudnn64_6.dll'. TensorFlow requires that this DLL b
e installed in a directory that is named in your %PATH% environment variable. No
te that installing cuDNN is a separate step from installing CUDA, and this DLL i
s often found in a different directory from the CUDA DLLs. You may install the n
ecessary DLL by downloading cuDNN 6 from this URL: https://developer.nvidia.com/
cudnn

cuDNNのPATHが正しく設定できていないためcudnn64_6.dllが見つからない、というエラー。

設定したPATHがpython上で認識されていないことがある模様。
コマンドプロンプト上で、pathと打ってみて、DLLが置かれているPATHがpythonで認識されているか確認する。ここで上記のエラーが発生する場合は、PATHが通っていない、もしくは、PAHTが認識されていないことによるもの。

今回の環境ではwindowsの環境変数にPATHを設定した後、一度パソコンを再起動することで、pythonでもPATHが認識されることを確認した。

タイトルとURLをコピーしました