(最全)Windows上Anaconda+Python+Pycharm+CUDA+CUDnn实现tensorflow-gpu安装以及安装tenfolw-gpu过程中出现的各种问题以及相应解决办法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Fluid_ray/article/details/83663108

前言

最近开始接触tensorflow,以前一直使用的使cpu版本,因为安装很简单。但是在在实现CNN的时候,因为cpu计算实在是太慢,所以准备安装gpu版本,碰到了许多的问题,尝试了各种方法,弄了大概两三天的样子,终于弄好了,真的是很头疼呢。这里为大家很详细的介绍一下tensorflow-gpu的安装教程,并且细数一下在安装过程中容易出现的坑,以及其相应的解决办法,喜欢的点个收藏或者赞吧!

一、安装Anaconda以及python3.6

Anaconda提供了许多tensorflow中的包,而且是一个很不错的管理python的软件,我们可是使用它来管理不同版本的python,十分的实用。

1. 下载安装Anaconda

我们直接在百度搜索Anaconda进入第一个网页,点击左边3.7版本进行下载(什么?你说你听到的是要下载3.5或者是3.6版本的python?对啊,没错啊,但是你会发现下面那行小字点击进去并不能下载3.6的版本,而且我们使用这个3.7的版本也是可以安装3.6或者3.5版本的,所以大家不用担心)
在这里插入图片描述
下载完成后进行安装(这步就不用说了,大家都会)

2. 安装python3.6或者3.5

在开始菜单里找到并打开Anaconda Prompt,在其中输入

conda create --name python36 python=3.6

这样子就会在你的Anaconda\envs下建立一个python36的文件夹,并且在里面直接创建python36环境所需要的文件,如果你要安装3.5版本,请使用

conda create --name python35 python=3.5

如果安装的是python3.5,则下面的python36全部改为python35即可
这样我们建立了python3.6环境,但是此时还没有激活,我们需要将其激活,所以我们要使用

activate python36

来激活我们的python3.6版本,当然我们也可以使用

deactivate python36

来关闭我们的python3.6版本,我们可以使用这样的命令来切换我们电脑中的python版本,是不是很方便呢?

二、下载以及安装CUDA以及CUDNN和tensorflow-gpu

1. 检查电脑gpu是否支持cuda

1.1 查询电脑gpu型号

首先我们要先查看我们电脑的gpu类型,只有n卡才支持cuda,如果你的是a卡的,那么很不幸,并不可以安装。
右键进入NVIDIA控制面板
在这里插入图片描述
点击系统信息,我的在左下角
在这里插入图片描述
在项目中就可以看到自己的gpu型号了,我的是GeFore 920MX的。

1.2 查询自己gpu是否支持cuda

一般来说,目前大家使用的电脑只要不是特别旧的都是支持cuda的,当然如果为了确保大家的电脑是肯定支持cuda的,大家可以进入此网站进行 https://www.geforce.com/hardware/technology/cuda/supported-gpus?field_gpu_type_value=notebook-gpus
网上很多给出的并不全面,就像我的显卡是GeForce 920MX,属于比较差劲的那一种,在很多大家给出的支持显卡并没有,但是在我给出的链接里是有的,而且我的照样能用CUDAA啊。
如果你的显卡在上面给出的链接里出现了,那么恭喜你可以安装CUDA了,请继续往下看。

1.3 CUDA以及CUDNN和tenflowflow-gpu版本匹配的问题

这个是很困扰大家的问题,大家很多也都栽在了这上面,我也不例外,真的是很头疼呢,在网上看了很多版本匹配的问题,有很多说的也并不正确,最后也终于在官网找到了这个问题的最终答案
在这里插入图片描述
这个图还是比较通俗易懂的吧,举个例子来说我要安装tensorflow-gpu1.8.0版本的话,我就得选择cuda9并且cudaa为7的版本

这里容易跌的坑

1、网上很多人说自己电脑的gpu匹配的cuda版本是固定的,这个并不是这样的,很多人说在NIVIDIA控制面板页-系统信息-组件中可以查询到自己的电脑可以安装的版本,例如
在这里插入图片描述
看鼠标选中行,按照网上一些人的说法,我的电脑只能装cuda9.0的版本,但是呢并不是这样,这完全驴头不对马嘴,我这里是9.0.176的版本,完全是因为我安装的cuda就是9.0的版本,所以这里这个信息是结果,并不是条件。

2、如果我之前就安装了cuda以及cudnn怎么办?
很好解决,使用在上面的图片中寻找一行与你的cuda和cudnn匹配的tensorflow-gpu的版本,将tensorflow更换一下就行了。当然如果碰到了上面没有的cuda版本,例如cuda9.2,那没有办法,卸载原来的版本,重新下载对的版本就行了。
卸载方法:
在控制面板中卸载就好了
在这里插入图片描述
除了用红笔标注的两个不需要卸载以外,其他的都可以卸载,卸载后直接安装新的就可以了(重新安装后它会更新你的驱动,无论你现在要安装的版本原来是高于你以前驱动的版本还是低于,重新安装后全部变为你现在要安装的版本,并不是网上所说的高版本安装后不可以安装低版本,所以不用担心),也可以使用杀毒软件清理一下注册表(不过好像注册表里并没有什么残留文件),在进入你的安装目录里(例如我的是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\)在这里将你版本的文件夹删除就好了。

1.4 下载cuda以及cudnn

我选择安装的是tensorflow-gpu1.8.0版本(当然你也可以选择安装其它的版本,但是要注意版本匹配问题),所以我选择下载的是cuda9.0版本,进入此网站进行下载
https://developer.nvidia.com/cuda-toolkit-archive
会出现以下页面
在这里插入图片描述
点击你的版本,我选择的是9.0版本
在这里插入图片描述
上面的windows版本根据自己的实际情况进行选择,将里面的五个文件全部下载下来,有的版本里面可能不是五个,反正就是有几个下几个。
之后选择下载cudnn,进入网址
https://developer.nvidia.com/rdp/cudnn-archive
cudnn的下载是需要登陆的,所以没注册的可以进去以后注册一下,步骤很简单,注册登陆以后就可以进行下载了。
点击上面网址显示以下页面
在这里插入图片描述
选择匹配的版本,我的是9.0,可以有多个选择,但我选择的是较老的7.14版本,为什么?因为老一点的一般比较稳定,不容易出现错误,也推荐大家使用老一点的版本,不过理论上来说都可以,点击以后选择与自己电脑时候的版本进行下载。

1.5 安装cuda以及cudnn配置和tensorflow的安装

1.5.1 安装cuda

这里我们点击我们下载的最大一个的安装包,也就是说我们安装的顺序就按照上面官网给出的顺序就好了。
在这里插入图片描述
直接点击确定
等待
在这里插入图片描述
该进度条完成以后呢,会出现检查兼容性的页面,图如下
在这里插入图片描述
如果成功则点击下一步,如果不成功的话,原因是你的windows版本不是最新的版本,请到设置-更新和安全 中检查更新你的windows并且重启你的电脑,然后在重新打开安装包就可以了。
之后同意协议,推荐使用精简安装,方便,但是安装路径是在你的c盘,自定义的话需要注意一些事项,具体注意事项请度娘询问
在这里插入图片描述
一直下一步直到安装就好了,安装时间很长,耐心等待,安装过程有闪烁,不用害怕。如果安装过程出现黑屏,并且电脑无反应,请重启后重新安装即可。
安装完此安装包后继续重复此步骤安装你下载下来的所有包(并且按照顺序,文件名最后有数字表注),有的安装包会一闪而过,并不会出现安装页面,我的第一个patch包就是,也不知道是什么原因,但是对结果并没有什么影响(很无奈),出现这种情况直接跳过此安装包进行下一个安装就好了(除了第一个,后面的包安装速度都是很快的)。

1.5.2 cudnn配置

将下载下来的cudnn压缩包解压,点击,会看到几个文件夹,如图:
在这里插入图片描述
我们打开自己的cuda安装的文件夹里,我的是在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0中,如图:
在这里插入图片描述
我们会看到,两个里面有一些同的文件夹,我们将cudnn解压出的文件夹中的文件分别拷到cudnn对应的文件夹中(注意拷的是里面的文件,并不是整个文件夹)

1.5.3 配置环境变量

进入环境变量中path中,将你的安装NVIDIA GPU ComputingToolkit\CUDA\v9.0\bin以及NVIDIA GPU Computing Toolkit\CUDA\v9.0(根据你的版本选择),NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp、NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64全部添加进去。

1.5.4 安装tensorflow-gpu

上面的程序全部做好以后呢,我们就可以安装tensorflow-gpu了,像最开始一样打开我们的Anaconda Prompt在里面输入

pip install tensorflow-gpu==1.8.0

因为我安装的1.8.0版本的tensorflow-gpu,所以我后面就要加==1.8.0,大家根据自己要安装的版本在后面输入自己相对应的版本号即可

容易进的坑

在安装时并没有选择自己要安装的版本,只是使用了

pip install tensorflow-gpu

然后就杯具了,我就是因为这个困扰了我好久好久,直接使用这个给你安装的是tensorflow-gpu1.11.0版本,这个版本很坑,因为你会发现上面的表格中并没有这个版本所对应的cuda和cudnn,所以啊就是各种给我报奇怪的错误,也就是dll文件找不到的错误,而且还不告诉你是哪个文件,我也很无奈啊,逼的最后自己开始看源码,所以大家要根据自己上面的图片找到自己对应的tensorflow-gpu版本进行安装就好了,安装时间较长,请再次耐心等待。至此我们的tensorlfow-gpu安装就全部进行完了

三、测试tensorflow-gpu以及各种错误的解决

1 直接测试

进入Anaconda Prompt,输入python进入python编辑器并输入import tensorflow如果没有报错则说明导入成功,如图:
在这里插入图片描述
接下来,我们可以使用一个简单的程序来测试gpu是否安装成功,输入

sess = tensorflow.Session()

如果出现你的gpu的信息,则表示你使用gpu运行,大功告成。当然我们可以使用一个很简单的程序来测试我们运行是否成功,例如:
在这里插入图片描述
测试a=1,b=2显示出结果a+b=3,显示正确,gpu运行正确。

2 使用python脚本测试以及问题解决

当然我在寻找我的问题的答案的时候没少吃过亏,因为我遇到的问题有点与众不同,所以我找了很多的方法,其中发现了一个很好用的脚本(此脚本原作者需要翻墙查找,所以我就在这里给大家贴出来)
链接:https://pan.baidu.com/s/1m7y2pfJ4N3ayjU8xj0LxZg 密码:pgvk
使用此脚本既可以检测错误,也可以测试是否安装成功,脚本运行实例,照样在Anaconda Prompt中输入
python+空格+将你文件夹中的文件直接拖过来即可

并回车,如图:
在这里插入图片描述
如果你的电脑成功则会显示上述图片,如果没有成功的话会显示你的错误以及解决办法大家可以根据屏幕提示来采取措施。例如显示:
The official distribution of TensorFlow for Windows requires "
"Python version 3.5 or 3.6.
表明你的python版本不对,请采用我上述我的方法重新安装
Could not load ‘msvcp140.dll’. TensorFlow requires that this DLL be
installed in a directory that is named in your %PATH% environment
variable. You may install this DLL by downloading Microsoft Visual
C++ 2015 Redistributable Update 3 from this URL:
表明你的msvcp140.dll文件找不到,请下载visual c++2015,也就是需要一个运行环境,或者是你msvcp140.dll文件所在的路径没有添加到环境变量中去,这些问题网上都有解决措施,你只需要根据屏幕提示找到自己的问题或者自己解决,或者度娘就好了。
如果你的tensorflow-gpu安装成功,那么恭喜你,你现在的已经可以使用gpu运行了,运行速度提升了一大截,你可以直接在Anaconda Prompt中使用python进入python编辑器直接进行神经网络的编程以及运算了,但是这个命令行编辑器有点难用,没有自动补全而且还丑(没错真的丑),所以我们可以使用pycharm来进行编辑。

四、配置pycharm

1 下载pycharm

直接百度搜索pycharm,进入官网:
在这里插入图片描述
然后呢,根据自己电脑版本下载就好了,推荐下载Professional版本。安装过程以及注册码等事项不再赘述,网上都有教程,不会的话就百度一下。

2配置pycharm

安装好后点击打开我们的pycharm,选择file->New Project后起个名字,例如起名为test:
在这里插入图片描述
点击确定以后,在我们的test文件夹上点击右键->new->python file如图:

在这里插入图片描述
输入文件名,例如py1,点击确定。
选择file->settings,打开Project Interpreter所在位置:
在这里插入图片描述
并点击红圈标记齿轮处后,点击add进入如下页面:
在这里插入图片描述
我们选择Existing environment,并点击红色圆圈标记处,找到我们最开始安装的python3.6或者3.5(切记我们安装的python是在Anaconda3\envs文件夹下,请勿直接使用Anaconda3中的python3.7)例如下图
在这里插入图片描述
如果你想所有的工程都使用此python编辑器的话勾选Make available to all projects,否则不进行勾选,点击ok。
在这里插入图片描述
点击apply并且点击ok(红色圆圈处一定得是我们的编辑器,如果不是,可以点击旁边倒三角选择我们的编辑器)
在这里插入图片描述
完成上面的步骤以后,点击Add Configuration以后,点击左上角“+”号,并且选择python后出现以下界面:
在这里插入图片描述
在这里插入图片描述
输入名字,随意输入,例如我输入的是python3.6,在script path选择我们工程文件的地址,一定要精确到文件,例如我的选择到了py1.py,光选择到文件夹是不可以的哦~
然后选择Python interpreter,选择我们刚才所设置的python编辑器,例如我的是python3.6(test)(1)所以我就选择这个了,记住一定要和前面的匹配,点击apply并确定。
此时可以看到运行按钮,调试按钮全部亮了起来,表示可以进行操作了。
在这里插入图片描述
有很多人的点击确定以后会加载,即在下述图片中一直加载,耐心等待即可
在这里插入图片描述
加载完成以后,便可以输入代码进行训练啦,例如训练RNN:

效果还是很不错的,虽然我的显卡不是很好,但是最起码比cpu快了好多好多倍呀

容易跌的坑

有的人在这里会报找不到dll文件的错误,此时要分情况对待,如果你在Anaconda Prompt中使用tensorflow-gpu是没有问题的,而在这里有问题的话,重启电脑,重新打开pycharm并按照我上述方法进行配置即可,如果你在Anaconda Prompt中就不能使用的话,请回到我上面教述的问题解决方法进行解决

至此所有的安装步骤全部完成,你就可以开始你的神经网络训练之旅啦!

展开阅读全文

没有更多推荐了,返回首页