windows系统下基于cuda9.2+cudnn7.2.1的tensorflow-gpu环境搭建

关键词:tensorflow-gpu,cuda,cudnn,环境搭建

本文是关于tensorflow-gpu在windows系统下的环境搭建。GPU相比较于CPU更加适合深度学习的计算。

深度学习和神经网络的每个计算任务都是独立于其他计算的,任何计算都不依赖于任何其他计算的结果,可以采用高度并行的方式进行计算。而GPU相比于CPU拥有更多独立的大吞吐量计算通道,较少的控制单元使其不会受到计算以外的更多任务的干扰,拥有比CPU更纯粹的计算环境,所以深度学习和神经网络模型在GPU的加持下会更高效地完成计算任务。

安装tensorflow-gpu之前,还需要搞定硬件,cuda和cudnn这三样。硬件指PC机上需安装有相应的图形处理单元(GPU);cuda是英伟达(NVIDIA)公司开发的一款通用并行计算架构,可使GPU解决复杂的计算问题;cudnn是是用于深度神经网络的GPU加速库。可以这样理解:cuda作为软件需要硬件支持自不必说,而cudnn是建立在cuda之上,针对于深度学习的一个库,tensorflow和pytorch等深度学习框架需要cudnn库的支持才可以运行。

1.检查硬件及驱动

首先需要确认自己的硬件可以安装cuda,并查看驱动对应的cuda版本。

1)在运行中输入控制面板打开,将右上角查看方式改为大图标

2)打开NVIDIA控制面板

3)标题栏点击帮助——>系统信息,项目下面可以看到自己的GPU型号。我的是笔记本,型号是GeForce MX150。想查看自己的GPU是不是支持cuda可以到这个网址查看:https://developer.nvidia.com/cuda-gpus

可能是笔记本的原因,这里的型号没有我要找的,但官网上MX150显示是支持cuda的,因此就可以继续安装了。
windows系统下基于cuda9.2+cudnn7.2.1的tensorflow-gpu环境搭建_第1张图片

4)点击组件,在NVCUDA.DLL之后可看到文件版本和产品名称。本机的驱动是cuda9.2.217,可以安装的cuda版本是9.2以下的。这里我直接对应的安装了cuda9.2。驱动版本较低的话可在设备管理器中更新一下显卡驱动。

windows系统下基于cuda9.2+cudnn7.2.1的tensorflow-gpu环境搭建_第2张图片

2.安装cuda9.2

如果硬件和驱动都支持,下一步就可以安装cuda了。

1)安装。下载地址:https://developer.nvidia.com/cuda-92-download-archive,下载network版本就可以。下载前需要注册,比较麻烦,也可选择从网盘下载:https://pan.baidu.com/s/1wzok1F28bQq3KX8UJ5UNQw,提取码:djj9

打开下载的exe文件根据提示一步步安装,直至安装完成。注意选项阶段选择自定义安装,只安装CUDA即可,否则易出现安装不成功的现象。

windows系统下基于cuda9.2+cudnn7.2.1的tensorflow-gpu环境搭建_第3张图片 windows系统下基于cuda9.2+cudnn7.2.1的tensorflow-gpu环境搭建_第4张图片

2)验证。之后需要验证是否安装成功,运行中打开cmd,输入nvcc -V可查看当前cuda toolkit的版本。

cuda提供了两个运行案例可供验证是否成功,官网给出的位置在:

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.2\bin\win64\Release

存在两个可执行文件deviceQuery和bandwidthTest。我在自己的电脑上没有找到,但是在以下位置找到了这两个文件的源文件和项目文件:

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.2\1_Utilities

用VS打开项目文件deviceQuery_vs2010和bandwidthTest_vs2010,两个项目均为控制台项目,直接运行会出现闪退现象。可在main函数最后一个语句exit()处打断点,运行后出现以下界面代表CUDA安装成功。

windows系统下基于cuda9.2+cudnn7.2.1的tensorflow-gpu环境搭建_第5张图片
windows系统下基于cuda9.2+cudnn7.2.1的tensorflow-gpu环境搭建_第6张图片

3.安装cudnn7.2.1

cudnn7.2.1的下载地址为:https://developer.nvidia.com/rdp/cudnn-download。同样需要注册,也可以选择从上述网盘下载。cudnn7.2.1是一个库文件,因此只需要添加到cuda的安装路径中即可。压缩包解压后,

1) 复制 cuda\bin\cudnn64_7.dll 至 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin。

2)复制 cuda\ include\cudnn.h 至C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include。

3)复制 cuda\lib\x64\cudnn.lib 至 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64。

复制完成后查看系统的环境变量。右键此电脑==>属性==>左侧高级系统设置==>环境变量==>查看是否存在以下系统环境变量:

Variable Name: CUDA_PATH 
Variable Value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

若存在则表明安装成功。

4.安装适用于cuda9.2的tensorflow-gpu

tensorflow-gpu的版本与cuda和cudnn有较严格的对应关系,经过测试的版本对应关系如下:

windows系统下基于cuda9.2+cudnn7.2.1的tensorflow-gpu环境搭建_第7张图片

其中的cuda和cudnn版本比较粗糙,没有给具体的版本号。本人用pip测试安装了1.12.0及1.11.0都无法正常运行,说明直接安装的版本不适合现有的cuda9.2。此时可以通过源码构建可用的tensorflow,具体步骤见如下网址:https://tensorflow.google.cn/install/source_windows。

也可以从GitHub上选择构建好的tensorflow-gpu文件,下载到本地后再用pip安装。

tensorflow下载地址:https://github.com/fo40225/tensorflow-windows-wheel。本人选择了1.10.0\py26\GPU\cuda92cudnn72sse2版本。

windows系统下基于cuda9.2+cudnn7.2.1的tensorflow-gpu环境搭建_第8张图片

下载到本地后,打开cmd,使用cd命令找到下载的.whl文件所在的位置。输入

pip tensorflow_gpu-1.10.0-cp36-cp36m-win_amd64.whl

等待安装即可。

使用pip安装时要注意,如果系统中存在多个python版本,要首先确定自己的默认版本与tensorflow是对应的。修改默认版本可以通过更改环境变量中的Path变量。

安装完成后,再cmd中输入如下指令,得到计算结果证明安装成功。

import tensorflow as tf 
sess = tf.Session() 
a = tf.constant(1) 
b = tf.constant(2) 
print(sess.run(a+b))

windows系统下基于cuda9.2+cudnn7.2.1的tensorflow-gpu环境搭建_第9张图片

参考链接:

1)知乎专栏:为什么深度学习和神经网络需要GPU?https://zhuanlan.zhihu.com/p/106669828

你可能感兴趣的:(环境搭建,tensorflow,python,人工智能,windows)