【技术实现步骤摘要】
一种卷积硬件加速方法及卷积硬件加速电路
[0001]本专利技术涉及卷积神经网络和芯片设计
,尤其涉及一种卷积硬件加速方法及卷积硬件加速电路。
技术介绍
[0002]卷积神经网络(convolution neural network,CNN)广泛地使用在目标识别、目标检测等应用领域。当前,随着神经网络的深度和输入特征图的数据量增加,导致了卷积运算量不断加大。通过专用芯片来进行CNN的卷积运算可以加快计算速度。然而,用于CNN的卷积计算的专用芯片设计会面临两个问题,一是如何提高运算的并行度来提高计算效率,二是如何减少存储器的读写带宽来节省计算功耗。
[0003]因此,如何提供一种卷积硬件加速方法及卷积硬件加速电路,用来提高卷积运算的并行度和减少存储器的读写带宽,实乃本领域的重要课题。
技术实现思路
[0004]为了解决上述技术问题,本专利技术提供一种卷积硬件加速方法,其特征在于,包括以下步骤:将特征图分割为多个图块;在进行分割时,分割的图块的列宽和MAC运算单元的数量相匹配,分割的图块的行高为内部存 ...
【技术保护点】
【技术特征摘要】
1.一种卷积硬件加速方法,其特征在于,包括以下步骤:将特征图分割为多个图块;在进行分割时,分割的图块的列宽和MAC运算单元的数量相匹配,分割的图块的行高为内部存储模块可容纳的最大行数;按顺序读入一个图块和对应的卷积核在进行卷积运算所需的数据;依次提取所述一个图块和所述对应的卷积核的提取数据;以及进行卷积运算并输出运算结果。2.根据权利要求1中所述的卷积硬件加速方法,其特征在于:当特征图的宽度小于MAC运算单元的数量时,将不对特征图的行进行分割;当特征图的宽度大于MAC运算单元的数量时,对特征图进行分割的图块的列宽为MAC运算单元的数量。3.根据权利要求1中所述的卷积硬件加速方法,其特征在于:当特征图的宽度小于MAC运算单元的数量乘以步长时,将不对特征图的行进行分割;当特征图的宽度大于MAC运算单元的数量乘以步长时,对特征图进行分割的图块的列宽为MAC运算单元的数量乘以步长。4.根据权利要求1中所述的卷积硬件加速方法,其特征在于:所述卷积硬件加速方法用于一电子装置,更包括以下步骤:从所述电子装置的外部存储模块读取并缓存多张特征图中的至少一者以及多个卷积核;以及依次缓存所述特征图的所述一个图块的所述运算结果,以及依次输出所述多张特征图的多个图块的多个运算结果到所述外部存储模块。5.根据权利要求1中所述的卷积硬件加速方法,其特征在于,按顺序读入所述一个图块在进行卷积运算所需的数据的步骤是按照一个特征图分割的多个图块从左到右,从上到下的顺序。6.根据权利要求1中所述的卷积硬件加速方法,其特征在于,按顺序读入所述一个图块在进行卷积运算所需的数据的步骤是从第一个特征图的第一个图块,如果水平方向有分块,则从左到右依次读取该特征图的图块数据,然后再读取下一个特征图的图块,直到最后一个特征图;如果垂直方向有分块,再从第一个特征图的下一个垂直分块开始,依次读取。7.根据权利要求1中所述的卷积硬件加速方法,其特征在于,所述卷积硬件加速方法更包括:扩展所述一个图块的边界数据,当所述卷积核的尺寸大于1时,如果所述一个图块的边界同时是所述一个特征图的边界,那么所述一个图块的边界数据是通过添加固定值进行扩展;以及如果所述一个图块的边界在所述一个特征图的内部,那么所述一个图块的边界数据是通过读取相邻的图块的数据进行扩展。8.根据权利要求1中所述的卷积硬件加速方法,其特征在于,依次提取所述一个图块和所述对应的卷积核的提取数据的步骤更包括:根据一个图块的宽度、卷积运算的步长和所述MAC运算单元的数量,决定所述提取数据的行数据的数量。9.根据权利要求8中所述的卷积硬件加速方法,其特征在于,所述行数据的数量为2的指数。10.根据权利要求9中所述的卷积硬件加速方法,其特征在于,依次提取所述一个图块和所述对应的卷积核的提取数据的步骤更包括:
改组所述提取数据,改组数据的数据量与MAC运算单元的数量相一致;当提取的每行数据量与MAC运算单元的数量相等时,则将提取的数据依次按行改组成一组改组数据;当提取的每行数据量比M...
【专利技术属性】
技术研发人员:沈强,陆金刚,方伟,
申请(专利权)人:浙江芯昇电子技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。