数据解压缩方法、数据压缩方法及卷积运算装置制造方法及图纸

技术编号:26226171 阅读:50 留言:0更新日期:2020-11-04 11:03
本发明专利技术提供一种数据解压缩方法、数据压缩方法及卷积运算装置。本发明专利技术的一实施例提出一种数据解压缩方法,用于卷积运算装置中,对输入数据块进行解压缩,所述数据解压缩方法包含:读取所述输入数据块;及对所述输入数据块进行一级解压;其中,所述一级解压用于解压数据格式为一级压缩算法格式的所述输入数据块;其中,所述一级压缩算法格式包含:掩码字段,用于标识所述输入数据块中非0元素的位置和所述输入数据块中元素的个数。

【技术实现步骤摘要】
数据解压缩方法、数据压缩方法及卷积运算装置
本专利技术涉及一种数据解压缩方法、数据压缩方法及卷积运算装置,特别涉及一种将输入数据块进行解压缩/压缩处理的数据解压缩方法、数据压缩方法及卷积运算装置。
技术介绍
卷积神经网络(ConvolutionalNeuralNetworks,CNN)是目前深度神经网络领域发展的主力,在图像辨识方面十分精准。典型的卷积神经网络包括许多层(layer)的运算,例如卷积层(convolutionlayer)、激活层(Activatinglayer)、池化层(poolinglayer)以及全连接层(fullyconnectedlayer)。使用独立于CPU(CentralProcessingUnit,中央处理器)的卷积运算模块(硬件模块,比如CNN加速器等)可以有效地提高卷积运算的速度。然而卷积运算模块中用于缓存运算数据(包括输入数据和卷积核等)的缓存空间是有限的,在进行卷积运算时,无法将当前卷积层用到的运算数据全部缓存到卷积运算模块中。因此,如果进行卷积运算用到的运算数据还没有缓存到卷积运算模块中,卷积运算模块将暂停卷积运算并将需要用到的运算数据从卷积运算模块外部的存储器中载入进来,等载入完需要用到的运算数据后才能继续进行卷积运算,从而影响了卷积运算模块的运算速度。因此,如何在卷积运算模块的缓存空间有限的情况下缓存更多的运算数据,以及如何使每次载入的运算数据更多,以减少卷积运算模块暂停的次数,从而提高卷积运算模块的运算效率,已成为本领域需要解决的问题之一。
技术实现思路
有鉴于此,本专利技术提出一种数据解压缩方法、数据压缩方法及卷积运算装置,通过在卷积运算模块中缓存更多的运算数据,以减少卷积运算模块的暂停次数,从而提高了卷积运算模块的运算效率。本专利技术的实施例提出一种数据解压缩方法,用于卷积运算装置中,对输入数据块进行解压缩,所述数据解压缩方法包含:读取所述输入数据块;及对所述输入数据块进行一级解压;其中,所述一级解压用于解压数据格式为一级压缩算法格式的所述输入数据块;其中,所述一级压缩算法格式包含:掩码字段,用于标识所述输入数据块中非0元素的位置和所述输入数据块中元素的个数。本专利技术的实施例提出一种数据压缩方法,用于卷积运算装置中,对输入数据块进行压缩,所述数据压缩方法包含:生成所述输入数据块;及对所述输入数据块进行一级压缩,其中,所述一级压缩将所述输入数据块压缩为数据格式为一级压缩算法格式的数据;其中,所述一级压缩算法格式包含:掩码字段,用于标识所述输入数据块中非0元素的位置和所述输入数据块中元素的个数。本专利技术的实施例提出一种卷积运算装置,用于对输入数据块进行解压缩,所述卷积运算装置包含:缓存,用于存储所述输入数据块;及一级处理模块,从所述缓存读取所述输入数据块,并对所述输入数据块进行一级解压;其中,所述一级解压用于解压数据格式为一级压缩算法格式的所述输入数据块;其中,所述一级压缩算法格式包含:掩码字段,用于标识所述输入数据块中非0元素的位置和所述输入数据块中元素的个数。本专利技术的实施例提出一种卷积运算装置,用于对输入数据块进行压缩,所述卷积运算装置包含:缓存,用于存储所述输入数据块;及数据处理模块,对所述输入数据块进行一级压缩,并将经过一级压缩的所述输入数据块存入所述缓存;其中,所述一级压缩将所述输入数据块压缩为数据格式为一级压缩算法格式的数据;其中,所述一级压缩算法格式包含:掩码字段,标识所述输入数据块中非0元素的位置和所述输入数据块中元素的个数。藉由本申请所述的数据解压缩方法、数据压缩方法和卷积运算装置,通过将输入数据块进行压缩存储,可以在卷积运算装置中缓存更多的输入数据块,从而减少卷积运算模块的暂停次数,因而提高了卷积运算模块的运算效率。附图说明图1为根据本专利技术一实施例绘示的卷积神经网络100的示意图。图2为根据本专利技术一实施例绘示的卷积神经网络100中第N卷积层和第N+1卷积层的卷积运算示意图。图3A为根据本专利技术一实施例绘示的卷积核为1*1时的分块卷积运算示意图。图3B为根据本专利技术一实施例绘示的进行卷积运算时卷积核为3*3时的输入数据块在上下方向的重叠情况示意图。图3C为根据本专利技术一实施例绘示的进行卷积运算时卷积核为3*3时的输入数据块在左右方向的重叠情况示意图。图3D为根据本专利技术一实施例绘示的进行卷积运算时卷积核为3*3时的输入数据块在左上右下方向的重叠情况示意图。图3E为根据本专利技术一实施例绘示的进行卷积运算时卷积核为3*3时的输入数据块在左下右上方向的重叠情况示意图。图4为根据本专利技术一实施例绘示的进行卷积运算时卷积核为k*k、卷积步长为s时的特征图分块示意图。图5为根据本专利技术一实施例绘示的包含卷积运算模块的计算装置500的方块图。图6A为根据本专利技术一实施例绘示的计算装置500的存储器520中存储的数据的示意图。图6B为根据本专利技术一实施例绘示的计算装置500的更详细的方块图。图6C为根据本专利技术一实施例绘示的将第N卷积层的输入特征图进行两级压缩后写入存储器的处理流程。图6D为根据本专利技术一实施例绘示的计算装置500生成一个输出特征图的处理流程。图6E为根据本专利技术另一实施例绘示的计算装置500生成一个输出特征图的处理流程。图6F-1~6F-2为根据本专利技术一实施例绘示的计算装置500以从左到右、从上到下的顺序生成一个输出特征图的更详细的处理流程。图7为根据本专利技术一实施例绘示的计算装置500对输入数据块进行解压的处理流程。图8为根据本专利技术另一实施例绘示的包含卷积运算模块的计算装置800的方块图。图9A为根据本专利技术一实施例绘示的计算装置800的存储器820中存储的数据的示意图。图9B为根据本专利技术一实施例绘示的计算装置800的更详细的方块图。图9C为根据本专利技术一实施例绘示的将第N卷积层的输入特征图进行一级压缩后写入缓存的处理流程。图9D为根据本专利技术一实施例绘示的计算装置800生成一个输出特征图的处理流程。图9E为根据本专利技术另一实施例绘示的计算装置800生成一个输出特征图的处理流程。图9F-1~9F-2为根据本专利技术一实施例绘示的计算装置800生成一个输出特征图的更详细的处理流程。【符号说明】100卷积神经网络110输入数据120特征提取阶段121-12X卷积层130分类阶段131-13Y全连接层140输出数据210、230、250特征图集合220、240权重221、223、241、243、245卷积核组2211-2213、2231-2233卷积核310A-310E、410输入特征图313A-313E、413卷积核315A-315E、415输出特征图1-10列数或行数W、w1-w3宽H、h1-h3高k卷积核的边长...

【技术保护点】
1.一种数据解压缩方法,用于卷积运算装置中,对输入数据块进行解压缩,所述数据解压缩方法包含:/n读取所述输入数据块;及/n对所述输入数据块进行一级解压,/n其中,所述一级解压用于解压数据格式为一级压缩算法格式的所述输入数据块;/n其中,所述一级压缩算法格式包含:/n掩码字段,用于标识所述输入数据块中非0元素的位置和所述输入数据块中元素的个数。/n

【技术特征摘要】
1.一种数据解压缩方法,用于卷积运算装置中,对输入数据块进行解压缩,所述数据解压缩方法包含:
读取所述输入数据块;及
对所述输入数据块进行一级解压,
其中,所述一级解压用于解压数据格式为一级压缩算法格式的所述输入数据块;
其中,所述一级压缩算法格式包含:
掩码字段,用于标识所述输入数据块中非0元素的位置和所述输入数据块中元素的个数。


2.如权利要求1所述的数据解压缩方法,其中,所述一级压缩算法格式还包含:
目标数据字段,用于保存所述输入数据块的区域中的最后一个元素和所述输入数据块的区域中除最后一个元素外的所有非0元素;及
长度字段,用于指示所述目标数据字段中元素的个数。


3.如权利要求1所述的数据解压缩方法,其中,所述输入数据块的区域中的每一个元素与所述掩码字段中的一个位对应,所述输入数据块的区域中的每一个值不为0的元素对应所述掩码字段中的一个值为1的位,其中,所述掩码字段中最后一个值为1的位对应所述输入数据块的区域中的最后一个元素。


4.如权利要求3所述的数据解压缩方法,其中,所述掩码字段中位的个数大于所述输入数据块的区域中的元素个数。


5.如权利要求1所述的数据解压缩方法,其中,所述一级压缩算法格式还包含:
目标数据字段,用于保存所述输入数据块的区域中的所有非0元素;及
长度字段,用于指示所述目标数据字段中元素的个数。


6.如权利要求5所述的数据解压缩方法,其中,所述长度字段可以指示的最大元素个数大于所述长度字段的最大值,并且所述目标数据字段中的元素个数大于所述输入数据块的区域中的所有非0元素的个数。


7.一种数据压缩方法,用于卷积运算装置中,对输入数据块进行压缩,所述数据压缩方法包含:
生成所述输入数据块;及
对所述输入数据块进行一级压缩,
其中,所述一级压缩将所述输入数据块压缩为数据格式为一级压缩算法格式的数据;
其中,所述一级压缩算法格式包含:
掩码字段,用于标识所述输入数据块中非0元素的位置和所述输入数据块中元素的个数。


8.如权利要求7所述的数据压缩方法,其中,所述一级压缩算法格式还包含:
目标数据字段,用于保存所述输入数据块的区域中的最后一个元素和所述输入数据块的区域中除最后一个元素外的所有非0元素;及
长度字段,用于指示所述目标数据字段中元素的个数。


9.如权利要求7所述的数据压缩方法,其中,所述输入数据块的区域中的每一个元素与所述掩码字段中的一个位对应,所述输入数据块的区域中的每一个值不为0的元素对应所述掩码字段中的一个值为1的位,其中,所述掩码字段中最后一个值为1的位对应所述输入数据块的区域中的最后一个元素。


10.如权利要求9所述的数据压缩方法,其中,所述掩码字段中位的个数大于所述输入数据块的区域中的元素个数。


11.一种卷积运算装置,用于对输入数据块进行...

【专利技术属性】
技术研发人员:孔玮曼翟新刚
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:上海;31

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

1