基于FPGA可配置、易提升并行度的卷积神经网络加速方法技术

技术编号:38003842 阅读:12 留言:0更新日期:2023-06-30 10:18
本发明专利技术涉及一种基于FPGA可配置、易提升并行度的卷积神经网络加速方法,属于深度学习领域,包括以下步骤:S1:在ARM端将数据进行重排,存入外部存储DDR;S2:FPGA接受到ARM发出的开始计算指令之后,FPGA通过突发传输方式读取DDR中的数据并放入片上Buffer中;S3:当Buffer中数据准备好后,FPGA中的卷积计算模块开始获取数据并进行计算;S4:FPGA的STORE模块激活、量化以及将输出数据返回到DDR中以供下一次卷积使用。积使用。积使用。

【技术实现步骤摘要】
基于FPGA可配置、易提升并行度的卷积神经网络加速方法


[0001]本专利技术属于深度学习领域,涉及一种基于FPGA可配置、易提升并行度的卷积神经网络加速方法。

技术介绍

[0002]卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的重要组成部分之一。卷积神经网络具有一定的表征学习能力,能够通过增加模型的深度来提高其提取图像特征的能力。近年来,卷积神经网络在图像分析、自动驾驶、自然语言处理和语音识别等领域取得了较大的成果,已成为各界研究的热点。最初,卷积神经网络的推理阶段通常在软件上实现,随着各种网络模型不断地更迭,其运算速度以及识别精度越来越高,但其也伴随着网络深度的增加,从而导致使用CPU的推理时间成倍地增加;且由于卷积神经网络规模庞大、参数量众多的特性,使其难以直接部署于边缘计算平台。
[0003]目前,在处理深度学习AI算法方面,行业内主要采用GPU、FPGA等适合并行计算的通用芯片来实现加速。同时有部分芯片企业开始设计专门用于AI算法的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA可配置、易提升并行度的卷积神经网络加速方法,其特征在于:包括以下步骤:S1:在ARM端将数据进行重排,存入外部存储DDR;S2:FPGA接受到ARM发出的开始计算指令之后,FPGA通过突发传输方式读取DDR中的数据并放入片上Buffer中;S3:当Buffer中数据准备好后,FPGA中的卷积计算模块开始获取数据并进行计算;S4:FPGA的STORE模块激活、量化以及将输出数据返回到DDR中以供下一次卷积使用。2.根据权利要求1所述的基于FPGA可配置、易提升并行度的卷积神经网络加速方法,其特征在于:步骤S1所述在ARM端将数据进行重排,具体包括在ARM端按照FPGA端部署的卷积计算方式进行数据重排,同时将输入特征图数据和权值数据都量化为8bit;对于输入特征图数据,按照输入通道切成了in_c/p个切片,并且完整传输完一个切片之后再传输下一个切片,其中in_c代表所有的输入通道数,p代表一个输入通道切片中的输入通道数量,同时p也为高位宽传输模式下单个周期传输的数据个数;对于权值数据,以输入切片通道数与输出切片通道数的乘积作为卷积核的个数,先以输出切片通道为维度,将与输入切片中第一个通道中第一个像素对应的权重依次输出,再遍历输入通道数,最后再遍历卷积核大小kernel_size次,以此将对应切片的所有权重输出。3.根据权利要求1所述的基于FPGA可配置、易提升并行度的卷积神经网络加速方法,其特征在于:所述步骤S2中,FPGA通过LOAD模块执行特征图和权值数据的输入,所述LOAD模块由选择器和多个Buffer组成,起到跨时钟域处理的作用并通过PingPong Buffer的方式避免数据传输的等待时间,所述...

【专利技术属性】
技术研发人员:张红升刘红江郑铭徽
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

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

1