Windows10系统下的tensorflow-gpu+CUDA+cuDNN配置

    在使用了一段时间的cpu版本的tensorflow之后,出于对GPU版本的好奇和实际中想用GPU加速训练的探索。本人看了好多博客也配置了好多次,趟过的浑水可以说是极多了,对产生过启发的博客作者再次表示感谢。(结尾有彩蛋,需要下载CUDA各版本和cnDNN7.0的朋友们有福了)

    第一步,我是在windows10系统上进行的工作。

    第二步,要看你的NVIDIA英伟达显卡的硬件型号,这个可以通过“开始”  “鼠标右键”进入“设备管理器”,通过查看“显示适配器”来确定硬件型号,比如我的显卡就是如下图所示:NVIDIA  GeForce GTX 1050型号的。因为我的硬件限制了我的想象力(哈哈),所以本博客中我会用我1050系显卡来举例啊。其实其他型号的方法也是一致的,也具有参考性。根据实际的硬件情况来配置,别一上来就看别人的配置方法,各种tf-gpu版本,nvidia驱动,cuda以及cuDNN统统安装完事不一定能用的,这些所有配置的前提是硬件决定的啊,直接去搞会走太多弯路的。

    

 

       第三步,显卡硬件明确之后,我们就要考虑显卡的驱动了,((我当初也是一开始就直接安装最新版本的显卡驱动,然后cuda安装,cuDNN配置,环境变量配置等等一步步走下来,结果最后一步的测试是否成功阶段出现了 "could not find 'cudart64_90.dll' ",意思就是找不到这个dll动态库,这里的64肯定是指64位了,90指的是CUDA v9.0版本的意思,所以我一开始失败,但是提示我缺这个dll动态库,我就去我默认安装CUDA的目录下,CUDA/v9.1/bin下面去核对是否真的缺少'cudart64_90.dll',结果我我发现我有'cudart64_91.dll'的动态库,这直接说明我的cuda版本要后退到v9.0,在显卡驱动没改动时,我觉得是cuda版本我下载的新了,需要回退到老版本v9.0,结果我屁颠屁颠下载和cuda v9.0安装的时候提醒我要考虑硬件的兼容性,我当时是拒绝的(呜呜呜)),说这些是为了让大家有一个较好的工程思维,可不是废话啊,全是淌过的浑水的纯天然教训啊),我自己的这款GTX 1050我最终决定安装早点older的版本。先来NVIDIA官网下驱动啊,链接奉上:http://www.geforce.cn/drivers,具体在官网怎么选择下载呢,附图请看下面:大家根据我图中所标识的方法去搜索适合自己显卡型号的驱动列表啊。

 

    “开始搜索”,我的结果result如下所示:

    索性我就直接下载2017-11-30发行的这个版本呢,反正结果证明我没错(哈哈),至于选择其他的能不能行呢?这个说实话,我也不好说,一开始我安装最新的显卡版本驱动,但是之后的安装cuda v9.0就提示我不能好好安装啊。所以才回退的嘛。有理有据吧!!!   :)  下载完毕后,安装,有啥选项默认下去安装,毕竟是驱动嘛,别随便改。

     第四步:对于 CUDA的安装啊,先看看下图,tensorflow-gpu的版本和CUDA、cuDNN的版本是直接相关的。我的个人方法呢,就是用了 tensorflow-gpu1.7+CUDA9.0+cuDNN7.0(环境是基于Windows10+python3.5),也就是本列表最下面这个各个版本了。如果有朋友要用其他组合来配置,也可以参照下表。
 
CUDA

Different TensorFlow versions support/require different CUDA versions:

TFCUDAcuDNNCompute Capability
1.1, 1.28.05.13.7 (K80)
1.2.1-1.3.18.06.03.7
1.48.0/9.06.0/7.03.7, 6.0 (P100), 7.0 (V100)
1.4.18.0/9.0/9.16.0/7.03.7, 6.0, 7.0
1.59.0/9.17.03.7, 6.0, 7.0
1.69.17.03.7, 6.0, 7.0
1.79.0/9.17.0/7.13.7, 6.0, 7.0

    好,咱们来下载CUDA啊,继续移步NVIDIA:https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal,下载选项看下图:

当然这里的Installer Type安装类型,大家可以自由选择网络安装或者本地下载安装,我选择的是本地下载好了安装的方式,下载完毕是cuda_9.0.176_win10.exe。然后就是双击安装啦,这次安装过程中出现的提示等可以下一步,确定安装,路径也是默认,不过这里有个注意点,就是CUDA和VS的相关项,如果安装CUDA没成功,可以用自定义安装,将CUDA选项下的VS相关项勾选给去掉,这样就可以安装上去CUDA啦。到这里就恭喜大家已经安装好适应显卡硬件的驱动软件的CUDA计算库啦。

    第五步下载cuDNN并添加配置到CUDA目录中,cuDNN就相当于cuDA显卡计算库中专门针对Depth Neural Network深度神经网络的计算专用库啦,大家有没有看出来我刻意表达的cuDNN名字的由来了(哈哈)。cuDNN的下载可以去:https://download.csdn.net/download/u010824101/10507845,下载完毕后解压缩,将cuda文件夹下的bin  lib include直接全部拷贝到安装CUDA的C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0这个目录下(这就是默认的CUDA安装目录),“替换”?没事,就是把原先没有的库在添加到cuda库中嘛!!!

    第六步环境变量,桌面时右键“此电脑”,选择“属性”打开系统窗口,然后选择并打开“高级系统设置”进入系统属性窗口,打开环境变量,然后将C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64,这三个路径填到系统变量的Path中,这样环境变量就配置好了。另外,我相信大家都是安装好tensorflow-gpu才来看本博客的啊(pip安装或者pycharm等的工具包安装好),不然那肯定是迷路的看官啊(哈哈哈)!我在第四点中提到的那个表记得吧?我一路下来CUDA是9.0版本,cuDNN也是CUDA9.0版本匹配的cudnn-9.0-windows10-x64-v7,tensorflow我选择了1.7版本。而且我用的是python3.5,我确认大家会在python中安装tensorflow,修改版本的啊!!!

    第七步测试一下,我用的python编辑工具是pycharm,这个其他anocoda或者jupyter notebook编辑测试都一样的,输入代码先来看一下看自己的tensorflow版本:

import tensorflow as tf

print(tf.__version__)  #这里的__ 是两次_啊,我知道大家都了解的,嘿嘿

然后运行输出结果为:

我这里用的版本就是1.7.0嘛。

再次,我们测试GPU啊。先做个加法嘛,大家结果肯定知道结果吧,肯定是[5.0,7.0,9.0],代码如下:

 

import tensorflow as tf
print(tf.__version__)
a=tf.constant([1.0,2.0,3.0],shape=[1,3],name='a')
b=tf.constant([4.0,5.0,6.0],shape=[1,3],name='b')
c=tf.add(a,b)
sess=tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))

运行输出结果截图如下:

        最后一步,庆祝啊,成功啦,看到满满的GPU字眼,心里面那个开心啊,我的显卡名字name就叫:GeForce GTX 1050

显存就是2GB,可用的1.61GB。好开心啊,然后还有graph的节点说明(tensorflow中的概念,不懂自行百度啊朋友),Add,a,b计算就发生在GPU中,最后结果输出不出所料的正确,哈哈哈。然后还进程完成,退出码返回0,没毛病啊!!!如果你也到这一步了,看到结果静静的朝你微笑了,恭喜你,你就可以开启GPU之路的第一步啦。虽然我是用我的硬件作为例子来逐步配置的,但是想要配置tensorflow-gpu,或者安装CUDA,配置cuDNN,配置CUDA的环境变量的朋友们都可以借鉴。过程都是一个流程,只是使用的库版本需要根据自己情况来适当调整而已。

    朋友们,终于对自己的tensorflow-gpu探索之路勇敢的踏出了第一步,而且这是本人第一次写博客,不为别的,就为自己在前面的探索过程中撞的灰头土脸,头破血流,我不愿意让别的爱好者和网页朋友们也被这些问题所困,就发出来自己纯天然遭受被虐,然后鼓起勇气拿下它的过程。和朋友们分享一句话,”适合自己的才是最好的“,就是遇到问题,百度的过程中,看文章的过程中,结合自己的实际情况,比如我先了解自己的手头的硬件情况,再去一步步探索。还有不怕失败,失败不可怕,关键在思考出失败的原因,理性认真的分析,然后决定下一步的策略。

    结尾彩蛋,由于下载一些资料很花时间,我这里整理了一下,cnDNN7.0下载网址https://download.csdn.net/download/u010824101/10507845,这可以解决测试时候出现Could not find "cudart64_7.dll"或"cudart64_70.dll"。CUDA各版本下载网址https://download.csdn.net/download/u010824101/10507886,由于CSDN上传资源有1000MB的上限,所以我传到百度网盘了,大家下载好txt之后,打开里面的链接来下载就可以啦。祝同仁们安装顺利!!!

  • 17
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 37
    评论
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值