【问题标题】:Tensorflow error : DLL load failed: The specified procedure could not be foundTensorflow错误:DLL加载失败:找不到指定的程序
【发布时间】:2019-02-05 03:35:39
【问题描述】:

我尝试在我的 windows8.1 64bit python3.6.0 中使用 pip 安装 tensorflow cpu 使用pip install tensorflow 但它给了我这个错误:

Traceback (most recent call last):   File "C:\Users\Laitooo
San\Desktop\tf.py", line 1, in <module>
     import tensorflow as tf   File "C:\Users\Laitooo San\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\__init__.py",
 line 24, in <module>
     from tensorflow.python import *   File "C:\Users\Laitooo San\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\__init__.py",
 line 52, in <module>
     from tensorflow.core.framework.graph_pb2 import *   File "C:\Users\Laitooo
 San\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\core\framework\graph_pb2.py",
 line 6, in <module>
     from google.protobuf import descriptor as _descriptor   File "C:\Users\Laitooo
 San\AppData\Local\Programs\Python\Python36\lib\site-packages\google\protobuf\descriptor.py",
 line 47, in <module>
     from google.protobuf.pyext import _message ImportError: DLL load failed: The specified procedure could not be found.

我下载了 python36.dll 并确保所有其他 .dll 都存在并安装 Microsoft Visual c++ 2015

我还卸载了 tensorflow 并多次安装了另一个版本,但没有任何结果。

【问题讨论】:

    标签: python python-3.x tensorflow


    【解决方案1】:

    我也遇到了这个错误,并且能够通过将 protobuf 从 3.6.1 降级到 3.6.0 来解决它:

    pip install protobuf==3.6.0
    

    【讨论】:

    • 在谷歌搜索几个小时后也为我解决了。太好了!
    • 我认为 tensorflow 团队已经升级了 protobuf 要求,这次我安装 3.6.0 版本时它说“Tensorflow 需要 protobuf 3.6.1”。这现在可能行不通。
    • tensorflow 2.0 需要 protobuf 3.6.1
    • 解决了我的问题。我收到“tensorflow 2.0.0 has requirements protobuf>=3.6.1 ...”错误消息,但它仍然有效
    【解决方案2】:
    • Windows 10
      • python 3.6
      • 库达 9.0
      • cudnn-9.0-windows10-x64-v7.6.3.30
      • tensorflow-gpu == 1.12.0
      • keras == 2.2.4

    问题是:

    ImportError: DLL load failed: 指定的过程不能被 找到了。

    已解决:

    pip install protobuf==3.6.0
    

    【讨论】:

      【解决方案3】:

      Github 上也有类似的问题:

      Tensorflow issue

      如果您安装答案之一中提供的轮文件,问题应该会得到解决。您可以在此处找到车轮文件。

      Wheel file

      您可以使用 pip 安装 wheel 文件。首先将当前目录更改为安装位置。那么,

      pip install tensorflow-1.6.0-cp36-cp36m-win_amd64.whl
      

      【讨论】:

      • 它卸载了最后一个版本的 tensorflow 并升级到 1.6 但现在它给了我新的错误“无法导入名称调试”@Koray
      • 你能在这里试试轮子文件吗?如果可行,我将更新答案。 wheel@KilluaSan。你能分享一下你也想运行的代码吗?
      • 抱歉,更新的意思是使用您提供的代码安装轮子
      • 所以我相信 tensorflow 现在正在运行,而您在导入时遇到了另一个问题。 @KilluaSan
      【解决方案4】:

      自 1.6 以来的所有官方 tensorflow 二进制文件都是使用 AVX 制作的,因此不支持较旧的 CPU。 为了在较旧的 CPU 上安装最新的 tensorflow 版本,您可以简单地从非 avx 构建的轮子安装 tensorflow(您可以找到一些 here

       pip install <path to the downloaded .whl file>
      

      【讨论】:

        【解决方案5】:

        python=3.6.0 的问题

        升级到任何更高版本的 python 3.6

        【讨论】:

          【解决方案6】:

          从 python 3.6.0 更新到 python 3.6.4 为我解决了这个问题。

          【讨论】:

            【解决方案7】:

            在 python 3.7 上安装后出现此(无用)错误。原来我没有安装神经网络包cuDNN。之后,它运行没有问题。

            【讨论】:

              【解决方案8】:

              我遇到了同样的问题。 我通过卸载 scipy 然后重新安装使其工作。 首先卸载seaborn。 pip uninstall seaborn 然后卸载 scipy。 pip uninstall scipy。 之后安装 scipy 和 seaborn。 pip install scipy, pip install seaborn

              希望对你有帮助

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2020-08-05
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-11-23
                相关资源
                最近更新 更多