一种自适应FPGA存储资源的神经网络加速器制造技术

技术编号:35267064 阅读:12 留言:0更新日期:2022-10-19 10:31
本发明专利技术公开了一种自适应FPGA存储资源的神经网络加速器,包括:指令控制模块、输入特征图阵列、权值阵列以及乘累加阵列,其中指令控制模块根据数据和FPGA存储资源的容量大小决策缓存方式及计算方式;输入特征图阵列根据指令控制模块的指令获取输入特征图数据中对应地址的数据进行缓存;权值阵列根据指令控制模块的指令获取权值数据中对应地址的数据进行缓存;乘累加阵列根据指令控制模块的指令获取输入特征图阵列和权值阵列中的数据执行乘累加操作,并输出卷积运算结果。本发明专利技术根据所选FPGA内部存储资源容量大小以及网络层数据容量大小,选择不同的卷积运算方式,实现卷积神经网络加速方法在FPGA上的部署,进而完成加速功能。功能。功能。

【技术实现步骤摘要】
一种自适应FPGA存储资源的神经网络加速器


[0001]本专利技术属于计算机领域,涉及深度学习领域,具体是一种自适应FPGA存储资源的神经网络加速器。合理控制指令,根据所选FPGA内部存储资源容量大小以及网络层数据容量大小,选择不同的卷积运算方式,实现卷积神经网络加速方法在FPGA上的部署,进而完成加速功能。

技术介绍

[0002]近些年来,深度神经网络技术被广泛应用,尤其是在图像处理、目标检测、语音识别等应用方面最为突出。深度神经网络具有极佳的精准度,通过分析庞大的数据获取更精准的结果。深度神经网络越深、模拟能力越强,推理的精准度也越高。
[0003]卷积神经网络属于深度神经网络。虽然卷积神经网络具有很高的精准度,但是同时随着神经网络层数增多,卷积神经网络算法的计算量也随着变得庞大,对于硬件内存的存储容量要求也越来越高。一旦硬件资源选定,内部存储空间也确定了,但是对于同一个算法模型,不同网络层的参数量可大可小,按照同样的计算方式,可能存在大网络层的输入特征图像数据或者权值参数数据容量过大而内部存储空间缓存不了的情况。如果硬件内部数据缓存过小,卷积神经网络加速的性能会受影响。另外,对于同一个算法模型,固定的网络层卷积运算方式,在存储资源多的FPGA上可以部署,但是在存储资源少的FPGA上因资源受限而不能部署,直接导致卷积神经网络加速方法不能在FPGA上实现的问题。

技术实现思路

[0004]本专利技术的目的在于提供一种自适应FPGA存储资源的神经网络加速器,合理控制指令,根据所选FPGA内部存储资源容量大小以及网络层数据容量大小,选择不同的卷积运算方式,实现卷积神经网络加速方法在FPGA上的部署,进而完成加速功能。
[0005]为实现上述目的,本专利技术所采取的技术方案为:
[0006]一种自适应FPGA存储资源的神经网络加速器,所述自适应FPGA存储资源的神经网络加速器,包括:指令控制模块、输入特征图阵列、权值阵列以及乘累加阵列,其中:
[0007]所述指令控制模块,用于根据待处理的输入特征图数据和所述输入特征图阵列的容量大小、待处理的权值数据和所述权值阵列的容量大小决策输入特征图数据和权值数据的缓存方式及计算方式,并根据决策结果向所述输入特征图阵列、权值阵列和乘累加阵列发布对应的指令;
[0008]所述输入特征图阵列,用于根据所述指令控制模块发布的指令获取所述输入特征图数据中对应地址的数据进行缓存;
[0009]所述权值阵列,用于根据所述指令控制模块发布的指令获取所述权值数据中对应地址的数据进行缓存;
[0010]所述乘累加阵列,用于根据所述指令控制模块发布的指令获取输入特征图阵列和权值阵列中的数据执行乘累加操作,并输出卷积运算结果。
[0011]以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
[0012]作为优选,所述缓存方式如下:
[0013]缓存方式1:输入特征图数据完整缓存至所述输入特征图阵列中,权值数据完整缓存至所述权值阵列中;
[0014]缓存方式2:输入特征图数据完整缓存至所述输入特征图阵列中,权值数据进行拆分并先后缓存至所述权值阵列中;
[0015]缓存方式3:输入特征图数据进行拆分并先后缓存至所述输入特征图阵列中,权值数据完整缓存至所述权值阵列中;
[0016]缓存方式4:输入特征图数据进行拆分并先后缓存至所述输入特征图阵列中,权值数据进行拆分并先后缓存至所述权值阵列中。
[0017]作为优选,所述指令控制模块,根据待处理的输入特征图数据和所述输入特征图阵列的容量大小、待处理的权值数据和所述权值阵列的容量大小决策输入特征图数据和权值数据的缓存方式,执行如下操作:
[0018]若输入特征图数据小于或等于输入特征图阵列的容量大小,并且权值数据小于或等于权值阵列的容量大小,则选择缓存方式1、缓存方式2、缓存方式3和缓存方式4中的任意一种缓存输入特征图数据和权值数据;
[0019]或者,若输入特征图数据小于或等于输入特征图阵列的容量大小,同时权值数据大于权值阵列的容量大小,则选择缓存方式2和缓存方式4中的任意一种缓存输入特征图数据和权值数据;
[0020]或者,若输入特征图数据大于输入特征图阵列的容量大小,同时权值数据小于或等于权值阵列的容量大小,则选择缓存方式3和缓存方式4中的任意一种缓存输入特征图数据和权值数据;
[0021]或者,若输入特征图数据大于输入特征图阵列的容量大小,同时权值数据大于权值阵列的容量大小,则选择缓存方式4缓存输入特征图数据和权值数据。
[0022]作为优选,所述指令控制模块,根据待处理的输入特征图数据和所述输入特征图阵列的容量大小、待处理的权值数据和所述权值阵列的容量大小决策输入特征图数据和权值数据的计算方式,执行如下操作:
[0023]若决策的缓存方式为缓存方式1,则决策的计算方式为:命令所述乘累加阵列依次从输入特征图阵列和权值阵列中获取输入特征图数据和权值数据进行乘累加操作;
[0024]或者,若决策的缓存方式为缓存方式2,则决策的计算方式为:命令所述乘累加阵列先依次从输入特征图阵列和权值阵列中获取输入特征图数据和权值数据进行乘累加操作,后在权值阵列中的权值数据更新后继续依次从输入特征图阵列和权值阵列中获取输入特征图数据和权值数据进行乘累加操作;
[0025]或者,若决策的缓存方式为缓存方式3,则决策的计算方式为:命令所述乘累加阵列先依次从输入特征图阵列和权值阵列中获取输入特征图数据和权值数据进行乘累加操作,后在输入特征图阵列中的输入特征图数据更新后继续依次从输入特征图阵列和权值阵列中获取输入特征图数据和权值数据进行乘累加操作;
[0026]或者,若决策的缓存方式为缓存方式4,则决策的计算方式为:命令所述乘累加阵列先依次从输入特征图阵列和权值阵列中获取输入特征图数据和权值数据进行乘累加操作,后在输入特征图阵列中的输入特征图数据更新后或者权值阵列中的权值数据更新后继续依次从输入特征图阵列和权值阵列中获取输入特征图数据和权值数据进行乘累加操作。
[0027]作为优选,所述输入特征图数据按照行的方式进行拆分,或者所述输入特征图数据按照N个像素点为一个整体的方式进行拆分。
[0028]作为优选,所述权值数据按照Q/2个过滤器的权值数据为一个整体的方式进行拆分,或者所述权值数据按照R个权值数据为一个整体的方式进行拆分,其中Q为权值数据对应的过滤器的总数。
[0029]本专利技术提供的自适应FPGA存储资源的神经网络加速器,指令控制模块包含多种指令,可根据不同网络层的输入特征图像数据和权值参数数据容量与硬件内部存储容量的大小关系,发布不同的指令,实现卷积运算。降低了网络层的输入特征图像数据和权值参数数据容量与硬件内部存储容量的耦合关系,从而提高了FPGA的部署实现。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自适应FPGA存储资源的神经网络加速器,其特征在于,所述自适应FPGA存储资源的神经网络加速器,包括:指令控制模块、输入特征图阵列、权值阵列以及乘累加阵列,其中:所述指令控制模块,用于根据待处理的输入特征图数据和所述输入特征图阵列的容量大小、待处理的权值数据和所述权值阵列的容量大小决策输入特征图数据和权值数据的缓存方式及计算方式,并根据决策结果向所述输入特征图阵列、权值阵列和乘累加阵列发布对应的指令;所述输入特征图阵列,用于根据所述指令控制模块发布的指令获取所述输入特征图数据中对应地址的数据进行缓存;所述权值阵列,用于根据所述指令控制模块发布的指令获取所述权值数据中对应地址的数据进行缓存;所述乘累加阵列,用于根据所述指令控制模块发布的指令获取输入特征图阵列和权值阵列中的数据执行乘累加操作,并输出卷积运算结果。2.如权利要求1所述的自适应FPGA存储资源的神经网络加速器,其特征在于,所述缓存方式如下:缓存方式1:输入特征图数据完整缓存至所述输入特征图阵列中,权值数据完整缓存至所述权值阵列中;缓存方式2:输入特征图数据完整缓存至所述输入特征图阵列中,权值数据进行拆分并先后缓存至所述权值阵列中;缓存方式3:输入特征图数据进行拆分并先后缓存至所述输入特征图阵列中,权值数据完整缓存至所述权值阵列中;缓存方式4:输入特征图数据进行拆分并先后缓存至所述输入特征图阵列中,权值数据进行拆分并先后缓存至所述权值阵列中。3.如权利要求2所述的自适应FPGA存储资源的神经网络加速器,其特征在于,所述指令控制模块,根据待处理的输入特征图数据和所述输入特征图阵列的容量大小、待处理的权值数据和所述权值阵列的容量大小决策输入特征图数据和权值数据的缓存方式,执行如下操作:若输入特征图数据小于或等于输入特征图阵列的容量大小,并且权值数据小于或等于权值阵列的容量大小,则选择缓存方式1、缓存方式2、缓存方式3和缓存方式4中的任意一种缓存输入特征图数据和权值数据;或者,若输入特征图数据小于或等于输入特征图阵列的容量大小,同时权值数据大于权值阵列的容量大小,则选择缓存方式2和缓存方式4中的任意一种缓存输入特征图数据和权值数据;或者,若输入特征图数据大于输入特征图阵列的容量大小,同时权值数据小于或...

【专利技术属性】
技术研发人员:廖湘萍曹学成丁永林李盈盈李炜
申请(专利权)人:中国电子科技集团公司第五十二研究所
类型:发明
国别省市:

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

1