【问题标题】:Error while import tensorflow module导入 tensorflow 模块时出错
【发布时间】:2017-09-08 07:37:48
【问题描述】:

我尝试使用 Python 学习 TensorFlow。我的问题是导入 TF 模块。这是我的配置:Python 3.6.1Windows 7(带有 MSVCP140.dll)

我已经通过命令(在 power shell 中)安装了 TensorFlow。它有效。

python -m pip install --upgrade tensorflow

但是当我运行 python 环境并尝试导入 Tensor Flow 时

import tensorflow as tf

我收到错误,这个错误引发了另一个与之相关的错误,但一开始我想先解决这个问题

Traceback(最近一次调用最后一次):文件 "C:\Users\Jacek\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", 第 18 行,在 swig_import_helper 中 fp, pathname, description = imp.find_module('_pywrap_tensorflow', [dirname(file)]) 文件 "C:\Users\Jacek\AppData\Local\Programs\Python\Python36\lib\imp.py", 第 296 行,在 find_module 中 raise ImportError(_ERR_MSG.format(name), name=name) ImportError: No module named '_pywrap_tensorflow'

【问题讨论】:

    标签: python windows installation tensorflow pip


    【解决方案1】:

    问题在于我的 cuDNN 库 - 无论出于何种原因 cudnn-8.0-windows10-x64-v6.0 无法正常工作 - 我使用的是 cudnn-8.0-windows10-x64-v5.1 - 一切都好!

    我的设置使用 Win10 64 和 Nvidia GTX780M:

    • 通过检查你的系统/路径确保你有 lib MSVCP140.DLL - 如果没有得到它here
    • here 运行适用于 python 3.5.3-amd64 的 Windows 安装程序 - 不要尝试较新的版本,因为它们可能无法正常工作
    • here 获取适用于 CUDA 8.0 的 cuDNN v5.1 - 将其放在您的用户文件夹下或其他已知位置(您的路径中将需要它)
    • here 获取 CUDA 8.0 x86_64
    • 按预期设置 PATH 变量以指向 cuDNN 库和 python(python 路径应在 python 安装期间添加)

    如果您运行 Windows 32,请务必获取上述文件的 32 位版本。

    【讨论】:

      【解决方案2】:

      解决方案是将 Python 降级到 3.5 版,然后重新安装 TensorFlow。它对我有用

      【讨论】:

      • 可能会也可能不会 - 已知这是由于在尝试使用我们的 GPU 时为 CUDA 运行了错误版本的 cuDNN 造成的。
      • 我安装了没有 CUDA 支持的“简单”版本的 TF
      • 这不是解决方案。
      【解决方案3】:

      这是一个已知错误。有一个名为 MSVCP140.DLL 的文件,您需要在系统中运行 TensorFlow。检查此文件是否在您的%path% 中。如果不是,请下载 Visual Studio C++。它是免费的,您可以在这里下载:https://www.visualstudio.com/vs/cplusplus

      【讨论】:

      • 我有这个文件,并为 VS C++ 2015 安装了更新 3。你考虑指定位置吗?
      • 如果您同时安装了 DLL 和 Visual Studio C++,则可能是您的 python 失败了。尝试将 python 降级到 3.5。
      • 有人知道这些说明是否需要在 2019 年更新吗?即将解决这个问题。我已经在 Windows 10 当前版本的 ubuntu 18.40 中安装了 anaconda。并按照 tensorflow.org 上的说明安装 tensorflow (CPU) 版本。除了 ubuntu 中包含的默认 python 2.7 之外,这还导致了 python3.7。试图让 jupyter notebook 版本运行,sudo apt install jupyter-core python3-notebook jupyter python-ipykernel 这安装了另一个版本的python(3.6)
      【解决方案4】:

      解决方案:-

      不要受太多苦。只需将您的 python 版本从 3.6.1 降级到 3.5.2 和

      再次安装tensorflow..你不需要升级包。

      “pip install tensorflow”会自动下载最新版本(可能

      1.0.1)

      步骤:-

      第 1 步:- conda 搜索 python

      第 2 步:- conda install python=3.5.2

      第 3 步:- pip install tensorflow

      第 4 步:- 将 tensorflow 导入为 tf

      万岁!!.. 有效..

      希望您不会再遇到同样的错误!

      【讨论】:

      • 这是一个很好的第一步 - 如果您仍有问题,请参阅下面的答案 - 与 cuDNN 版本相关。
      【解决方案5】:

      起初,我使用 Python 3.5 和 PIP 版本 19 的 anaconda 环境,但遇到了同样的问题。所以我没有使用 PIP,而是使用了 Conda 包管理器:

      conda install TensorFlow
      

      使用 Conda 代替 PIP 后效果很好

      【讨论】:

        【解决方案6】:

        如果您的系统中有 GPU,并且它与当前的库集冲突或引发 cudnn 错误,那么您可以在代码中添加以下行以禁用 GPU

        os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
        

        把它放在你的代码中应该没问题。

        【讨论】:

          【解决方案7】:

          pip install tensorflow-gpu

          安装这个包可以帮助我解决我的问题

          【讨论】:

            猜你喜欢
            • 2021-03-04
            • 2020-05-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-07-02
            • 2015-12-10
            • 2020-07-29
            • 1970-01-01
            相关资源
            最近更新 更多