目标检测第4步:显卡、GPU、CUDA、cuDNN的介绍及如何在Windows 10下安装cuDNN?

(请先看置顶博文)本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客

目录

(请先看置顶博文)本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客

一、显卡和GPU的关系

二、CUDA是什么?

三、cuDNN是什么?

四、cuDNN的安装过程 

1、下载cuDNN

2、安装cuDNN

3、检验CUDA是否被cuDNN影响

A、查看CUDA版本

B、运行CUDA的测试文件


一、显卡和GPU的关系

       显卡又叫“显示卡”、“显示适配器”,是个人计算机(Personal Computer)的组成部分之一,启到控制显示器正确显示的作用,基本功能(原理)就是将模拟信号转换为电信号。市场主流的显卡大多都是NVIDIA(英伟达)和AMD(超微半导体)这两个公司设生产的,分别被简称为N卡和A卡(N&A就是取自各自公司英文首字母)。

       显卡的结构为:电容、显存、显示芯片、风扇、各类接口等。其中显存全称为“显示存储器”,和计算机中的存储器相似,负责存储显示芯片需要处理的各种数据,其容量的大小,性能的高低,直接影响着电脑的显示效果;显示芯片就是深度学习中经常提到的GPU或者VPU(或被称作图形处理器),负责并行计算工作,工作时产生的热量由风扇负责排除;各类接口负责输入输出和桥接。

       显卡分为三个种类:集成显卡、独立显卡、核芯显卡集成显卡顾名思义就是集成,将显示芯片、显存等都集成在主板上,性能偏差。这就意味着散热低、功耗低。独立显卡就是独立出来,显示芯片、显存等都在一块电路板上(显卡),然后插在主板上,特点是功耗大、散热大,性能强,常作为游戏卡和专业卡。核芯显卡是将图形核心集成在处理核心上的显卡,构成一个完整的处理器。这里我们因为要进行深度学习,所以更多关注N卡。

        众所周知,独立显卡中的GPU具有并行计算能力,所以常用来进行图像处理。经常听到的描述显卡性能好坏的名词“算力”是怎么一回事呢?先来看一下算力的单位TFLOPS,每秒钟可以完成几万亿次单精度运算早期是以单精度(也即float)的运算能力峰值作为(宣传)指标,现在也见过以半精度浮点计算能力对各大主流GPU进行排行的,当然也有双精度的。除了算力以外,还有一个衡量显卡性能的指标,那就是带宽,从显存读取数据的速度,这个指标的大小与位宽、频率相关。

        所以,显卡和GPU的关系是:GPU是显卡上的一块芯片,是其重要组成部分,而显卡是包含GPU的一块集成电路板,GPU不等于显卡。另外性能卓越的GPU的核数一般有很多,被称为众核,非常适合在众多核心中执行相同的指令流

二、CUDA是什么?

       CUDA(Compute Unified Device Architecture)是英伟达公司开发的基于自家显卡的、基于新的并行编程模型和指令集架构的通用计算架构,让用户通过此架构充分利用N卡的GPU进行复杂高效的并行计算,如进行深度学习。 

三、cuDNN是什么?

       cuDNN是用于深度神经网络的GPU加速库,具有高性能、易使用、低内存等特点,可以以插入式的方式集成到更高级别的机器学习框架中,从而让技术人员专注于设计神经网络结构(模型),而不是费劲脑汁提高性能。那既然是插入式集成,cuDNN的安装步骤是什么呢?

四、cuDNN的安装过程 

1、下载cuDNN

       因为之前的博文“目标检测第3步”下载的CUDA版本是11.1,那么我们就要找到与CUDA11.1版本对应的cuDNN版本。地址为:cuDNN Archive | NVIDIA Developer

2、安装cuDNN

下载到的cuDNN文件是一个压缩包,解压缩之后会出现如下文件夹:

接下来需要将解压出来的这三个文件夹中的文件分别拷贝到CUDA对应的文件夹里,打开CUDA的安装目录:

到此为止,cuDNN已经成功的安装到了CUDA的内部。因为我们安装了cuDNN,所以有必要按照上一篇博文中提到的检验方法,再次对CUDA进行检验。

3、检验CUDA是否被cuDNN影响

A、查看CUDA版本

win+R,输入cmd。在里面输入“nvcc -V”或者“nvcc --version”,如果出现以下截图即可证明CUDA安装成功:

B、运行CUDA的测试文件

打开CUDA的安装目录,找到如下截图的两个文件:

 

 以上两张截图末尾的Result均为pass状态,所以,我们刚才安装的cuDNN不会对原有的CUDA造成影响。

总结:显卡、GPU、CUDA、cuDNN的使用是一个需求逐渐提升的过程。小时候,喜欢玩大型网络游戏,原有的集成显卡无法满足游戏要求,那么就得要求有好的显卡,并且要有适配的显卡驱动。大了之后,学习了计算机视觉,需要使用GPU进行复杂的计算及推理,这样的情况下我们知道了GPU。随着学习的深入,原来GPU的简单操作无法满足我们对于深度学习中的网络性能时,CUDA出现在我们的面前。最后我们开始进行深度神经网络的学习了,CUDAGPU的加持也无法满足我们的需求了,我们引入了注重性能的cuDNN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531043.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

两个软件,让你对主机内显卡的信息和性能有一个更深刻的认识

(请先看置顶博文)本博打开方式!!!请详读!!!请详读!!!请详读!!!_Cat-CSDN博客 最近一段时间,显卡的…

YOLOv5-6.1识别中的BUG

1、引言 时间飞快,技术猛进,YOLOv5从2020年诞生之后,到2022年已经发展到了6.1的版本。YOLOv6和YOLOv7都已经开源,不知道小伙伴们是否有尝试? 2、问题描述及解决方法 我最近在使用YOLOv5-6.1版本时,遇到了两…

Pycharm更换清华、阿里、豆瓣软件源提高依赖包下载速度

很多同学都遇到过类似问题:用Pycharm下载某些依赖包时,速度比某度的云盘速度还低,而且还不稳定。我基本上遇不到这样的情况,但是为了日后方便,今天就记录一下更换软件源的两种方式。 一、GUI手动添加软件源 先附上常…

Windows 10系统下如何搭建轻量级目标检测NanoDet-plus环境?

NanoDet与YOLO一样,都是目标检测算法中的经典之作,在NanoDet-plus发布之后,很多CVer都争先恐后地进行尝试,感受其与NanoDet的不同。以上的截图已经将NanoDet-plus的优点完全概括,这里就不再赘述。新的plus版本精度和速…

本博打开方式,请详读

1、友好交流的前提是有礼貌,别直接评论遇到的问题,我最恨白嫖党!!!!!!!!!(咨询时多发几条消息,后台回复更快哦&#xff01…

C / C++ 之整体知识总结,点进来,不后悔!

文章目录1. 程序设计和C语言 算法-程序的灵魂2. 数据的表现形式3. 整型数据与字符型数据 运算符与表达式 数据的输入、输出(scanf、putchar、getchar、printf)4.1 if 与switch 语句(含举例)4.2 逻辑运算符与逻辑表达式4.3 关系运算…

C语言 表白代码(I love you!)

0-127 是 7位ASCII 码的范围,是国际标准。 至于汉字,不同的字符集用的ascii 码的范围也不一样,常用的汉字字符集有GB2312-80、GBK、Big5、unicode 等。 其中GB_2312 字符集是目前最常用的汉字编码标准,windows 95/98/2000 中使用…

Web项目:解决eclipse中jsp文件报错javax.servlet.http.HttpServlet 提示 was not found on the Java Build Path的错误

具体错误如图示如下: 具体结局方案如下: 1、右击web工程(你的项目名字)->属性或Build Path->Java Build Path->Libraries-> Add Libray…->Server Runtime ->Tomcat Server 2、切换到Java Build Path界面中的O…

Eclipse继承HttpServlet出现:HttpServlet cannot be resolved to a type的错误的解决方案

显然是Eclipse找不到相应的包,即javax.servlet 。错误如下: 解决方案如下: 1.打开tomcat所在的文件夹,然后打开apache-tomcat-8.5.43(即你的Apache版本文件),进入目录lib 2.进入后,找到并复制s…

Java全栈体系路线(总结不易,持续更新中)

文章目录Java全栈工程师<font colororange>Java基础基础语法面向对象工具类集合框架序列化反射机制注解文件处理设计模式视频教程文档教程练习题面试题GUI模块多线程模块Socket模块JDBC模块数据库操作起步JDBC执行sql数据库进阶操作JDBC进阶视频教程文档教程JVM教程基础实…

Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean 解决方案

SpringBoot启动时的异常信息 "C:\Program Files\Java\jdk1.8.0_161\bin\java" ......... com.fangxing.javalearning.annotationlearning.ComponentScanApp hello world. ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | _…

Huffman编码的设计与实现

文章目录&#xff08;一&#xff09;设计描述&#xff08;二&#xff09;需求分析&#xff08;三&#xff09;详细设计&#xff08;四&#xff09;代码实现与测试&#xff08;五&#xff09;个人总结&#xff08;一&#xff09;设计描述 1.题目描述 设计一个利用哈夫曼算法的编…

C / C++ 经典代码和常考类型

文章目录C语言常考类型经典代码1&#xff09; 兔子问题2&#xff09; 斐波那契数列3&#xff09; 百元买百鸡4&#xff09; 实心菱形5&#xff09; 空心菱形6&#xff09; 十进制转换为二进制7&#xff09; 水仙花8&#xff09; 大数相加9&#xff09; 冒泡排序10&#xff09; …

如何在GitHub上下载开源文件

具体实现步骤 1 . 在本地安装Git,下载地址&#xff1a;点击下载 2 . 下载完成后开始安装&#xff0c;安装过程勾选下面内容&#xff1a; 1.Git Bash here2.Git GUI here 然后一直点击next&#xff0c;安装完成即可。 3 . 在打开的git窗口中输入 git init 4 . 在下载的项目的…

IDEA连接mysql报Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' 的错误

IDEA布置好项目后&#xff0c;连接Mysql&#xff0c;提示时区错误&#xff0c;解决方案如下&#xff1a; 在mysql的命令模式下&#xff0c;输入&#xff1a; set global time_zone8:00;如图所示&#xff1a;

C语言小游戏 ——推箱子

文章目录&#xff08;1&#xff09;内容描述&#xff08;2&#xff09;功能&#xff08;3&#xff09;设计目的&#xff08;4&#xff09;总体设计&#xff08;5&#xff09;明显缺点&#xff08;6&#xff09;个人总结7. 实例实例一实例二实例三实例四实例五&#xff1a;&…

Java GUI 实现登录界面

具体效果图&#xff1a; 详细代码&#xff1a; package java_gui;import java.awt.Color; import java.awt.Container; import java.awt.Cursor; import java.awt.Font; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;imp…

C语言 实现登录注册功能

文章目录加载动画实验结果图实验代码加载动画 #include<iostream> #include<windows.h> using namespace std;int main(){cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;cout.widen(65);co…

Java小案例(二) 用数组实现增删查改排序

文章目录案例一案例二案例三案例四案例五案例一 Student.Java package curd;public class Student {private String stuid;private String name;private int chinese;private int math;private int english;private int avg;private int sum;public int getAvg() {return avg;…

有趣的一行代码

文章目录爱心曼德勃罗集合打印99乘法表实现快速排序禅语漫画迷宫爱心 print(\n.join([.join([(❤❤❤❤❤❤❤❤❤❤❤❤[(x-y)%12]if((x*0.05)**2(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<0 else )for x in range(-30,30)])for y in range(15,-15,-1)]))效果图&#xff1…