2.3 TensorFlow类库的下载与安装(基于GPU模式)
2.2节中安装的是基于CPU模式的TensorFlow类库,这也是一般默认安装的TensorFlow模式,而往往在进行大规模数据计算时需要安装基于GPU模式的TensorFlow,输入如下代码:
pip install tensorflow-gpu
等待提示成功后即可认为基于GPU模式的TensorFlow安装完毕。但是如果需要真正使用GPU模式对数据进行处理,除了安装tensorflow-gpu库包以外,还需要安装CUDA与cuDNN,这是NVIDIA为了使用GPU进行程序运算专门提供的工具包。
2.3.1 CUDA配置
由于本书使用的是最新的tensorflow-gpu版本,其对应cuda 9.0.dll,因此就要下载cuda 9.0对应Windows版本的安装文件。
(1)下载地址:https://developer.nvidia.com/cuda-90-download-archive。
(2)下一步是选择下载的版本(如图2-18所示),这里NVIDIA提供了多种版本,请读者自行选择对应的操作系统以及版本号。
图2-18 选择的版本号
(3)还需注意最后的Installer Type选项,exe(network)是在线安装版(如图2-19所示),也就是执行这个安装程序需要联网。exe(local)是离线安装版(如图2-20所示),这个文件比较大。选完后,单击下面的Download按钮就可以下载。
图2-19 在线安装程序
图2-20 离线下载程序
(4)下载完成后,双击运行文件然后单击OK按钮,等进度条走完,就会进入安装界面,如图2-21所示。
图2-21 进入安装界面
(5)之后继续下一步,进入加载界面,如图2-22所示。
图2-22 进入加载界面
(6)检查系统兼容性,如果检测通过了,那么恭喜你,你的显卡可以安装CUDA,如果没有通过,只能抱歉地告诉你,只能pip uninstall tensorflow-gpu,然后执行pip install tensorflow,这种情况是你的电脑显卡不支持tensorflow-gpu加速。
(7)之后是软件许可协议,如图2-23所示,单击“同意并继续”按钮。
图2-23 软件许可协议
(8)此时出现安装选项,如图2-24所示。选中“精简”单选按钮,然后单击“下一步”按钮,之后等待安装完成即可。
图2-24 选择安装模式
(9)完成后,在环境变量检查PATH路径。在计算机桌面上的“计算机”图标上右击,打开属性→高级系统设置→环境变量,发现已经有CUDA_PATH和CUDA_PATH_V9_0两个环境变量。
CUDA_PATH是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA9.0,仅仅如此是不够的,还需要在环境变量里的PATH全局变量中加入bin和lib\x64目录的路径:
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.0 CUDA_LIB_PATH = %CUDA_PATH%\lib\x64 CUDA_BIN_PATH = %CUDA_PATH%\bin CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64 CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64
打开cmd,输入$ nvcc -V可以验证CUDA的安装是否成功。
2.3.2 cuDNN配置
对于TensorFlow而言,真正实现加速的是cuDNN,cuDNN调用的是CUDA显卡驱动。所以最后我们要配置cuDNN这个模块。
cuDNN的全称为NVIDIA CUDA Deep Neural Network library,是NVIDIA专门针对深度神经网络(Deep Neural Networks)中的基础操作而设计的基于GPU的加速库。cuDNN为深度神经网络中的标准流程提供了高度优化的实现方式,例如convolution、pooling、normalization以及activation layers的前向以及后向过程。
cuDNN只是NVIDIA深度神经网络软件开发包中的其中一种加速库。想了解NVIDIA深度神经网络加速库中的其他包,请访问链接https://developer.nvidia.com /deep-learning-software。
下面我们说一下正确安装cuDNN的方式,其实按官方安装说明进行安装就可以了。
(1)从https://developer.nvidia.com/cudnn上下载cuDNN相应版本的压缩包(可能需要注册或登录)。
(2)如果这个压缩包不是.tgz格式的,把这个压缩包重命名为.tgz格式。解压当前的.tgz格式的软件包到系统中的任意路径,解压后的文件夹名为CUDA。文件夹中包含三个子文件夹:一个为include;一个为lib;还有一个是bin。
(3)复制上述3个文件夹到CUDA_PATH指定的路径下面(见图2-25)。检查一下环境变量中是否有lib/x64文件夹的配置,这一步很重要。
图2-25 解压后的cuDNN文件
(4)之后仿照上一节的代码对其进行验证。这里需要注意的是,第一次使用tensorflow-gpu模式进行处理的时候,由于需要对显卡进行甄别,加载的速度较慢,同时打印的内容也较多,如图2-26所示。
图2-26 第一次加载tensorflow-gpu模式