windows 中的 Tensorflow-gpu 安装错误

Tensorflow-gpu installation errors in windows

最近我正在为 windows 安装 tensorflow(gpu)。 我有一张计算能力 = 3.0(兼容)的显卡 Python (3.5.2) Cuda 8.0(已安装并运行) 已安装 CudNN (这些是根据 tensorflow 手册) 但是当我安装 tensorflow

pip3 install --upgrade tensorflow-gpu

安装成功。 但是当我 运行 python 中的代码时,我得到了错误。 这是日志。

>>C:\Users\jagja>python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
Traceback (most recent call last):
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 906, in create_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.

>>During handling of the above exception, another exception occurred:

>>Traceback (most recent call last):
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
    return importlib.import_module('_pywrap_tensorflow_internal')
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow_internal'

>>During handling of the above exception, another exception occurred:

>>Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 52, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 906, in create_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.

>>During handling of the above exception, another exception occurred:

>>Traceback (most recent call last):
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
    return importlib.import_module('_pywrap_tensorflow_internal')
  File "C:\Users\jagja\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow_internal'


>>Failed to load the native TensorFlow runtime.

>>See https://www.tensorflow.org/install/install_sources#common_installation_problems

>>for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

谁能解决问题。我现在正在尝试使用 gpu,但由于这个错误而停滞了数周

为深层 learning/ML 库设置 GPU 计算的开发环境非常令人沮丧。根据我的经验,如果错误消息过于复杂,从头开始重新开始通常会有所帮助。但是这个特定的错误消息似乎是 tensorflow 的安装页面上提到的常见安装问题之一。他们重定向到这个 Whosebug 问题:

On Windows, running "import tensorflow" generates No module named "_pywrap_tensorflow" error

从远处诊断这样的事情非常困难。如果 link 没有帮助,我希望其他人可以过来帮助你。祝你好运!

我非常努力地寻找解决这个问题的办法。我不知道哪一个对你来说是必要的。但最后我这样做了并且成功了:

您必须将目录 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin 中的 cudnn64_?.dll 更改为 cudnn64_5.dll

我希望它也对你有用。

Update In fact you must download adequate version of CuDNN for your tensorflow. In windows 10 version 5.1 works.