基于PYNQ的YOLOv4-tiny神经网络加速器及加速方法技术

技术编号:37983957 阅读:6 留言:0更新日期:2023-06-30 09:58
基于PYNQ的YOLOv4

【技术实现步骤摘要】
基于PYNQ的YOLOv4

tiny神经网络加速器及加速方法


[0001]本专利技术涉及硬件加速
,具体涉及基于PYNQ的YOLOv4

tiny神经网络加速器及加速方法。

技术介绍

[0002]随着人工智能技术的日益成熟,卷积神经网络的应用范围逐步扩大。越来越多的场景需要在终端设备上进行AI算法的部署,但是,由于深度学习算法的高并行度和大规模的计算,限制了算法的部署,因此实时性高、算力低功耗的硬件加速器成为了研究热点。
[0003]目前现有的方案是ASIC芯片作为终端的npu处理器,但是成本巨大,限制了应用。针对该问题,余奇提出了基于指令控制的卷积神经网络加速器,(余奇.基于FPGA的深度学习加速器设计与实现[D].安徽:中国科学技术大学,2016.),通过对操作进行指令编码,设计API接口的加速器,但是基于指令开发的加速器,需要针对应用开发系列指令集,指令集的开发周期长,学习成本大,不利于开发人员快速上手。陈辰,严伟,夏珺,等人提出了基于异构平台的卷积神经网络加速器(陈辰,严伟,夏珺,等.基于FPGA的深度学习目标检测系统的设计与实现[J].电子技术应用,2019,45(8):40

43,47.DOI:10.16157/j.issn.0258

7998.190318.),通过对所设计的电路进行IP封装,使用基于IP的block design的方式,通过软件来实现调度,但是该方法只能对结构化的算法层进行加速,如:卷积层、池化层等。而YOLO算法的新结构,如:路由层、上采样等没有合理的硬件结构。

技术实现思路

[0004]为了克服上述现有技术的缺点,本专利技术的目的在于提供基于PYNQ的YOLOv4

tiny神经网络加速器及加速方法,通过将YOLOv4

tiny神经网络部署在PYNQ开发平台上,并针对YOLOv4

tiny神经网络的特点设计专有的计算模块,简化了硬件复杂度,降低了电路功耗,在兼顾并行度和算力的同时,具有与算法更加适配的特点。
[0005]为了实现上述目的,本专利技术采用的技术方案是:
[0006]基于PYNQ的YOLOv4

tiny神经网络加速器,将YOLOv4

tiny神经网络部署在PYNQ开发平台上,所述的PYNQ开发平台包括处理器系统PS端、AXI总线互联模块、DDR存储器、可编程逻辑PL端;
[0007]所述的处理器系统PS端包括:
[0008]ARM内核:从上位机获取待处理数据集的权重数据和特征数据;将待处理数据集的权重数据和特征数据存入DDR存储器中;配置和调度可编程逻辑PL端中的寄存器组;将运算结果传输给上位机;
[0009]所述的AXI总线互联模块:完成处理器系统PS端的ARM内核对可编程逻辑PL端中寄存器组的配置;处理器系统PS端和可编程逻辑PL端之间的数据传输,是处理器系统PS端和可编程逻辑PL端的互联总线,包括AXI4总线和AXI

lite协议;
[0010]所述的DDR存储器:按照数据格式储存从上位机获取的待处理数据集的权重数据
和特征数据;储存计算模块的运算结果;
[0011]所述的可编程逻辑PL端,包括:
[0012]寄存器组:用于通过AXI

lite协议解析配置包,根据配置包信息将配置数据路由到计算模块中;
[0013]内存读写接口MCIF:用于请求仲裁和协议转换,是计算模块与DDR存储器之间数据交换的接口通道;
[0014]计算模块:对待处理数据集的权重数据和特征数据进行运算。
[0015]所述的计算模块具体包括:
[0016]卷积运算通路:用于对权重数据和特征数据完成卷积网络中的卷积运算;
[0017]协助运算通路:用于卷积神经网络非卷积外的辅助运算;
[0018]池化运算通路:用于对特征数据进行池化运算。
[0019]所述的卷积运算通路具体包括:
[0020]DMA1:用于与内存读写接口MCIF进行数据传输,并用于解析片上缓存区CBUF的请求包,根据解析结果执行片上缓存区CBUF内特征数据和权重数据的读写;
[0021]片上缓存区CBUF:用于缓存从DMA1中输入的特征数据和权重数据;
[0022]DMA2:用于控制数据流的调度;
[0023]乘加PE阵列:对输入的特征数据和权重数据执行乘加运算。
[0024]所述的协助运算通路具体包括:
[0025]通道运算通路:用于对特征数据和权重数据进行加减或放缩;
[0026]单数据运算通路:用于特征尺寸上多维数据的运算;
[0027]激活函数单元:用于对卷积通路的计算结果进行激活函数的运算,实现数据的归一化处理;
[0028]旁路开关:用于选择卷积运算结果是否进行通道运算、单数据运算或激活函数操作。
[0029]所述的池化运算通路具体包括:
[0030]读数据控制模块rdma:用于组建地址读命令包向内存读写接口MCIF发起读请求;
[0031]读数据rd_fifo模块:用于对横向池化运算模块1D_pdp发起数据握手请求;
[0032]横向池化运算模块1D_pdp:用于进行横向池化运算;
[0033]纵向池化运算模块2D_pdp:用于进行纵向池化运算;
[0034]写数据wr_fifo模块:用于对写数据控制模块wdma发起握手请求;
[0035]写数据控制模块wdma:用于组建写数据命令包和数据包将池化运算结果写回DDR存储器中。
[0036]所述的内存读写接口MCIF具体包括:
[0037]读通道仲裁模块:用于实现多个通道读请求的仲裁,选择其中一个读命令请求挂载到AXI4总线;
[0038]写通道仲裁模块:用于实现多个通道写请求的仲裁,选择其中一个写命令请求挂载到AXI4总线。
[0039]所述的激活函数单元使用了基于切比雪夫多项式二次拟合插值+查找表的架构,具体方法为:软件侧生成二次拟合系数,并进行量化校准,生成区间系数查找表并初始化片
内rom;硬件侧启动计算,根据乘加结果计算rom内的区间系数偏移量,读出区间系数进行激活函数计算。
[0040]基于PYNQ的YOLOv4

tiny神经网络加速方法,包括以下步骤:
[0041]步骤1:基于PYNQ平台,处理器系统PS端的ARM内核从上位机中获取待处理数据集的权重数据和特征数据,并将其存入DDR存储器中;
[0042]步骤2:ARM内核对可编程逻辑PL端的寄存器组进行配置,主要配置参数有:寄存器地址、输入特征图尺寸、输出特征图尺寸、输入特征并行度、输出特征并行度、循环切割参数等;
[0043]步骤3:步骤2中配置好寄存器组后,选择本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于PYNQ的YOLOv4

tiny神经网络加速器,其特征在于,将YOLOv4

tiny神经网络部署在PYNQ开发平台上,所述的PYNQ开发平台包括处理器系统PS端、AXI总线互联模块、DDR存储器、可编程逻辑PL端;所述的处理器系统PS端包括:ARM内核:从上位机获取待处理数据集的权重数据和特征数据;将待处理数据集的权重数据和特征数据存入DDR存储器中;配置和调度可编程逻辑PL端中的寄存器组;将运算结果传输给上位机;所述的AXI总线互联模块:完成处理器系统PS端的ARM内核对可编程逻辑PL端中寄存器组的配置;处理器系统PS端和可编程逻辑PL端之间的数据传输,是处理器系统PS端和可编程逻辑PL端的互联总线,包括AXI4总线和AXI

lite协议;所述的DDR存储器:按照数据格式储存从上位机获取的待处理数据集的权重数据和特征数据;储存计算模块的运算结果;所述的可编程逻辑PL端,包括:寄存器组:用于通过AXI

lite协议解析配置包,根据配置包信息将配置数据路由到计算模块中;内存读写接口MCIF:用于请求仲裁和协议转换,是计算模块与DDR存储器之间数据交换的接口通道;计算模块:对待处理数据集的权重数据和特征数据进行运算。2.根据权利要求1所述的基于PYNQ的YOLOv4

tiny神经网络加速器,其特征在于,所述的计算模块具体包括:卷积运算通路:对权重数据和特征数据完成卷积网络中的卷积运算;协助运算通路:用于卷积神经网络非卷积外的辅助运算;池化运算通路:对特征数据进行池化运算。3.根据权利要求2所述的基于PYNQ的YOLOv4

tiny神经网络加速器,其特征在于,所述的卷积运算通路具体包括:DMA1:用于与内存读写接口MCIF进行数据传输,并解析片上缓存区CBUF的请求包,根据解析结果执行片上缓存区CBUF内特征数据和权重数据的读写;片上缓存区CBUF:用于缓存从DMA1中输入的特征数据和权重数据;DMA2:用于控制数据流的调度;乘加PE阵列:对输入的特征数据和权重数据执行乘加运算。4.根据权利要求2所述的基于PYNQ的YOLOv4

tiny神经网络加速器,其特征在于,所述的协助运算通路具体包括:通道运算通路:对特征数据和权重数据进行加减或放缩;单数据运算通路:对特征尺寸上多维数据的运算;激活函数单元:对卷积通路的计算结果进行激活函数的运算,实现数据的归一化处理;旁路开关:用于选择卷积运算结果是否进行通道运算、单数据运算或激活函数操作。5.根据权利要求2所述的基于PYNQ的YOLOv4

tiny神经网络加速器,其特征在于,所述的池化运算通路具体包括:读数据控制模块rdma:用于组建地址读命令包向内存读写接口MCIF发...

【专利技术属性】
技术研发人员:王树龙曹宪法刘伯航李宇航陈栋梁李嘉睿潘锦斌
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1