Windows上的Tensorflow - ImportError:DLL加载失败:找不到指定的模块

Posted

技术标签:

【中文标题】Windows上的Tensorflow - ImportError:DLL加载失败:找不到指定的模块【英文标题】:Tensorflow on windows - ImportError: DLL load failed: The specified module could not be found 【发布时间】:2017-11-14 04:13:03 【问题描述】:

我在 Windows 7 64 位上使用 Anaconda 3.1.0。我已经安装了张量流(GPU)。运行以下命令时出现错误。

>>> import tensorflow as tf

完整的追溯

    (tensorflow) C:\windows\system32>python
Python 3.5.3 |Continuum Analytics, Inc.| (default, May 15 2017, 10:43:23) [MSC v
.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
Traceback (most recent call last):
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in s
wig_import_helper
    return importlib.import_module(mname)
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\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 919, 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\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <
module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in s
wig_import_helper
    return importlib.import_module('_pywrap_tensorflow_internal')
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\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\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\site-packages\tensorflow\python\__init__.py", line 51, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 52, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in s
wig_import_helper
    return importlib.import_module(mname)
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\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 919, 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\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <
module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in s
wig_import_helper
    return importlib.import_module('_pywrap_tensorflow_internal')
  File "C:\Users\mbharsakale\AppData\Local\Continuum\Anaconda2\envs\tensorflow\l
ib\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_probl
ems

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

【问题讨论】:

正如 TF 中明确指出的那样 webpage The Anaconda installation is community supported, not officially supported. ... 所以我建议您使用替代方法安装它(即 pip)或移至 * nix 操作系统发行版。 我尝试使用 pip 但仍然遇到同样的问题。 我创建了一个测试脚本,可以帮助诊断您的安装问题(主要是由于%PATH% 环境变量中缺少目录)。你可以在这里下载:gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c 尝试将cudnn库路径添加到PATH环境变量中。 谢谢大家。 cudnn lib 版本错误,所以我更换了正确版本的 lid 并且它起作用了。 【参考方案1】:

cudnn lib 版本错误,所以我更换了正确版本的 cudnn lib 并且它工作正常。

【讨论】:

Tensorflow 1.3 需要 cudnn V6,确保 C:\Program Files\NVIDIA Cudnn\cuda\bin 文件夹中有 cudnn64_6.dll 和此路径进入环境变量 你试过只有CPU版本,只有CPU版本不需要cudnn lib吗?【参考方案2】:

Tensorflow 在 python3.6 上几乎没有问题。 尝试使用 python 3.5.2。 点安装张量流 为我工作。

【讨论】:

【参考方案3】:

在我的情况下,Win10找不到模块,因为环境变量cuDNN设置不正确!

您需要将环境变量设置为bin 子文件夹。就我而言,当我将其提取到 C: 时,我必须将 C:\cuda\bin 添加到 path 系统变量中。 欲了解更多信息,请查看this。

或与this 联系以检查版本的兼容性。

【讨论】:

【参考方案4】:

我曾经遇到过这种错误。

我安装Tensorflow后端Keraswrong and mismatched versions的原因

我修复的完美适用于我的版本如下所示

Tensorflow 2.0.0(2.1.0 抛出错误) Keras 2.3.1 版

最好的,

【讨论】:

Tensorflow 2.1.0 在我工作的 ubuntu 机器上完美运行,但您使用 tensorflow 2.0.0 的解决方案在我工作的 Windows 机器上运行! 是的,我使用 Windows 来完成这项工作。我希望 Tensorflow 2.1.0 版能在 Linux 中抛出no error。感谢您的信息。【参考方案5】:

安装 Microsoft Visual C++ Redistributable für Visual Studio 2019 为我解决了上述问题

在 Windows 10 上测试 Python 3.6 (Anaconda) 和 Tensorflow 2.1.0

【讨论】:

在搜索高低解决方案后,这对我有用 - 感谢您提及它。 (Windows Server 2016 - 标准) 对我也有用,Windows 10 安装相对较新。【参考方案6】:

我遇到了同样的错误。问题不在于 python 或 tensorflow 版本,而是 Windows 操作系统所需的依赖项。只需按照以下步骤操作即可。

转到此链接https://www.sts-tutorial.com/download/credistributable2019 根据您的系统下载 vc_redist.x64.exe(64 位)或 vc_redist.x86.exe(32 位)。 执行文件并重新启动您的 PC。 现在导入 tensorflow,它应该可以工作了。

【讨论】:

太棒了!我已经尝试了一切,最后这就是我所要做的。谢谢!【参考方案7】:

这解决了我的问题:Latest Supported Visual C++ Downloads

安装适用于 Visual Studio 2015、2017 和 2019 的 Microsoft Visual C++ Redistributable。从 TensorFlow 2.1.0 版本开始,此软件包需要 msvcp140_1.dll 文件(旧的可再发行软件包可能不提供该文件)。可再发行组件随 Visual Studio 2019 提供,但可以单独安装:

转到 Microsoft Visual C++ 下载: 链接:https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-?c-downloads 向下滚动页面到 Visual Studio 2015、2017 和 2019 部分。 ?- 为您的平台下载并安装适用于 Visual Studio >2015、2017 和 2019 的 Microsoft Visual C++ Redistributable。 确保在 Windows 上启用了长路径。

安装适用于 Windows 的 64 位 Python 3 版本(选择 pip 作为可选功能)。

【讨论】:

【参考方案8】:

我遇到了同样的错误。问题不在于 python 或 tensorflow 版本,而是 Windows 操作系统所需的依赖项。只需按照以下步骤操作即可。

    转到此链接 https://www.sts-tutorial.com/download/credistributable2019 下载 vc_redist.x64.exe(64 位)或 vc_redist.x86.exe (32 位),取决于您的系统。 执行文件并重新启动您的 PC。 现在导入 tensorflow,它对我有用,也适用于 你的也是 归功于那个人,我错过了他的身份证

【讨论】:

以上是关于Windows上的Tensorflow - ImportError:DLL加载失败:找不到指定的模块的主要内容,如果未能解决你的问题,请参考以下文章

tensorflow是否支持Windows上的Python 3.6.4?

python [DEPRECATED] Windows上的TensorFlow自检

如何在 Windows 上的 Python 2.7 上安装 Tensorflow?

Windows 上的 TensorFlow:“无法打开 CUDA 库 cudnn64_5.dll”

Windows 上的 Tensorflow 对象检测 API - 错误“ModuleNotFoundError: No module named 'utils'”

Tensorflow-gpu在windows10上的安装(anaconda)