在Windows上,运行“ import tensorflow”不会生成名为“ _pywrap_tensorflow”的模块错误
tensorflow
4
0

在Windows上,TensorFlow在执行import tensorflow语句后报告以下一个或两个以下错误:

  • No module named "_pywrap_tensorflow"
  • DLL load failed.
参考资料:
Stack Overflow
收藏
评论
共 10 个回答
高赞 时间 活跃

我在AMD cpu上有64位Win7 Pro,没有gpu。我按照https://www.tensorflow.org/install/install_windows上 “使用本机pip安装”下的说明进行操作。安装步骤正常,但尝试导入tensorflow产生了臭名昭著的消息:

ImportError:没有名为“ _pywrap_tensorflow_internal”的模块

这似乎是许多不相关的事情可能出错的情况之一,具体取决于配置,所有这些错误都级联到同一个错误。

就我而言,安装MSVCP140.DLL是答案。

如果(a)您具有文件C:\ Windows \ System43 \ MSVCP140.DLL,并且(b)如果您具有64位系统,则您已经具有MSVCP140.DLL,那么您还具有C:\ Windows \ SysWOW64 \ MSVCP140。 DLL。

我手动安装了它,这是不必要的(可重新分发不是整个Visual C ++开发的混乱,而且也不大)。使用此线程前面发布的链接进行安装: Visual C ++ 2015 redistributable

另外,我建议您覆盖Python的默认安装目录,并将其放在C:\ Program Files下,因为Windows会尝试在其中写保护文件,这会在以后引起问题。

收藏
评论

经过大量的试验和错误,并确保可以从PATH访问VC ++ 2015 RedistributablecuDNN DLL和所有其他依赖项,看来Tensorflow GPU仅适用于Python 3.5.2 (截至撰写本文)

因此,如果您正在使用Anaconda

  • conda create -n tensorflow-gpu python=3.5.2
  • activate tensorflow-gpu
  • pip install tensorflow-gpu

然后打开python解释器并验证

>>> import tensorflow as tf
>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

找到具有属性的设备0:
名称:GeForce 940M
主修:5小修:0
memoryClockRate(GHz)1.176
pciBusID 0000:06:00.0
总内存:2.00GiB
可用内存:1.66GiB

积分: 这本整洁的指南

收藏
评论

TensorFlow需要MSVCP140.DLL ,该文件可能未安装在您的系统上。要解决此问题,请打开终端,输入或粘贴此链接:

C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_amd64.whl 

请注意,这是要安装仅CPU版本的TensorFlow。

收藏
评论

这两个错误均表明您的系统尚未安装TensorFlow所需的MSVCP140.DLL

要解决此错误:

  1. 确定MSVCP140.DLL是否在您的%PATH%变量中。
  2. 如果MSVCP140.DLL不在您的%PATH% ,请安装包含此DLL的Visual C ++ 2015可再发行组件 (x64版本)。
收藏
评论

问题是对我来说是cuDNN库-出于任何原因cudnn-8.0-windows10-x64-v6.0无法正常工作-我使用了cudnn-8.0-windows10-x64-v5.1-一切都好!

我的设置适用于Win10 64和Nvidia GTX780M:

  • 通过检查系统/路径来确保您具有库MSVCP140.DLL-如果不在此处获取它
  • 此处运行适用于python 3.5.3-amd64的Windows安装程序-不要尝试较新的版本,因为它们可能无法正常工作
  • 此处获取CUD 8.0的cuDNN v5.1-将其放在用户文件夹下或其他已知位置(您的路径中将需要此文件)
  • 这里获取CUDA 8.0 x86_64
  • 设置PATH变量,使其指向cuDNN libs和python(应在python安装期间添加python路径)
  • 确保您的PATHEXT变量中包含“ .DLL”
  • 如果您使用的是tensorflow 1.3,那么您想使用cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705

如果运行Windows 32,请确保获取上述文件的32位版本。

收藏
评论

对于每个Tensorflow的版本,它需要不同版本的CuDnn。在www.tensorflow.org上,他们没有在安装指南中提及此内容!

我的案例使用使用cuDNN 6的tensorflow 1.3版.https ://github.com/tensorflow/tensorflow/releases

请检查您的tensorfow版本和cuDNN版本是否匹配。

并请为cuDNN设置路径环境,如果仍然无法使用,请检查@Chris Han的注释。

收藏
评论

cuDNN导致了我的问题。 PATH变量对我不起作用。我必须将cuDNN文件夹中的文件复制到相应的CUDA 8.0文件夹结构中。

收藏
评论

对于那些在较旧的硬件上运行的用户:

由于使用tensorflow-gpu 1.6的CPU较旧,您可能会遇到同样的错误。

如果您的CPU是在2011年之前制造的,则您的最大tensorflow-gpu版本为1.5。

Tensorflow 1.6在您的CPU上需要AVX指令。在这里验证: Tensorflow Github文档

支持AVX的CPU: Wiki AVX CPU

我在conda环境中为Tensorflow做的事情:

pip install --ignore-installed --upgrade tensorflow-gpu==1.5
收藏
评论

在我的情况下,/ bin文件夹中的“ cudnn64_6.dll”文件必须重命名为“ cudnn64_5.dll”才能消除错误。我很容易地花了两个小时来解决这个问题,并且遵循了这封信的官方安装指南。通过pip(官方支持)和conda(支持社区)进行安装是正确的。

收藏
评论

仅针对具有CPU的Tensorflow:


我已经使用命令安装了tensorflow:

pip3 install --upgrade tensorflow

这个安装了tensorflow 1.7
但是无法使用以下命令从python 3.6.5 amd64导入tensorflow:

import tensorflow as tf

因此,我使用以下命令将tensorflow版本从1.7降级到1.5

pip3 install tensorflow==1.5

这将卸载以前的版本并安装了1.5 。现在可以了。

看来,我的CPU不支持 tensorflow 1.7所需的AVX指令

我在系统文件夹中有MSVCP140.DLL ,在环境变量中的PATHEXT变量中有.DLL。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号