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

16

我在Windows 7 64位上使用Anaconda 3.1.0。我已经安装了tensorflow(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.

1
正如TF 网页中明确说明的那样,Anaconda安装是社区支持的,而不是官方支持的。...因此我建议您使用替代方法(即pip)进行安装,或者转移到*nix操作系统发行版。 - DarkCygnus
我尝试使用pip,但仍然遇到了同样的问题。 - Mukesh Bharsakle
3
我创建了一个测试脚本,可以帮助诊断您的安装问题(主要是由于%PATH%环境变量中缺少目录引起的)。您可以在此处下载它:https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c - mrry
2
尝试将cudnn库路径添加到PATH环境变量中。 - mining
谢谢大家。cudnn库的版本不对,我替换了正确的版本并且它正常工作了。 - Mukesh Bharsakle
如果您正在使用tensorflow 1.3,则需要cudnn64_6.dll,而不是cudnn64_5.dll。https://github.com/tensorflow/tensorflow/issues/7705 - Chris Barrett
8个回答

12
安装“Microsoft Visual C++ Redistributable für Visual Studio 2019”解决了我的问题。 在 Windows 10 上测试适用于 Python 3.6 (Anaconda) 和 Tensorflow 2.1.0。

在寻找解决方案的过程中,这对我很有用 - 感谢您提到它。(Windows Server 2016 - 标准版) - frimley
对我也起作用了,Windows 10是相对较新的安装。 - Recessive

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

1
太好了!我尝试了所有的方法,最终只需要这样做。谢谢! - arunmenon

4

我曾经遇到过这种错误。

原因是我安装了不匹配的版本的Tensorflow后端Keras

我调整后能够正常工作的版本如下:

  • Tensorflow 2.0.0(2.1.0 会报错)
  • Keras 版本 2.3.1

祝好!


1
Tensorflow 2.1.0 在我工作的 Ubuntu 机器上完美运行,但你提供的使用 Tensorflow 2.0.0 的解决方案在我工作的 Windows 机器上也能正常运行! - lsfischer
是的,我的工作使用的是Windows操作系统。我希望Tensorflow 2.1.0版本在Linux上不会出现任何错误。感谢你的信息。 - turong

3
在我的情况下,Win10无法找到该模块,因为环境变量cuDNN未正确设置!您需要将env var设置为bin子文件夹。在我的情况下,我将其提取到C:中,因此我必须将C:\ cuda \ bin添加到路径系统变量中。有关更多信息,请查看this。或者请参考this检查版本的兼容性。

1

cudnn库版本错误,我替换了正确的cudnn库版本,然后它就正常工作了。


2
Tensorflow 1.3需要cudnn V6,确保您在文件夹C:\ Program Files \ NVIDIA Cudnn \ cuda \ bin中有一个cudnn64_6.dll,并将此路径添加到环境变量中。 - Gabriel Asqui
你尝试过只使用CPU版本吗?只有CPU版本不需要cudnn库,对吧? - Rakibul Haq

0

Tensorflow在python3.6上存在一些问题。 建议使用python 3.5.2版本。 通过pip安装tensorflow即可。 这对我来说有效。


0

这解决了我的问题:最新支持的 Visual C++ 下载

安装 Microsoft Visual C++ Redistributable for Visual Studio 2015、2017 和 2019。从 TensorFlow 2.1.0 版本开始,需要从此软件包中获取 msvcp140_1.dll 文件(可能不会在旧的可再发行软件包中提供)。可再发行软件包随附于 Visual Studio 2019 中,但也可以单独安装: 安装适用于 Windows 的 64 位 Python 3 发行版(选择 pip 作为可选功能)。

0

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

  1. 前往此链接 https://www.sts-tutorial.com/download/credistributable2019
  2. 根据您的系统下载vc_redist.x64.exe(64位)或vc_redist.x86.exe(32位)。
  3. 执行文件并重启电脑。
  4. 现在导入TensorFlow,它对我有用,并且也可以对你有用,感谢那个人,我错过了他的ID。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接