ImportError:DLL加载失败:动态链接库(DLL)初始化例程失败

时间:2018-04-20 02:29:17

标签: tensorflow

我在conda环境中使用cuda toolkit v9.0和cuDNNv7.1以及python 3.6在gpu支持中安装了tensorflow。

我按照tensorflow网站上描述的说明,当我尝试

import tensorflow as tf

我收到了这个错误

Traceback (most recent call last):
      File "C:\Users\31121\AppData\Local\conda\conda\envs\tensorflow_gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
        from tensorflow.python.pywrap_tensorflow_internal import *
      File "C:\Users\31121\AppData\Local\conda\conda\envs\tensorflow_gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in <module>
        _pywrap_tensorflow_internal = swig_import_helper()
      File "C:\Users\31121\AppData\Local\conda\conda\envs\tensorflow_gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 17, in swig_import_helper
        return importlib.import_module(mname)
      File "C:\Users\31121\AppData\Local\conda\conda\envs\tensorflow_gpu\lib\importlib\__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
    ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Users\31121\AppData\Local\conda\conda\envs\tensorflow_gpu\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
        from tensorflow.python import *  # pylint: disable=redefined-builtin
      File "C:\Users\31121\AppData\Local\conda\conda\envs\tensorflow_gpu\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
        from tensorflow.python import pywrap_tensorflow
      File "C:\Users\31121\AppData\Local\conda\conda\envs\tensorflow_gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
        raise ImportError(msg)
    ImportError: Traceback (most recent call last):
      File "C:\Users\31121\AppData\Local\conda\conda\envs\tensorflow_gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
        from tensorflow.python.pywrap_tensorflow_internal import *
      File "C:\Users\31121\AppData\Local\conda\conda\envs\tensorflow_gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in <module>
        _pywrap_tensorflow_internal = swig_import_helper()
      File "C:\Users\31121\AppData\Local\conda\conda\envs\tensorflow_gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 17, in swig_import_helper
        return importlib.import_module(mname)
      File "C:\Users\31121\AppData\Local\conda\conda\envs\tensorflow_gpu\lib\importlib\__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
    ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.


    Failed to load the native TensorFlow runtime.

我错过了什么吗?

7 个答案:

答案 0 :(得分:1)

我有类似的问题。我知道我的CPU(Pentium G4560)不支持AVX,因此我将tensorflow版本从1.6更改为1.5。手册有一个链接:

https://github.com/rohit-patel/Install_Instructions-Win10-Deeplearning-Keras-Tensorflow

答案 1 :(得分:1)

我已经找到解决方案,可能是您的cpu不支持AVX,所以我从github上的这个定制仓库安装了tensorflow。 链接在这里

https://github.com/fo40225/tensorflow-windows-wheel

我为py 37选择了1.12.0,在该文件夹中选择py36文件夹和cpu文件夹,然后在sse2中下载文件

不支持下载sse2 whl的CPU

答案 2 :(得分:1)

我有一个类似的问题。我有一台装有Intel Celeron J3455的计算机,我发现我的CPU不支持AVX,因此无法使用TensorFlow 1.6中包含的官方二进制文件。

按照ABHAY KOTAL的建议,您可以使用可以在以下存储库中找到的非官方工具:https://github.com/fo40225/tensorflow-windows-wheel

就我而言,我为Python 3.7选择了Tensorflow 1.15(py37):tensorflow-1.15.0-cp37-cp37m-win_amd64.whl。如果需要其他版本,请下载可用的sse2版本。

要安装新的TensorFlow:

pip install tensorflow-1.15.0-cp37-cp37m-win_amd64.whl

在安装之前的TensorFlow版本之前,请记住要卸载:

pip uninstall tensorflow tensorboard tensorboard-plugin-wit tensorflow-estimator tensorflow-tensorboard

答案 3 :(得分:0)

在另一个线程上找到了此解决方案:https://github.com/tensorflow/tensorflow/issues/23683

人们,我走了另一条路解决了我的问题。我卸载了使用pip安装的TensorFlow软件包,然后使用“ conda install TensorFlow”重新安装,它可以正常工作!现在我可以毫无问题地导入TensorFlow。希望这也能帮助你们!

答案 4 :(得分:0)

使用的点子没有conda时出现问题

最佳答案是(工作100%):

键入以下命令: 如果已经安装TensorFlow,则应通过以下命令重新安装:

 pip uninstall TensorFlow

如果没有,请通过以下命令进行安装:

 conda install TensorFlow

我从下面的此链接获得此解决方案:

https://github.com/tensorflow/tensorflow/issues/23683#issuecomment-513788003

感谢 @sdmars Tamiris Crepalde ,她正在帮助我获得解决方案:

enter image description here

答案 5 :(得分:0)

这是一个简单的解决方案(没有conda,没有gpu / cpu人员)

取消安装任何版本的Tensorflow。

pip unnistall tensorflow

安装tensorflow 1.5

pip install tensorflow==1.5

运行python

然后尝试import tensorflow

答案 6 :(得分:0)

我有同样的问题。我意识到我的CPU不支持AVX。我将tensorflow降级为1.5,它的工作原理很像

pip install tensorflow==1.5

如果没有,你也可以尝试从源代码安装tensorflow here,以防您的CPU也不支持AVX。