用于实现卷积运算的方法、装置、介质以及电子设备制造方法及图纸

技术编号:28376526 阅读:11 留言:0更新日期:2021-05-08 00:04
公开了一种用于实现卷积运算的方法、装置、介质以及电子设备,其中的方法包括:获取卷积层的输入特征和所述卷积层对应的卷积核的权值矩阵,其中,输入特征的空间分辨率为n1×n11,权值矩阵为m1×m1的权值矩阵,且m1为非零偶数;根据输入特征以及权值矩阵获得行列扩展后的待运算特征和待运算权值矩阵,其中,待运算特征的空间分辨率为n2×n22,待运算权值矩阵m2×m2的权值矩阵,m2为大于m1的奇数;通过数据处理器对所述待运算权值矩阵与待运算特征执行卷积运算,得到卷积运算结果;根据所述卷积运算结果,获得所述卷积层的输出特征。本公开可以利用数据处理器实现多种类型的卷积运算,从而有利于丰富卷积运算的实现方式。

【技术实现步骤摘要】
用于实现卷积运算的方法、装置、介质以及电子设备
本公开涉及计算机视觉技术,尤其是涉及一种用于实现卷积运算的方法、用于实现卷积运算的装置、存储介质以及电子设备。
技术介绍
计算机视觉技术往往离不开卷积运算。例如,在计算机视觉技术所使用的CNN(ConvolutionalNeuralNetworks,卷积神经网络)、RPN(RegionProposalNetwork,区域候选神经网络)以及RNN(RecurrentNeuralNetwork,循环神经网络)等神经网络中,通常包含有至少一卷积层,每一卷积层对应预设尺寸的卷积核,每一卷积层可以基于其对应的卷积核,对该卷积层的输入特征进行卷积运算,形成新的特征,并将该新的特征作为该卷积层的输出特征,从而实现该卷积层的卷积运算。目前,一些硬件单元仅支持单一类型的卷积运算,如何使硬件单元支持多种类型的卷积运算,是一个值得关注的技术问题。
技术实现思路
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种用于实现卷积运算的方法、装置、存储介质以及电子设备。根据本公开实施例的一方面,提供一种用于实现卷积运算的方法,该方法包括:获取卷积层的输入特征和所述卷积层对应的卷积核的权值矩阵,其中,所述输入特征的空间分辨率为n1×n11,所述权值矩阵为m1×m1的权值矩阵,且所述n1和n11为正整数,所述m1为非零偶数;根据所述输入特征和权值矩阵获得行列扩展后的待运算特征和待运算权值矩阵,其中,所述待运算特征的空间分辨率为n2×n22,所述待运算权值矩阵为m2×m2的权值矩阵,所述n2为大于n1的整数,所述n22为大于n11的整数,所述m2为大于m1的奇数,所述m2×m2为数据处理器支持的权值矩阵的尺寸;通过所述数据处理器对所述待运算权值矩阵与所述待运算特征执行卷积运算,得到卷积运算结果;根据所述卷积运算结果,获得所述卷积层的输出特征。根据本公开实施例的另一个方面,提供了一种用于实现卷积运算的方法,包括:获取卷积层的输入特征和所述卷积层对应的卷积核的权值矩阵,其中,所述权值矩阵为m3×m3的权值矩阵,所述m3为奇数;在数据处理器不支持所述卷积层的特征填充需求的情况下,根据所述权值矩阵获得行列扩展后的待运算权值矩阵,其中,所述待运算权值矩阵为m4×m4的权值矩阵,所述m4×m4为所述数据处理器支持的权值矩阵的尺寸;通过所述数据处理器对所述待运算权值矩阵与所述输入特征执行基于数据处理器支持的特征填充的卷积运算,获得卷积运算结果;根据所述卷积运算结果,获得所述卷积层的输出特征。根据本公开实施例的再一个方面,提供了一种用于实现卷积运算的装置,该装置包括:第一获取模块,用于获取卷积层的输入特征和所述卷积层对应的卷积核的权值矩阵,其中,所述输入特征的空间分辨率为n1×n11,所述权值矩阵为m1×m1的权值矩阵,所述n1和n11为正整数,所述m1为非零偶数;第二获取模块,用于根据所述第一获取模块获取的输入特征和权值矩阵获得行列扩展后的待运算特征和待运算权值矩阵,其中,所述待运算特征的空间分辨率为n2×n22,所述待运算权值矩阵为m2×m2的权值矩阵,所述n2为大于n1的整数,所述n22为大于n11的整数,所述m2为大于m1的奇数,所述m2×m2为数据处理器支持的权值矩阵的尺寸;第一获取运算结果模块,用于通过所述数据处理器对所述第二获取模块获得的待运算权值矩阵与所述待运算特征执行卷积运算,得到卷积运算结果;第一获取输出特征模块,用于根据所述第一获取运算结果模块获得的卷积运算结果,获得所述卷积层的输出特征。根据本公开实施例的再一方面,提供了一种用于实现卷积运算的装置,该装置包括:第三获取模块,用于获取卷积层的输入特征和所述卷积层对应的卷积核的权值矩阵,其中,所述权值矩阵为m3×m3的权值矩阵,所述m3为奇数;第四获取模块,用于在数据处理器不支持所述卷积层的特征填充需求的情况下,根据所述第三获取模块获取的权值矩阵获得行列扩展后的待运算权值矩阵,其中,所述待运算权值矩阵为m4×m4的权值矩阵,所述m4×m4为所述数据处理器支持的权值矩阵的尺寸;第二获取运算结果模块,用于通过所述数据处理器对所述第四获取模块获得的m4×m4的权值矩阵与所述第三获取模块获取到的输入特征执行基于数据处理器支持的特征填充的卷积运算,获得卷积运算结果;第二获取输出特征模块,用于根据所述第二获取运算结果模块获得的卷积运算结果,获得所述卷积层的输出特征。根据本公开实施例的再一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于实现上述方法。根据本公开实施例的又一方面,提供了一种电子设备,该电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述方法。基于本公开上述实施例提供的一种用于实现卷积运算的方法和装置,对于行数和列数均为偶数的权值矩阵而言,本公开通过对卷积层的权值矩阵进行行列扩展,可以使卷积核的权值矩阵成为行数和列数均为奇数的权值矩阵,从而使支持奇数权值矩阵的数据处理器可以针对输入特征执行卷积运算操作;通过对卷积层的输入特征进行行列扩展,可以根据数据处理器执行的卷积运算的结果获得卷积层的输出特征。由此可知,本公开提供的技术方案可以利用支持奇数卷积核的数据处理器完成基于偶数卷积核的卷积运算,从而有利于利用支持奇数卷积核的数据处理器实现多种类型的卷积运算,进而有利于丰富卷积运算的实现方式。基于本公开上述实施例提供的一种用于实现卷积运算的方法和装置,在数据处理器不支持卷积层的特征填充需求的情况下,本公开通过对卷积核的权值矩阵进行行列扩展,使数据处理器可以利用扩展后的权值矩阵,基于其支持的特征填充,对卷积层的输入特征执行卷积运算操作,从而可以基于数据处理器执行的卷积运算的结果获得卷积层的输出特征。由此可知,本公开提供的技术方案可以利用不支持卷积层的特征填充需求的数据处理器实现具有相应特征填充需求的卷积层的卷积运算,从而有利于利用数据处理器实现多种类型的卷积运算,进而有利于丰富卷积运算的实现方式。下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。附图说明通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征以及优势将变得更加明显。附图用来提供对本公开实施例的进一步的理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。图1是本公开所适用的场景示意图;图2为本公开的用于实现卷积运算的方法一个实施例的流程图;图3为本公开的实现卷积层的卷积运算的第一个例子的示意图;图4为本公开的实现卷积层的卷积运算的第二个例子的示意图;图5为本公开的实现卷积层的卷积运算的第三个例子的示意图;图6为本公开的实现卷积层的卷积运算的第四个例子的示意图;图7为本公开的实现卷积层的卷积运算的第五个例子的示意图;...

【技术保护点】
1.一种用于实现卷积运算的方法,包括:/n获取卷积层的输入特征和所述卷积层对应的卷积核的权值矩阵,其中,所述输入特征的空间分辨率为n1×n11,所述权值矩阵为m1×m1的权值矩阵,所述n1和n11为正整数,所述m1为非零偶数;/n根据所述输入特征和权值矩阵获得行列扩展后的待运算特征和待运算权值矩阵,其中,所述待运算特征的空间分辨率为n2×n22,所述待运算权值矩阵为m2×m2的权值矩阵,所述n2为大于n1的整数,所述n22为大于n11的整数,所述m2为大于m1的奇数,所述m2×m2为数据处理器支持的权值矩阵的尺寸;/n通过所述数据处理器对所述待运算权值矩阵与所述待运算特征执行卷积运算,得到卷积运算结果;/n根据所述卷积运算结果,获得所述卷积层的输出特征。/n

【技术特征摘要】
1.一种用于实现卷积运算的方法,包括:
获取卷积层的输入特征和所述卷积层对应的卷积核的权值矩阵,其中,所述输入特征的空间分辨率为n1×n11,所述权值矩阵为m1×m1的权值矩阵,所述n1和n11为正整数,所述m1为非零偶数;
根据所述输入特征和权值矩阵获得行列扩展后的待运算特征和待运算权值矩阵,其中,所述待运算特征的空间分辨率为n2×n22,所述待运算权值矩阵为m2×m2的权值矩阵,所述n2为大于n1的整数,所述n22为大于n11的整数,所述m2为大于m1的奇数,所述m2×m2为数据处理器支持的权值矩阵的尺寸;
通过所述数据处理器对所述待运算权值矩阵与所述待运算特征执行卷积运算,得到卷积运算结果;
根据所述卷积运算结果,获得所述卷积层的输出特征。


2.根据权利要求1所述的方法,其中,所述根据所述输入特征和权值矩阵获得行列扩展后的待运算特征和待运算权值矩阵,包括:
采用在所述输入特征和权值矩阵的相同方位分别添加至少一扩展行和至少一扩展列的方式,获得行列扩展后的待运算输入特征和待运算权值矩阵。


3.根据权利要求2所述的方法,其中,所述采用在所述输入特征和权值矩阵的相同方位分别添加至少一扩展行和至少一扩展列的方式,获得行列扩展后的待运算输入特征和待运算权值矩阵,包括:
采用在所述输入特征和权值矩阵的相同方位分别添加相同数量的扩展行和相同数量的扩展列的方式,获得行列扩展后的待运算输入特征和待运算权值矩阵。


4.根据权利要求3所述的方法,其中,所述采用在所述输入特征和权值矩阵的相同方位分别添加相同数量的扩展行和相同数量的扩展列的方式,获得行列扩展后的待运算输入特征和待运算权值矩阵,包括:
在所述数据处理器不支持所述卷积层的特征填充需求的情况下,采用在所述输入特征和权值矩阵的最上一行的上侧和最左一列的左侧分别添加相同数量的扩展行和相同数量的扩展列的方式,获得行列扩展后的待运算输入特征和待运算权值矩阵;
且所述通过所述数据处理器对所述待运算权值矩阵与所述待运算特征执行卷积运算,包括:
通过所述数据处理器基于其支持的特征填充,对所述待运算权值矩阵与所述待运算特征执行卷积运算。


5.根据权利要求4所述的方法,其中,所述根据所述卷积运算结果,获得所述卷积层的输出特征,包括:
根据所述卷积运算结果中的部分行和部分列,获得所述卷积层的输出特征。


6.根据权利要求2至5中任一项所述的方法,其中:
所述待运算权值矩阵中的扩展行和扩展列中的各元素的取值均为零;
所述待运算特征中的扩展行和扩展列中的各元素的取值均为任意值。


7.根据权利要求2至6中任一项所述的方法,其中:
所述扩展行的行数量为所述数据处理器所支持的第一卷积核的权值矩阵的行数量与所述卷积层对应的卷积核的权值矩阵的行数量的差值;
所述扩展列的列数量为所述数据处理器所支持的第一卷积核的权值矩阵的列数量与所述卷积层对应的卷积核的权值矩阵的列数量的差值;
其中,所述第一卷积核的权值矩阵为:所述数据处理器所支持的各权值矩阵中的大于所述卷积层对应的卷积核的权值矩阵的尺寸,且与所述卷积层对应的卷积核的权值矩阵的尺寸最接近的权值矩阵。


8.一种用于实现卷积运算的方法...

【专利技术属性】
技术研发人员:王振江李德林张祎男
申请(专利权)人:北京地平线机器人技术研发有限公司
类型:发明
国别省市:北京;11

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

1