版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
可重构通用卷积神经网络分析案例目录TOC\o"1-3"\h\u23146可重构通用卷积神经网络分析案例 1199781.1运算硬件固化 1275691.2卷积神经网络通用可重构架构 4227391.2.1控制系统 4286961.2.2可重构系统的指令集 9152291.2.3控制系统的实现与仿真 12240991.3小结 14卷积神经网络的层数、卷积核大小、通道数目存在不同。面向特定应用,可以通过改变层数、卷积核大小、通道数目提升卷积神经网络的准确度。为了适应卷积神经网络结构的变化,卷积神经网络加速器也应可重构。重构粒度严重影响系统的性能,细粒度可以提高更加灵活的重构,但通常不能读取数据,浪费带宽,影响系统的吞吐率。由于卷积神经网络的学习阶段可以通过GPU灵活实现,为此本章将开展面向推理应用的粗粒度可重构通过卷积神经网络加速器的设计。1.1运算硬件固化运算硬件固化的规模会影响系统的性能。在进行可重构通用网络加速研究过程中,可采用参数化的设计方案,便于面对应用更改运算硬件固化规模。即在设计整个系统过程中利用参数以及宏定义,进行模块化划分,每个模块设计包括模块例化都是参数传递,系统在芯片上进行固化前可根据整个芯片的资源,以及对并行度的需求进行修改。整个系统对片上资源需求主要包括乘法器、BRAM大小以及片外DDR的带宽。系统的整体加速设计为N个输入特征图通道、M个输出特征图通道,以及卷积核大小K一起并行运算,整个并行卷积模块可进行调整,在卷积并行模块中,系统所需的乘法器资源是N×K×K×M,以及M×(N×K×K-1)个加法器,其中输入特征图通道N,输出特征图通道M,以及卷积核大小K,是可以进行更改,在固化整个系统时,需要保证片上资源具有N×K×K×M个乘法。整个系统中最小的计算模块是卷积核并行的PE计算模块,其结构如图1.1所示,主要是乘法器和加法树组成。图1.1PE计算模块在输入特征图通道为N和输出特征图通道为M时,卷积模块需要N×M个PE模块,主要结构图如图1.2所示,输入特征图通道的数据进行复用,一个输入通道的数据要复用给M个PE模块进行卷积计算输出M个输出特征图通道的数据,在得到一个输出特征图通道时需要将N个输入特征图通道的卷积计算后结果进行累加。图1.2N×M个PE模块并行结构图系统对于片上BRAM的需求,主要体现在临时缓存上,设置系统临时缓存越大,图像分块卷积越少,由于分块卷积会需要多读取K/2行数据,分块卷积越少带宽利用率越高。但是临时缓存过大,需求BRAM增多,因此大小需根据片上资源设计。设临时缓存深度为D,由于输出特征图通道个数为M,采用16位定点数据,则需要的缓存大小为P=D∗16∗M,在设计整个系统时,片上资源要大于P。整个系统对DDR带宽的需求,主要是对输入特征图数据的读取,系统的工作频率为200MHz,整个系统的运算用的是16位定点数,则输入特征图对带宽的需求Q输入如式1. Q输入=N∗16∗200∗106 由于设置了临时缓存,输出特征通道的数据对DDR带宽的需求与输入特征通道的总数有关,设一层卷积的输入特征图通道总数为niN(i代表第几层),则每层的卷积每ni次循环输出一次M个输出特征图通道数据,其输出带宽Q Q输出=Mn整个系统输入特征图通道数据和输出特征图通道数据对DDR的带宽需求Q总如式1. Q总=Q输入 Q总=(M输入特征图通道N和输出特征图通道M都是参数化,设片上资源的总的带宽为Q,当Q>Q总时系统能够保证高速运行,当片上带宽资源Q总>Q>Q其他处理模块的硬件资源需求主要是逻辑单元和寄存器,在利用参数对模块例化,在整个系统进行固化前,可以进行系统的重构。1.2卷积神经网络通用可重构架构整个系统固化后,由于设计的是通用可重构卷积神经网络系统,可根据实际运用由指令控制运算过程,实现各种卷积网络的重构。可以用片上CPU或是外部接口进行指令传递,将指令写入可重构卷积系统的控制器中,由控制器控制整个系统的运行,根据指令重构多种神经网络。1.2.1控制系统控制系统是整个卷积神经网络运行的大脑,由于PS端的控制不能及时回复卷积网络系统,因此为了保证系统高速运行,设计了控制模块,控制模块结构如图1.3所示,主要包括五个小的控制模块,包括输入缓存模块控制、预处理模块控制、临时缓存模块控制、池化模块控制以及输出缓存模块控制。图1.3控制器结构输入缓存模块是卷积的开始,输入缓存的运行需要输入控制模块进行功能控制,在输入缓存模块中由控制器控制的功能如下:1)控制输入缓存模块申请总线,模块按照指令发送读取数据地址以及控制从DDR中读取数据的个数;2)在输入缓存中设置了N个输入缓存FIFO,控制器控制数据传输到那个缓存FIFO中去。3)输入缓存模块除了每次都从指令中发送读取地址外还包括自动模式,即给了初始地址后,系统自动根据输出缓存模块的地址进行自行计算读取数据,整个卷积运算自动处理,如图1.4所示。图1.4输入缓存控制模式选择预处理模块是为了保证卷积模块高速运行,卷积操作对应的是一个窗口,窗口大小跟卷积核大小一致,在预处理模块包含多种工作模式,预处理模块的工作模式由预处理模块的控制器控制。在预处理模块中通过控制器控制,可以工作在以下几种模式:1)根据指令判断图像边缘是否填充,如果图像需要填充,判断填充数据是进行填充数据1还是数据0,如图1.5所示。图1.5填充模式的选择2)由于采用了分块卷积,在进行填充时分块卷积上、中、下三部分的填充操作不同,在对于上部分需要进行上边沿和左右边沿填充,中间部分只需要进行左右边沿填充,下部分需要对下边沿和左右边沿填充,如图1.6所示。图1.6分块填充模式3)卷积的步长的可变,卷积的步长有四个模式,步长分别为1,2,3根据指令进行选择卷积的步长,如图1.7是三种步长的工作模式图1.7不同步长模式4)由于多种卷积网络系统包含空洞卷积,空洞卷积的工作模式如图1.8所示,空洞卷积用小的卷积核卷积输入特征图大的视野范围,中间间隔几个像素点并成为空洞大小,该模式主要是扩大卷积核的卷积视野,本文支持空洞1到7的任何空洞卷积。图1.8空洞卷积卷积计算是对输入的数据进行一个乘加计算,在整个系统的运行中有使能握手信号,卷积模块不用进行控制。临时缓存控制模块主要是判断卷积后数据是否要与临时缓存里面的数据进行相加,以及是否要进行存储到临时缓存,最后是选择激活函数操作,本文中实现了三种激活函数,可以进行激活函数的选择。在临时缓存控制中,需要知道整个输入特征图通道的数目,该数目决定了临时缓存数据跟卷积数据相加循环次数,主要流程图如图1.9所示。图1.9临时缓存模块流程图在池化模块中加入池化控制器是因为在进行池化操作时需要知道输入特征图的大小,同时本文设计了四种池化方式可以进行选择,控制器控制池化的操作运行,并选择最后的池化结果,如图1.10所示进行控制整个池化模块。图1.10池化模块结构图输出缓存模块的控制系统与输入缓存模块的控制系统是相反的过程,主要是对整个卷积结果,按照指令中的地址进行数据写入到DDR中,同时该模块也支持自动模式,给初定地址后,存储数据会自动进行一个地址累加,并将初始地址反馈给输入缓存模块。在整个控制系统模块中包含五个小的控制模块,为每个模块分配一个ID,模块ID占用三位位宽,输入缓存模块控制ID为001、预处理模块控制ID为010、池化模块控制ID为011、临时缓存模块控制ID为100以及输出缓存模块控制ID为101,PS端写入命令时,经过译码将指令写入相应的控制模块RAM中,各个控制模块分别控制卷积网络各部分进行工作。1.2.2可重构系统的指令集系统的重构需要指令的配合,在预处理控制模块、临时卷积控制模块以及池化控制模块的指令都是有64位数据进行表示,由于输入缓存控制模块和输出缓存控制模块包含DDR地址,指令的位宽为128位数据,为了指令的通用性,多个模块的指令有些位宽是复用的,由于每个模块需要控制的功能不同,每个模块之间也有一些指令是不同的,下面介绍一下各个模块的指令组成。1)输入缓存控制模块的指令0-23-1112-2021-3132-4243-47ID图片行大小图片列大小输入通道个数输出通道个数卷积通道数48-7576-9697-9899-127DDR读取地址读取DDR的个数控制模式保留0-2为代表指令的ID,输入模块的指令用001代表;3-11位代表输入特征图行大小,最大表示512;12-20位代表输入特征图列大小,最大表示为512;21-31位代表输入特征图通道个数,最大表示为2048;22-42位代表输入特征图通道个数,最大表示为2048;43-47位代表是卷积输入特征图通道,代表将数据输入到那些缓存中,表示为1-32;48-75位代表的是读取数据时DDR的地址;76-96位代表发送一次地址,从DDR中连续读取多少个数据;97-98位代表整个系统的工作模式,主要是分为两种其中00代表完全根据指令进行运行,01代表根据当前指令进行运行,并自动计算地址,下一时钟周期,进入自动模式;99-128位数据功能进行保留。在整个输入控制指令中包含包含图像的行列大小以及输出通道和输入通道个数主要是在进行自动模式下,能够自主计算从DDR中读取多少数据,以及在整个系统的循环计算中,进行一个循环的计数,自主完成整个系统的DDR地址计算,以及读取数据的控制。2)图像预处理模块指令格式如下:0-23-1112-2021-3132-4243-4748ID图片行大小图片列大小输入通道个数输出通道个数卷积通道数填充模式49-515253-5556-5859-6061-63预处理模式是否空洞卷积空洞卷积空洞个数卷积核大小卷积步长保留0-2图像预处理模块的指令ID为010;3-47位的代表意义与输入控制模块指令一致;48位代表系统的填充模式,需要填充时,48位为0时代表填充位填充数据0,48位为1时代表填充位填充数据为1;49-51代表整个卷积模式,根据卷积模式进行数据的预处理。其中000时代表不进行填充;001代表正常上下左右填充(K-1)行和(K-1)列数据,其中K根据56-58位决定,填充数据跟44位的数据有关;010代表代表进行分块卷积的上层部分,上边沿和左右边沿填充数据,下边沿不填充;011代表进行分块卷积的中间层部分,左右边沿填充数据,上下边沿不填充;100代表进行分块卷积的下层部分,下边沿以及左右边沿填充数据,上边沿不填充。52位代表是否空洞卷积,空洞卷积也分填充和非填充,以及卷积的分块,与前面的指令组合使用,当为1时,代表空洞卷积,随后空洞卷积的空洞个数跟后面指令代表的数据有关。53-55代表空洞卷积的空洞个数,001代表空洞个数为1,010代表空洞个数为2,依次类推最大的个数为7;56-58代表卷积核大小,代表四种模式1、3、5、759-60代表卷积的步长,步长可以为1、2、361-63保留在预处理模块主要是对输入特征通道数据进行预操作,保证卷积的高速运行,在进行预处理操作时需要知道输入特征图通道数据的行列大小以及所要执行的卷积模式,确保准确对整个数据进行包含填充、分块等操作,依次输出卷积窗口所需的数据。3)临时缓存模块的指令如下0-23-1112-2021-3132-4243-4445-63ID图片行大小图片列大小输入通道个数输出通道个数激活函数选择保留0-2临时缓存模块的指令ID为011;3-42位与前面指令保持一致;43-44位代表进行激活函数的选择,00代表不经历激活函数,01代表激活函数为Relu,10代表激活函数为Sigmoid,11代表激活函数为Tanh。45-63位保留;临时缓存模块主要是对卷积临时结果的存储,以及等待下一次批次卷积结果进行累加,在所有输入特征通道卷积计算结束时,加上偏置后,将结果进行激活函数激励,本文主要设计了三种激活函数可以选择。4)池化模块指令如下0-23-1112-2021-3132-4243-4546-63ID图片行大小图片列大小输入通道个数输出通道个数池化模式选择保留0-2池化模块的指令ID为100;3-43位与前面指令保持一致;在43-45进行了表示对池化方式的选择,000代表不进行池化操作;001代表窗口为2×2的最大池化;010代表窗口为2×2的平均池化;011代表窗口为3×3的最大池化;100代表窗口为3×3的平均池化;46-63位保留;池化模块主要是对卷积结果进行池化操作,池化操作需要知道输入特征图的大小,以及需要的池化模式,池化结束后输出到输出缓存中。5)输出缓存控制模块指令0-23-1112-2021-3132-4243-47ID图片行大小图片列大小输入通道个数输出通道个数卷积通道数48-7576-9697-9899-127DDR读取地址写入DDR的个数控制模式保留其中输出缓存控制模块指令的ID为100,在整个指令中,与输入缓存控制指令唯一不同DDR的地址位是写地址,其余与输入控制模块一样。在输出缓存模块中主要是讲结果写入到DDR中,以及在自动模式下进行整个地址的自动计算,并跟输入模块进行同步地址,保证数据有效存储到DDR中,并让输入缓存模块进行准确读取数据。1.2.3控制系统的实现与仿真面对应用重构系统时,所需的指令程序可通过CPU或者外部接口传统给控制系统。当CPU端或者因特网进行发送指令时,采用的是同一个数据位宽为64位的总线,由于输入缓
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年西藏昌都地区单招职业倾向性考试题库附答案详解
- 2026年安徽警官职业学院单招职业技能考试题库含答案详解
- 2026年郴州职业技术学院单招职业技能测试题库含答案详解
- 2026年河南水利与环境职业学院单招职业倾向性考试题库带答案详解
- 产科护理面试题目及答案
- 护理直升面试题及答案
- 2025年厦门市翔发集团有限公司招聘备考题库完整答案详解
- 2025年关于屏山县兴纺建设发展有限公司及其下属子公司第六次公开招聘5名工作员的备考题库及一套答案详解
- 2025年重庆大学实验室及设备管理处劳务派遣工作人员招聘备考题库及参考答案详解1套
- 2025年贵州盐业(集团)安顺有限责任公司公开招聘工作人员备考题库有答案详解
- 2025食品行业专利布局分析及技术壁垒构建与创新保护策略报告
- 2025四川省教育考试院招聘编外聘用人员15人考试笔试模拟试题及答案解析
- 特许经营教学设计教案
- 2025年智能消防安全系统开发可行性研究报告
- 胎儿窘迫课件
- 2025年国家开放大学《刑事诉讼法》期末考试备考试题及答案解析
- 论文导论范文
- (正式版)DB65∕T 4636-2022 《电动汽车充电站(桩)建设技术规范》
- 胸痛患者转运课件
- 某城区城市交通优化提升规划设计方案
- 职业病安全知识培训课件
评论
0/150
提交评论