GPU版选择说明
TensorFlow不仅提供了CPU版资源调度工具包,而且提供了GPU版资源调度工具包。该工具包在计算中,同时利用CPU和GPU进行数据计算,当处理图像任务时,优势较仅使用CPU处理十分明显,处理速度比单纯使用CPU提高10倍甚至百倍到千倍,极大地提高了开发效率。
GPU版TensorFlow安装后还不能换立即使用,因为需要调用GPU资源,所以需要安装GPU驱动。因为我用的N卡,因此还需要安装NVIDIA驱动CUDA和神经网络加速计算单元cuDNN。
驱动可以直接搜索并到NVIDIA官网进行下载安装,我的电脑配置CPU是i7 9700,显卡是GeForce RTX 2060 SUPER,内存是16G*2,因此这里我都下了最新版CUDA 11.1.0和cuDNN 8.2.0。
CUDA简介
CUDA(Compute Unified Device Architecture,统一计算架构),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
cuDNN简介
NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销,可以集成到更高级别的机器学习框架中。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。
CUDA与cuDNN的关系
CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
检查CUDA与cuDNN是否安装成功
- 可以通过在cmd中输入
nvcc -V
查看CUDA版本来确认是否安装成功,或者输入nvidia-smi
查看显卡驱动版本、cuda版本、显卡使用情况。 - 到CUDA目录(如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\extras\demo_suite)下执行bandwidthTest.exe和deviceQuery.exe两个程序,可以打开cmd再将程序拖进去执行,结果都出现
Result = PASS
即可。
安装CUDA与cuDNN遇到的问题及解决
- CUDA安装过程中出现的第一个选择路径是临时安装文件,默认安装在了C盘,安装完毕后会自动删除。
- cuDNN下载下来是个压缩包,需要将文件全放到CUDA(NVIDIA GPU Computing Toolkit)目录下。而安装完CUDA后打开的文件夹CUDA Samples所在上上级目录下的NVIDIA GPU Computing Toolkit这个文件夹下并没有CUDA文件夹,而在C盘Program Files下找到了正确的文件夹,并将压缩包里的东西全部复制到CUDA\v11.1\路径下。
C:\ProgramData\NVIDIA GPU Computing Toolkit(✖)
C:\Program Files\NVIDIA GPU Computing Toolkit(✔)
完成后添加环境变量path:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CU