在Windows上,TensorFlow在执行import tensorflow
语句后报告以下一个或两个错误:
No module named "_pywrap_tensorflow"
DLL load failed.
在Windows上,TensorFlow在执行import tensorflow
语句后报告以下一个或两个错误:
No module named "_pywrap_tensorflow"
DLL load failed.
问题是cuDNN库对我来说 - 无论出于什么原因cudnn-8.0-windows10-x64-v6.0不工作 - 我用cudnn-8.0-windows10-x64-v5.1 - 一切都好!
我的设置使用Win10 64和Nvidia GTX780M:
通过检查您的系统/路径确保您拥有lib MSVCP140.DLL - 如果没有在此处获取它
从这里运行python 3.5.3-amd64的Windows安装程序- 不要尝试更新版本,因为它们可能无法正常工作
从此处获取CUDA 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位版本。
在我的情况下,/ bin文件夹中的“cudnn64_6.dll”文件必须重命名为“cudnn64_5.dll”才能使错误消失。我轻松花了两个小时来解决这个问题,然后我按照正式的安装指南进行了说明。通过pip(官方支持)和conda(社区支持)进行安装时都是如此。
cudnn64_6.dll
不会cudnn64_5.dll
。 - Naetmul 17年 6 月13日在12:17 这两个错误都表示您的系统尚未安装MSVCP140.DLL
,TensorFlow需要该系统。
要修复此错误:
确定是否MSVCP140.DLL
在您的%PATH%
变量中。
如果MSVCP140.DLL
不在您%PATH%
的身份,请安装包含此DLL 的 Visual C ++ 2015可再发行组件(x64版本)。第二种选择对我有用 - Ryan Chu 于2017年2月22日21:37
我在AMD CPU上有64位Win7 Pro,没有gpu。我按照https://www.tensorflow.org/install/install_windows上的 “使用原生点安装”中的说明进行操作。安装步骤没问题,但导入tensorflow的尝试产生了臭名昭着:
ImportError:没有名为'_pywrap_tensorflow_internal'的模块
这似乎是许多无关的事情可能出错的情况之一,这取决于配置,所有这些都会导致同样的错误。
就我而言,安装MSVCP140.DLL就是答案。
如果(a)你有一个文件C:\ Windows \ System43 \ MSVCP140.DLL,你有MSVCP140.DLL,如果你有一个64位系统,则(b)你还有C:\ Windows \ SysWOW64 \ MSVCP140。 DLL。
我手动安装它,这是不必要的(可再发行的不是整个Visual C ++开发混乱,并不大)。使用此线程中先前发布的链接来安装它:Visual C ++ 2015可再发行组件。
此外,我建议您覆盖Python的默认安装目录并将其放在C:\ Program Files下的任何位置,因为Windows会尝试在那里写保护文件,这会导致以后出现问题。
仅适用于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不支持所需的AVX指令集tensorflow 1.7
我MSVCP140.DLL
在系统文件夹和环境变量中的PATHEXT变量中有.DLL
cuDNN导致我的问题。PATH变量对我不起作用。我必须将我的cuDNN文件夹中的文件复制到尊重的CUDA 8.0文件夹结构中。
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-gpu 1.6的旧CPU,可能会出现同样的错误。
如果你的cpu是在2011年之前制作的,那么你的max tensorflow-gpu版本是1.5。
Tensorflow 1.6需要在您的cpu上使用AVX指令。在此验证:Tensorflow Github docs
启用AVX的CPU: Wiki AVX CPU
我在conda环境中为tensorflow做了什么:
pip install --ignore-installed --upgrade tensorflow-gpu==1.5
对我来说问题是cuDNN库,它与显卡的要求不符。我下载了6.0版本,但是对于我的GTX980ti,但是在nvidia网站上推荐的计算能力是5.1(http://developer.nvidia.com/cuda-gpus),所以我下载了5.1并取代了6.0版本,并且只要我'已经完成它开始工作。
经过多次试验和错误,并确保可以从PATH访问VC ++ 2015 Redistributable,cuDNN 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的版本,它需要不同版本的CuDnn。在www.tensorflow.org上,他们没有在安装指南中提到过这一点!
我的情况使用tensorflow版本1.3,它使用cuDNN 6. https://github.com/tensorflow/tensorflow/releases。
如果它们匹配,请检查您的tensorfow版本和cuDNN版本。
请为cuDNN设置路径环境,如果仍然无效,请查看@Chris Han的评论。
找不到Dll。安装Visual C ++ 2015可再发行以修复。
不确定这完全涵盖了它 - 取决于场景 - 参见上面与cuDNN v6.0相关的答案 - 也可能想要包含你提到的lib的链接(我将在这里做到这一点microsoft.com/en-us/download/ ?details.aspx ID = 48145 VS这种快速的Blurb :) - DropHit 4月23日在'17 1:09
问题是我的cuDNN图书馆。在Windows PATH中添加cuDNN DLL(不是LIB文件)的目录(可能是bin文件夹)之后,我能够运行测试代码。
作为参考,我使用PIP和我的操作系统从源代码安装了TensorFlow:Windows 7和IDE:Visual Studio 2015。
使用TensorFlow版本1.3.0,您需要使用Cudnn 6.0而不是Cudnn 5.0,因为Cudnn 5.0会出现此错误。不要忘记将路径变量添加到Cudnn 6.0。使用cudnn64_6.dll,您的Tensorflow将正常工作。阅读以下链接。 https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md#release-130
我的两分钱:
尝试在Windows 7上正确安装我的CUDA 8.0时遇到了很多问题。我安装了以前的版本,我想升级所以我卸载它并尝试安装CUDA 8.0(针对tensorflow 1.3)。安装每次都失败,我试图降级到CUDA 7.5并且能够安装它但是有一些tensorflow问题(类似于这里描述的PATH问题)。长话短说:对我有用的是:
1)卸载每个NVIDIA组件(显示图形驱动程序除外)
2)下载CUDA工具包8.0(和补丁)https://developer.nvidia.com/cuda-downloads
3)检查CheckSum MD5(我使用过MS https://www.microsoft.com/en-ca/download/confirmation.aspx?id=11533,但任何人都可以)确保它们没问题(它发生了好几次因为我的WiFi路由器显然没有正确下载安装程序)。
4)以root身份运行CUDA工具包安装程序
5)下载cudnn 8.0 v6并将其位置添加到PATH变量https://developer.nvidia.com/rdp/cudnn-download
希望能帮助并节省一些麻烦......
注意:这个脚本帮我调试了很多问题!(谢谢mrry)https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c
我会尝试提供适合我的解决方案。似乎不同的问题可能会导致这种情况。
32位软件在64位操作系统中工作。我在64位操作系统中安装了anaconda-3(32位)。它工作得非常好。我决定在我的机器上安装tensorflow,它最初不会安装。我正在使用conda环境来安装tensorflow并得到了这个错误。
解决方法是,如果您运行64位操作系统,安装64位anaconda,如果是32位操作系统,那么32位anaconda。然后按照tensorflow网站上提到的windows(anaconda安装)中提到的标准程序进行操作。这使得可以毫无问题地安装张量流。
我的答案仅适用于Windows 10用户,因为我在Windows 10上尝试了以下内容。扩展上面的一些答案我建议:如果你使用的是anaconda,那么你可以避免一切,只需使用命令安装anaconda-navigator
conda install -c anaconda anaconda-navigator
然后,您可以使用该命令从命令提示符启动导航器
anaconda-navigator
在运行此命令时,您将获得一个简单的gui,您可以在其中创建虚拟环境,使用python = 3.5.2创建环境并通过使用gui在搜索框中搜索模块来安装模块tensorflow-gpu或tensorflow,它也会照顾为您安装正确的cuda文件。使用anaconda导航仪是最简单的解决方案。
如果您不使用anaconda,请注意以下事项
tensorflow-gpu 1.3需要python 3.5.2,cuda开发工具包8.0和cudaDNN 6.0,因此在安装时请确保运行命令
pip install tensorflow-gpu==1.3
tensorflow-gpu 1.2.1或更低版本需要python 3.5.2,cuda开发工具包8.0和cudaDNN 5.1因此在安装时确保你运行命令
pip install tensorflow-gpu==1.2.1
以下是您需要遵循的上述两个过程的步骤设置路径变量您必须具有以下系统变量
CUDA_HOME = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"CUDA_PATH = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"CUDA_PATH_V8.0 = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"
PATHTEXT必须包含“.DLL”以及其他扩展名
".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.DLL"
同时在您的路径中添加以下内容
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64;C:\Windows\SysWOW64;C:\Windows\System32
如果您收到错误,可以通过mrry下载运行以下代码,此代码将检查您的设置并告诉您是否有问题https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c
参考文献:http: //blog.nitishmutha.com/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html
以上参考非常有用。请评论此答案的改进。希望这有帮助,谢谢。
tensorflow 1.3还不支持cuda 9.0。我降级到cuda 8.0,然后它工作。