Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇

一.理论知识简介

为了更好的理解gpu必要性,参考了一位博主的介绍,并对主要内容进行总结如下(如有要详细了解原理的,文末放置原博主链接):


1.1 CPU与GPU的区别

CPU和GPU不同之处在于其设计目标的不同。CPU需要很强的通用性来处理各种不同的数据类型,同时又要进行逻辑判断引入大量分支跳转和中断处理,使CPU的内部结构异常复杂。而GPU面对的则是类型高度统一、相互独立的大规模数据和不需要被打断的计算环境。

CPU擅长逻辑控制,串行的运算。和通用类型数据运算不同,GPU擅长的是大规模并发计算GPU的工作大部分就是这样,用很多简单的计算单元去完成大量的计算任务,但没什么技术含量,纯粹的人海战术。举个例子,你需要做上亿次的100以内加减法,这个任务没有太多技术含量,完全可以交给很多小学生,每个小学生负责一部分的计算就可以。而cpu更像是个经验丰富的科学家,虽然也能算100以内加减法,但他在其他领域有着更高的价值,无论是从人员数量、成本,或者资源浪费等角度考虑都实在是没必要。

总之,CPU和GPU因为最初用来处理的任务就不同,所以设计上区别较大。GPU的运算速度取决于雇了多少小学生,CPU的运算速度取决于请了多么厉害的教授。教授处理复杂任务的能力是碾压小学生的,但是针对没那么复杂但又任务量巨大的工作,老教授也架不住人海战术哇!

著作权归作者所有。原文链接:

1.2CPU和GPU的设计区别 - Magnum Programm Life - 博客园 (cnblogs.com)

1.2 CUDA到底是个啥

统一计算设备架构(Compute Unified Device Architecture, CUDA)是由NVIDIA推出的、只能用于自家GPU的通用并行计算架构,该架构能够使GPU解决复杂的计算问题。所谓并行计算,计算的原则可以概括为:一个大问题可以被划分为很多可以同时解决的小问题,并对这些小问题同时进行处理计算的过程。CUDA中计算分为两部分,串行部分在Host上执行,即CPU,而并行部分在Device上执行,即GPU。只有要解决的计算问题是需要进行大量并行计算的时候才能发挥CUDA的作用。

近年来,GPU被广泛应用于深度学习领域,并取得了相当哇塞的效果,基于GPU的并行计算已经成为训练深度学习模型的标配。然而,GPU并不是一个独立运行的计算平台,还需要与CPU协同工作,可以将其看做CPU的协处理器。因此GPU并行计算,其实是指CPU+GPU的异构计算架构。GPU与CPU通过PCIe总线连接在一起来协同工作,CPU所在位置称为为主机端(host),而GPU所在位置称为设备端(device),如下图所示。

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第1张图片

1.3 cuDNN又是个啥

NVIDIA CUDA 深层神经网络库(cuDNN)是一个用来进行 GPU 加速的深层神经网络库。cuDNN可以显著加速深度学习框架。cuDNN还可以集成到更高级别的机器学习框架中,如谷歌Tensorflow、加州大学的caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。

cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。如果将CUDA看作是一个木匠的木工桌,上面配有各种需要的工具。而cuDNN就相当于是木工桌上的工具之一,如一把扳手。但是这个叫CUDA的木工桌买来的时候,并没有送扳手,这时木匠想在木工桌上拧个螺钉,就需要木匠自己来配置一把合适的扳手。同理,如果想要在CUDA上面运行深度神经网络,就需要安装合适版本的cuDNN。这样才能使GPU进行深度神经网络的工作。

二.Win10系统下的安装教程

本文安装与配置环境过程已在自己电脑成功运行,以下是VS2019+CUDA+cuDNN安装步骤内容介绍,仅供参考,如有问题可以在评论区留言。


2.1 VS2019安装步骤

安装过程中建议先安装VS(版本可以按照自己的需求来选择),再安装CUDA,因为在CUDA安装的过程中会自动将相关文件安装至VS环境中。安装完VS后再安装CUDA的时候VS的路径会加入到CUDA中,出错几率会稍微小一些。如果电脑之前安装过不合适的VS版本建议完全卸载干净后重新下载。VS可以直接在官网下载,有两个版本,本别为:community和professional,可以按自己需求进行下载。官网链接如下:

Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com)

进入后界面以及安装选项如下图,其中MSVC v140与MSVC v141要单独勾选,安装时需注意一下,不要忘记了:

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第2张图片

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第3张图片

接下来就是等待安装,安装包比较大,建议在wifi下安装,等待时间较长,最好前一天晚上安装第二天直接看结果!

2.2 CUDA的安装步骤

VS安装完成后,就进入到下个步骤——CUDA。

首先安装NVIDIA的显卡驱动,在安装之前需要确认自己电脑显卡驱动的产品类型,查找途径:右键点击“此电脑”,打开“属性”,找到“设备管理器”里的“显示适配器”。在显示适配器下查看本机是否有NVIDIA驱动。若是有就会像下图显示NVIDIA开头的就是显卡驱动的产品类型,这时只需要右键点击显示适配器下的驱动选择“更新驱动程序(p)”到最新版本即可。

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第4张图片

若是没有就需要自己下载安装驱动。正常驱动直接官网下载即可,进入官网后,找到驱动程序,并选择GeForce 驱动程序,下面给出官网的链接。我是采用驱动人生检测并配置的显卡驱动,检测的版本为NVIDIA GeForce RTX 3090,按要求一路默认安装即可。

NVIDIA 驱动程序下载
Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第5张图片当驱动安装完成后就可以安装CUDA了。首先需要确认本机显卡支持的CUDA版本,检查CUDA的版本有两种方法,一种是“win+R”输入cmd,打开控制面板,输入nvidia-smi:

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第6张图片

第二种方法在搜索功能里搜NVIDIA,打开NVIDIA控制面板,打开“帮助”中的“系统信息”,选择“组件”,就会出现cuda版本信息,具体步骤如下图所示。  

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第7张图片

我所使用的电脑显卡是NVIDIA GeForce RTX 3090,支持的CUDA版本选择的是11.1。下载链接如下所示,可按自己显卡配置的需求自定义下载:

CUDA Toolkit 11.4 Downloads | NVIDIA Developer

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第8张图片

此处要把一万个注意打在公屏上!!!

当下载完成后,就可以开始安装CUDA啦!安装的时候最好关上防火墙。我第一次配置环境就在安装这块墨迹了很久,卸载重新安装又很麻烦,所以这步一定要仔细!

下载后点击exe文件运行,一共会设置两次解压目录,分别为临时解压目录与安装目录。临时解压路径默认与自定义都可以,安装结束后,临时解压文件夹会自动删除;安装目录路径建议默认即可(注:临时解压目录与安装目录的安装路径不能设置一样,否则安装结束后会找不到安装目录),选择安装目录时要注意记一下安装路径,后面还会用到。

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第9张图片

前面系统检查、许可协议按默认进行即可,安装选项选择自定义安装(第一次安装全选,第N次安装只选择CUDA),自定义选项如下图所示:

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第10张图片

 Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第11张图片

接下来就可以选择安装目录位置了,为了避免出错,这里的安装路径建议默认路径,不用去更改,这里再注意下记住安装位置。

 Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第12张图片

 Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第13张图片

到这里CUDA就安装完成了,随后可以通过“Win+R”打开命令行输入“cmd”后,在默认安装文件夹下输入“nvcc -V”查看是否安装成功:

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第14张图片

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第15张图片

2.3 cuDNN的安装步骤

cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算,因此在安装完CUDA后还要下载与之匹配版本的cuDNN。cuDNN的下载主要有两种方法,分别为官网下载和绕过官网直接下载。

官网下载虽然是免费的,点击下载后会跳转出注册界面,但是注册过程有些麻烦,并且注册过程非常慢,经常注册到一半就会卡住。下方提供官网链接,仅供参考。注册工作完成后,找到并下载对应CUDA版本的cuDNN,下载完成之后解压下来:

另一种下载cuDNN的方法可以绕过注册这个环节直接下载,这个方法比较简单快捷。如果遇到官网下载,注册环节总是卡顿的问题,可以试试这个方法。下面先给出下载链接:

https://developer.nvidia.com/rdp/cudnn-archive#a-collapse51b

点击链接,进入界面后找到需要的版本,并点击展开下一层,比如我需要的是在windows10系统下下载与CUDA11.1匹配的cuDNN版本: 

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第16张图片

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第17张图片

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第18张图片

或者也可以右键点击需要下载的版本,选择“复制链接”,然后打开迅雷等下载工具,添加任务时粘贴进刚才复制的网址,即可完成下载。下载完成后,对压缩包进行解压并打开,可以看到有几个文件夹,将每个文件夹里面所有的内容复制并放到CUDA安装目录相应文件夹下即可。

具体操作如下,解压: 

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第19张图片

打开解压文件,查看里面的文件夹:
Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第20张图片
打开前面CUDA的安装目录,并与cuDNN目录进行比对:

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第21张图片

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第22张图片

 将cuDNN对应文件夹的内容复制到CUDA对应文件夹中:

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第23张图片

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第24张图片

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第25张图片

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第26张图片

2.4 设置环境变量与验证

完成后需要设置环境变量,计算机上点“右键”,打开“属性”->“高级系统设置”->“环境变量”,可以看到系统中多了CUDA_PATH和CUDA_PATH_V11_1两个环境变量:

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第27张图片

 然后编辑系统变量下的 “Path”变量。此处需要添加两个变量:

1.C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin

2. C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\extras\CUPTI\lib64

具体如下图所示:

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第28张图片编辑完成后点击“确定”,cuDNN就安装完事儿啦,最后通过“Win+R”打开命令行输入“cmd”后,输入“nvcc --version”验证一下是否安装成功:

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第29张图片

或者采用CUDA内置的deviceQuery.exe 和 bandwithTest.exe 来判断是否安装成功。

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第30张图片

通过“Win+R”打开命令行输入“cmd”后,cd到安装目录下的demo_suite,然后分别执行bandwidthTest.exe与de viceQuery.exe成功的话会得到下图:

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第31张图片

Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇_第32张图片 到这里,结果显示PASS关于VS2019+CUDA11.1+cuDNN8.0.5的安装就完成啦!

后续如果有时间会更新搭建GPU下的darknet。

完结!撒花!!! 

你可能感兴趣的:(机器学习GPU环境配置,深度学习,python,c++,visual,studio,pycharm)