Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TensorFlow导入恐怖:“;“DLL加载失败”;及;没有名为pywrap“tensorflow”的模块;_Python_Python 3.x_Tensorflow - Fatal编程技术网

Python TensorFlow导入恐怖:“;“DLL加载失败”;及;没有名为pywrap“tensorflow”的模块;

Python TensorFlow导入恐怖:“;“DLL加载失败”;及;没有名为pywrap“tensorflow”的模块;,python,python-3.x,tensorflow,Python,Python 3.x,Tensorflow,我正在尝试在Windows7上安装TensorFlow(不是GPU版本)。我已经安装了Python 3.5.2,我可以验证: $ python --version Python 3.5.2 我使用以下命令安装了TensorFlow,它似乎可以工作: $ pip3 install --upgrade tensorflow 但是,当我进入Python shell验证安装时,会出现以下错误: >>> import tensorflow as tf Traceback (most

我正在尝试在Windows7上安装TensorFlow(不是GPU版本)。我已经安装了Python 3.5.2,我可以验证:

$ python --version
Python 3.5.2
我使用以下命令安装了TensorFlow,它似乎可以工作:

$ pip3 install --upgrade tensorflow
但是,当我进入Python shell验证安装时,会出现以下错误:

>>> import tensorflow as tf
Traceback (most recent call last):
  File "C:\Users\kimlesj1\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\kimlesj1\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\kimlesj1\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\kimlesj1\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\kimlesj1\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\kimlesj1\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\kimlesj1\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\__init__.py", line 51, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\kimlesj1\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\kimlesj1\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\kimlesj1\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\kimlesj1\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\kimlesj1\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\kimlesj1\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\kimlesj1\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.
>>将tensorflow作为tf导入
回溯(最近一次呼叫最后一次):
swig\u import\u helper中的文件“C:\Users\kimlesj1\AppData\Local\Programs\Python35\lib\site packages\tensorflow\Python\pywrap\u tensorflow\u internal.py”第18行
返回导入lib.import\u模块(mname)
文件“C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\importlib\\uuuuu init\uuuuu.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第986行,在_gcd_import中
文件“”,第969行,在“查找”和“加载”中
文件“”,第958行,在“查找”和“加载”中解锁
文件“”,第666行,在“加载”中
文件“”,第577行,位于\u规范的模块\u中
文件“”,第906行,在创建_模块中
文件“”,第222行,在已删除帧的调用中
ImportError:DLL加载失败:找不到指定的模块。
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\site packages\tensorflow\Python\pywrap\u tensorflow.py”,第41行,在
从tensorflow.python.pywrap\u tensorflow\u内部导入*
文件“C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\site packages\tensorflow\Python\pywrap\u tensorflow\u internal.py”,第21行,在
_pywrap\u tensorflow\u internal=swig\u import\u helper()
swig\u import\u helper中的文件“C:\Users\kimlesj1\AppData\Local\Programs\Python35\lib\site packages\tensorflow\Python\pywrap\u tensorflow\u internal.py”第20行
返回importlib.import\u模块(“pywrap\u tensorflow\u internal”)
文件“C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\importlib\\uuuuu init\uuuuu.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
ImportError:没有名为“\u pywrap\u tensorflow\u internal”的模块
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\site packages\tensorflow\\uuuu init\uuuu.py”,第24行,在
从tensorflow.python导入*
文件“C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\site packages\tensorflow\Python\\uuuuu init\uuuu.py”,第51行,在
从tensorflow.python导入pywrap\u tensorflow
文件“C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\site packages\tensorflow\Python\pywrap\u tensorflow.py”,第52行,在
提高效率(msg)
ImportError:回溯(最近一次呼叫上次):
swig\u import\u helper中的文件“C:\Users\kimlesj1\AppData\Local\Programs\Python35\lib\site packages\tensorflow\Python\pywrap\u tensorflow\u internal.py”第18行
返回导入lib.import\u模块(mname)
文件“C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\importlib\\uuuuu init\uuuuu.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第986行,在_gcd_import中
文件“”,第969行,在“查找”和“加载”中
文件“”,第958行,在“查找”和“加载”中解锁
文件“”,第666行,在“加载”中
文件“”,第577行,位于\u规范的模块\u中
文件“”,第906行,在创建_模块中
文件“”,第222行,在已删除帧的调用中
ImportError:DLL加载失败:找不到指定的模块。
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\site packages\tensorflow\Python\pywrap\u tensorflow.py”,第41行,在
从tensorflow.python.pywrap\u tensorflow\u内部导入*
文件“C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\site packages\tensorflow\Python\pywrap\u tensorflow\u internal.py”,第21行,在
_pywrap\u tensorflow\u internal=swig\u import\u helper()
swig\u import\u helper中的文件“C:\Users\kimlesj1\AppData\Local\Programs\Python35\lib\site packages\tensorflow\Python\pywrap\u tensorflow\u internal.py”第20行
返回importlib.import\u模块(“pywrap\u tensorflow\u internal”)
文件“C:\Users\kimlesj1\AppData\Local\Programs\Python\Python35\lib\importlib\\uuuuu init\uuuuu.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
ImportError:没有名为“\u pywrap\u tensorflow\u internal”的模块
未能加载本机TensorFlow运行时。
看见https://www.tensorflow.org/install/install_sources#common_installation_problems
因为一些常见的原因和解决方案。包括整个堆栈跟踪
以上是请求帮助时的错误消息。

在我的例子中,脚本tensorflow\u self\u check.py非常有效。它指出我错过了cudnnv6的cudnn64_6.dll文件。需要注意的是,在TensorFlow for Window()的官方指南中,他们坚持认为它必须是带有cuDNN64_5.dll的cudnnv5.1!他们应该通过添加tensorflow_self_check.py脚本来更新本指南


编辑:我应该仔细阅读TensorFlow 1.3.0的发行说明:“我们所有的预构建二进制文件都是使用cuDNN 6构建的。我们预计将使用cuDNN 7发布TensorFlow 1.4。”

在我的情况下,cuDNN v5或v6都不能单独工作。我查看了自检脚本,似乎检查了cudnn64_5.dll和cudnn64_6.dll的正确安装:

cudnn5_found = False
try:
  cudnn5 = ctypes.WinDLL("cudnn64_5.dll")
  cudnn5_found = True
except OSError:
  candidate_explanation = True
  print("""
  - Could not load 'cudnn64_5.dll'. The GPU version of 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 it is often found in a
  different directory from the CUDA DLLs. You may install the
  necessary DLL by downloading cuDNN 5.1 from this URL:
  https://developer.nvidia.com/cudnn""")

cudnn6_found = False
try:
  cudnn = ctypes.WinDLL("cudnn64_6.dll")
  cudnn6_found = True
except OSError:
  candidate_explanation = True

if not cudnn5_found or not cudnn6_found:
  print()
  if not cudnn5_found and not cudnn6_found:
    print("- Could not find cuDNN.")
  elif not cudnn5_found:
   print("- Could not find cuDNN 5.1.")
else:
  print("- Could not find cuDNN 6.")
  print("""
  The GPU version of TensorFlow requires that the correct cuDNN 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 it is often
  found in a different directory from the CUDA DLLs. The correct version of
  cuDNN depends on your version of TensorFlow:

  * TensorFlow 1.2.1 or earlier requires cuDNN 5.1. ('cudnn64_5.dll')
  * TensorFlow 1.3 or later requires cuDNN 6. ('cudnn64_6.dll')

如果在路径中找不到v5或v6,则会发生操作错误。因此,我将这两个变量都放在Path环境变量中,检查通过。

这是安装tensorflow gpu时的一个已知问题

如果您正在使用conda,解决此问题的最佳方法是安装tensorflow gpu的conda。步骤如下所示。(在Windows 10和Ubuntu 16.04中测试)

卸载existin
pip uninstall tensorflow-gpu
conda install tensorflow-gpu