《深度神经网络FPGA设计与实现》第5章.pptxVIP

《深度神经网络FPGA设计与实现》第5章.pptx

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第5章FPGA神经网络开发基础;

5.1FPGA开发简介;

5.2FPGA的结构特性与优势;

2.效率和功耗

FPGA以其功效而闻名。研究表明,XilinxVirtexUltrascale+在通用计算效率方面的性能几乎是NVidiaTeslaV100的四倍。GPU耗电的主要原因是它们需要围绕其计算资源的额外复杂性以促进软件的可编程性。虽然NVidiaTeslaV100利用针对深度学习的Tensor操作设计的Tensor内核提供了与XilinxFPGA相当的效率,但是也无法估计NVidia的Tensor内核的设计是否能在快速发展的深度学习领域保持有效。;

3.灵活性和易用性

GPU中的数据流由软件定义,由GPU的复杂内存层次结构(如CPU的情况)指导。当数据通过存储器层次结构时,与存储器访问和存储器冲突相关的延迟和功率迅速增加。另一个重要的事实是GPU的架构,即单指令多线程(SingleInstructionMultipleThreads,SIMT),该功能允许GPU比CPU更节能。但是,很明显,在接收大量GPU线程的情况下,只有部分工作负载可以有效地映射到大规模并行体系结构中,如果在线程中找不到足够的并行性,则会导致性能降低。FPGA可以提供更灵活的架构,这些架构是DSP和BRAM(BlockRandomAccessMemory,块随机存取存储器)模块混合体的硬件可编程资源。;

4.功能安全

GPU最初的设计是用于不需要安全的图形和高性能计算系统中,但某些应用程序(如高级驾驶辅助系统,AdvancedDriverAssitanceSystems,ADAS)却需要功能安全性。在这种情况下,GPU的设计应满足功能安全要求。对于GPU供应商来说,这可能是一个耗时的挑战。而FPGA已用于功能安全在其上起着非常重要的作用的行业,如自动化、航空电子和国防。因此,FPGA的设计旨在满足包括ADAS在内的广泛应用的安全要求。;

5.3FPGA深度学习神经网络加速计算的开发过程;

计算平台系统有两个主要指标:计算力与带宽。其定义如下:

(1)计算力(也称计算平台的性能上限):一个计算平台倾尽全力每秒所能完成的浮点运算数,单位是FLOPS。

(2)带宽(也称计算平台的带宽上限):一个计算平台倾尽全力每秒所能完成的内存交换量,单位是B/s。;

神经网络模型同样有两个主要指标:计算量与访存量。其定义如下:

(1)计算量(也称时间复杂度):输入单个样本(对于CNN而言就是一幅图像),模型完成一次前向传播过程所发生的浮点运算数,单位是FLOPS。

(2)访存量(也称空间复杂度):输入单个样本,模型完成一次前向传播过程所发生的内存交换总量,单位是字节(B)。;

在神经网络模型中,我们常用的网络层有卷积层、POOL层、Plat层、激活层、全连接层等,为了更方便得出理论性能,这里只讨论常用网络层计算量的计算。

卷积层的计算量公式为

卷积层计算量?=?Pow(M,2)?×?Pow(K,2)?×?Cin?×?Cout

(5-2)

式中:M表示每个卷积核输出特征图的边长;K表示每个卷积核的边长;Cin?表示每个卷积核的通道数,即输入通道数,也即上一层的输出通道数;Cout表示本卷积层具有的卷积核个数,也即输出通道数。;

全连接层的计算量公式为

全连接层计算量?=?H?×?W(5-3)

式中:H表示当前层权重矩阵的行数;W表示当前层权重矩阵的列数。

对于常用的神经网络模型,这里以VGG16模型为例来说明。VGG16模型由13层卷积层与全连接层组成,其网络模型如图5-1所示。;

;

VGG16模型运行时,输入一幅224?×?224的RGB图像,经过预处理后,得到(224,224,4)的特征数据,再经过卷积层后,特征数据尺寸越来越少,通道数越来越多,卷积层随后平展开来,经过全连接层,最后输出1000种分类概率情况,通过每种分类的概率情况便可得知该图像的分类。VGG16模型运行数据规模图如图5-2所示。;;;

以此类推,便可得到VGG16模型的计算量,如表5-1所示。

;;

5.3.2神经网络模型访问带宽分析

神经网络模型带宽,也就是模型的空间复杂度,严格来讲包括三部分:输入量、参数量、输出量。

(1)输入量:输入特征图的数据量的总和,其计算公式为

卷积层输入量?=?Pow(I,2)?×?C(5-4)

全连接层输入量?=?H

文档评论(0)

爱分享的达人 + 关注
实名认证
文档贡献者

爱分享

1亿VIP精品文档

相关文档