- OpenCV+TensorFlow深度学习与计算机视觉实战
- 王晓华
- 1318字
- 2021-04-03 13:21:44
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提供了多种版本,请读者自行选择对应的操作系统以及版本号。
![](https://epubservercos.yuewen.com/907465/13908176505510706/epubprivate/OEBPS/Images/Figure-P31_1251.jpg?sign=1739377768-GVM5zc6DXX8pKsjtrT2dAkgCVvzJMKzm-0-343857f1d0a3ea8e983eb3c28817e5d2)
图2-18 选择的版本号
(3)还需注意最后的Installer Type选项,exe(network)是在线安装版(如图2-19所示),也就是执行这个安装程序需要联网。exe(local)是离线安装版(如图2-20所示),这个文件比较大。选完后,单击下面的Download按钮就可以下载。
![](https://epubservercos.yuewen.com/907465/13908176505510706/epubprivate/OEBPS/Images/Figure-P32_1269.jpg?sign=1739377768-GDmTtelUR4iROMF3232lNCo9CZhk4nCO-0-62740af5d33bb1b1e11a48f075352d96)
图2-19 在线安装程序
![](https://epubservercos.yuewen.com/907465/13908176505510706/epubprivate/OEBPS/Images/Figure-P32_1279.jpg?sign=1739377768-ra6LYk3JTjPs9dHqhQJovj8qHaY9XJ6c-0-d153b5edd07fdff5d5b8e8ea35d63617)
图2-20 离线下载程序
(4)下载完成后,双击运行文件然后单击OK按钮,等进度条走完,就会进入安装界面,如图2-21所示。
![](https://epubservercos.yuewen.com/907465/13908176505510706/epubprivate/OEBPS/Images/Figure-P32_1291.jpg?sign=1739377768-CntncafkngQCzoafJzCmLJO28pdghhxc-0-e4ba888fd3b2e03e552085dd296a6af5)
图2-21 进入安装界面
(5)之后继续下一步,进入加载界面,如图2-22所示。
![](https://epubservercos.yuewen.com/907465/13908176505510706/epubprivate/OEBPS/Images/Figure-P33_1303.jpg?sign=1739377768-o7gX8AUNvf9ndyrAf2bFvJ8Xsm623FR1-0-461e88d4cbb35446740ae09cea34762a)
图2-22 进入加载界面
(6)检查系统兼容性,如果检测通过了,那么恭喜你,你的显卡可以安装CUDA,如果没有通过,只能抱歉地告诉你,只能pip uninstall tensorflow-gpu,然后执行pip install tensorflow,这种情况是你的电脑显卡不支持tensorflow-gpu加速。
(7)之后是软件许可协议,如图2-23所示,单击“同意并继续”按钮。
![](https://epubservercos.yuewen.com/907465/13908176505510706/epubprivate/OEBPS/Images/Figure-P33_1307.jpg?sign=1739377768-i75Q7NWRTMJIYIb2Nq4YtsNQ2cavpzpG-0-7b534ea2e5716cbe015c2cef203459eb)
图2-23 软件许可协议
(8)此时出现安装选项,如图2-24所示。选中“精简”单选按钮,然后单击“下一步”按钮,之后等待安装完成即可。
![](https://epubservercos.yuewen.com/907465/13908176505510706/epubprivate/OEBPS/Images/Figure-P34_1321.jpg?sign=1739377768-EOfP0JwM8qJaqmA3rgL5GXhKMt6JlaYL-0-be373431fcc93414ca0d218d52fc9f50)
图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文件夹的配置,这一步很重要。
![](https://epubservercos.yuewen.com/907465/13908176505510706/epubprivate/OEBPS/Images/Figure-P35_1367.jpg?sign=1739377768-xdpDBnOaEuVc4VFGucTlZCqgGhN4MVIT-0-b94fd4d6fde108405e49bbb03be00293)
图2-25 解压后的cuDNN文件
(4)之后仿照上一节的代码对其进行验证。这里需要注意的是,第一次使用tensorflow-gpu模式进行处理的时候,由于需要对显卡进行甄别,加载的速度较慢,同时打印的内容也较多,如图2-26所示。
![](https://epubservercos.yuewen.com/907465/13908176505510706/epubprivate/OEBPS/Images/Figure-P35_1377.jpg?sign=1739377768-YTTmnYgrb0BXWORqSsR6idiJM3wecnvD-0-7b748d279a20f4f34502cbc88048920a)
图2-26 第一次加载tensorflow-gpu模式