Windows上的TensorFlow:ImportError:没有名为' _pywrap_tensorflow_internal'

时间:2017-05-03 05:00:55

标签: tensorflow

我正在尝试让TensorFlow在Windows上运行。但是在安装Python 3.5和TensorFlow之后,我在导入TensorFlow模块时出现以下错误:

>>>import tensorflow
Traceback (most recent call last):
  File "C:\Users\amit\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\amit\AppData\Local\Programs\Python\Python35\lib\importlib\__in
it__.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: %1 is not a valid Win32 application.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\amit\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\amit\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\amit\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\amit\AppData\Local\Programs\Python\Python35\lib\importlib\__in
it__.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\amit\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "C:\Users\amit\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\amit\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\amit\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\amit\AppData\Local\Programs\Python\Python35\lib\importlib\__in
it__.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: %1 is not a valid Win32 application.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\amit\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\amit\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\amit\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\amit\AppData\Local\Programs\Python\Python35\lib\importlib\__in
it__.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

请建议我的遗失内容,以便删除上述运行时错误。

3 个答案:

答案 0 :(得分:8)

当无法找到TensorFlow所依赖的某个库(DLL)时,会出现此错误。为了诊断这种错误,我编写了一个可以下载的脚本from here;运行该脚本将打印有关修复错误的步骤的建议。

  • 如果您运行的是仅限CPU的TensorFlow版本,则最不可能丢失的DLL是MSVCP140.DLL。它是Microsoft Visual C ++ Redistributable Update 3的一部分,您可以从here下载它。

  • 如果您运行的是TensorFlow的GPU版本,则可能无法找到CUDA库或cuDNN库。 Windows上的TensorFlow支持CUDA 8.0(从here下载)和cuDNN 5.1(从here下载)。请注意,cuDNN通常安装在与CUDA不同的目录中,您可能需要手动将其添加到%PATH%环境变量中。

答案 1 :(得分:2)

  • 仅运行以下命令,它将清除所有依赖关系,然后对其进行更新或删除并安装最新版本的张量流(对于CPU) 这对我有用

pip install tensorflow==1.5

答案 2 :(得分:1)

谢谢,你的工具太棒了。原来我的CUDA 8.0安装有一个稍微旧版本的cudnn64_5.dll而不是cudnn64_6.dll。