Tensorflow GPU win7

来源:互联网 发布:冒充淘宝客服诈骗 编辑:程序博客网 时间:2024/06/03 13:59

用tensorflow实现CNN做了一段时间的实验,从小小白到小白,还是学到了很多,然而,有一点很痛苦的就是速度太慢了,每运行一次程序就要等个好长时间,是我电脑太渣了?一度在怀疑自己适不适合搞深度学习,硬件环境不够何必折磨自己~~好在,tensorflow有GPU版本了,还可以在windows上安装了,为了做TF买的笔记本终于可以好好派上用场了~~不说废话了,开始记录安装过程,以后回顾也有个依据,也给有需要的亲们提供一点帮助,安装实现TF的GPU也是各种折腾,博客上面贴图太麻烦了,需要看图可以下载文档:点这里。

1.准备

CUDA 8.0

CuDNN 5.1

Anaconda

python 3.5

Tensorflow 1.1

2.开始

 第1步:安装CUDA 8.0

在CUDA官网上下载8.0版本,选择与自己计算机相对应的安装包【在下载过程中最坑的就是下不动了。。。有一个解决办法就是在linux环境下下载,我就是这么做的。我下载的是windows764位,分享在这里【链接:http://pan.baidu.com/s/1hrI0F0g密码:jrsn

下载完成后一路下一步,直接安装即可。

安装完成后,在cmd中输入:nvcc  -v 查看版本信息

安装路径在 C:\Program Files\NVIDIA GPUComputing Toolkit\CUDA\v8.0

第2步:安装cuDNN 5.1

在cuDNN官网上下载5.1版本(与CUDA的版本匹配),需要注册NVIDIA用户,并加入开发组,填写问卷,然后下载对应的版本【同样,若在windows下下载不了,可以在linux环境下下载。我下载的分享在这里【链接:http://pan.baidu.com/s/1c2pILA4密码:1985

下载完成后解压,会有三个文件夹:bin、lib、include

将这三个文件夹复制到CUDA/v8.0目录下,覆盖v8.0中相同的文件。

第3步:安装Anaconda和python3.5

虽然直接从python官网下载python3.5安装是可以的,但是我在做后续程序的时候总是缺包,而这些包又不容易下载,因此安装Anaconda,缓解缺包难下载的问题。

第4步:安装tensorflow

使用Anaconda安装tensorflow GPU版本(我下载的是tensorflow_gpu-1.1.0,链接:http://pan.baidu.com/s/1qYwgFQs 密码:sbg2)。

第5步:验证tensorflow gpu

验证tensorflow gpu【这也是坑开始的地方】

打开python,输入:

import tensorflow as tf

hello = tf.constant(‘hello’)

sess = tf.Session()

print(sess.run(hello))

 

如果几个命令下来没有问题,恭喜你,安装ok了。

但是,我就遇到了两大问题。

问题1:GTX无法弹出

运行到sess = tf.Session()出错:

NVIDIA GeForce GTX 设备是不可移动的,无法弹出或拔出

百度了一下,看到大部分人说是显卡驱动太高了,右键“我的电脑” “管理” “设备管理器” “显卡适配器”,找到自己的独立显卡,然后右键查看属性,选择“驱动程序”,有驱动的版本。

既然说是驱动太新了,那就下载一个旧版本的,刚开始是用驱动精灵随便下的一个旧版本的,重启的时候蓝屏了,吓得我还以为电脑要挂掉了,强制关机启动之后先看看驱动在不在,然后再次运行测试程序,居然没有出现GTX无法弹出的问题了,而是打印出了GPU的信息,真让人欣喜,满怀期望的运行最后一个命令,结果,出现了一个新的错误,问题2:cuda driver version is insufficient for cudaruntime version

问题2:cuda版本与运行版本不匹配

cuda driver version is insufficient forcuda runtime version

百度说是CUDA的版本与运行时的不匹配,CUDA需要足够高的版本,这是版本又低了的节奏??!!!好吧,又需要重新安装高版本的驱动,然后又出现了问题1中GTX无法弹出的问题。。。用GPU-Z查看,计算能力中的CUDA是没有打勾的。

 

驱动版本是高了也不行,低了也不行,到底用哪个版本啊?回到CUDA8.0安装的时候有个安装选项,通常是选“精简安装”,但其实选择自定义后会发现CUDA安装的一些组件的版本信息,而且CUDA安装的时候会自动升级版本,但是不会对版本降级,所以安装的版本比CUDA里的组件的版本低一点就好(至于为什么太低的版本升不上来,不大清楚额~~)


现在知道了驱动版本不能太高也不能太低,那就选个差不多的,首先是卸载当前的显卡驱动,然后在驱动精灵上安装旧版本,或者在网上下载旧点的版本。下载安装完成后,重启电脑,一定要重启!重启后查看显卡驱动是否对应着。


重新安装CUDA,选择自定义安装,看看安装包的组件,完成后将cuDNN的文件还是覆盖到CUDA/v8.0中,重启电脑,一定要重启!重启后用GPU-Z查看,计算能力中CUDA是打勾的。


再次运行测试程序,成功打印出了GPU信息和程序结果,两个问题都解决了,真的是够折腾的,但折腾的过程中还是了解到了不少,挺有收获的~~用CNN程序小测了一下CPU和GPU的速度,果然快不少啊~~


最后,要感谢博主@infovisthinker的一篇博客:http://blog.csdn.net/infovisthinker/article/details/54705826,帮助了很多~~