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 "
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が認識されることを確認した。