数据处理方法、装置、设备和可读存储介质制造方法及图纸

技术编号:34789038 阅读:22 留言:0更新日期:2022-09-03 19:52
本申请提供一种数据处理方法、装置、设备和可读存储介质,该方法包括:获取待处理的输入特征图和原始输出通道的数量;当所述原始输出通道的数量小于矩阵乘引擎的列数量时,将每个所述原始输出通道进行扩展处理,得到多个扩展后的输出通道;根据所述多个扩展后的输出通道在所述矩阵乘引擎中处理所述输入特征图,得到输出特征图。本申请可使每个原始输出通道每周期生成多个输出,进而提高矩阵乘引擎的利用率。率。率。

【技术实现步骤摘要】
数据处理方法、装置、设备和可读存储介质


[0001]本申请涉及计算机
,具体而言,涉及一种数据处理方法、装置、设备和可读存储介质。

技术介绍

[0002]通用矩阵乘(general matrix

matrix multiplication,GEMM)是深度学习的核心操作之一,广泛应用于卷积(convolution),全连接(full connection),以及矩阵乘(matmul)等算子的实现。
[0003]在各种实现方式中,矩阵乘法可以通过使用执行点积运算的硬件(例如,矩阵乘引擎)来执行。换句话说,矩阵乘引擎可以用来计算卷积的不同变体。在各种实施例中,矩阵乘引擎需要足够大的输入(例如,足够大的输入通道和输出通道)才能高效。输入不够大会导致利用率低。
[0004]当输入通道和/或输出通道的数量小于矩阵乘引擎被配置用于的指定大小时,矩阵乘引擎的整体效率会下降。而卷积的输出是神经网络中一层的输出,并且该输出被馈送到下一层。因此对于多层具有有限输入通道和/或输出通道的神经网络,如何提高矩阵乘引擎的效率,尤为重要。

技术实现思路

[0005]本申请实施例的目的在于提供一种数据处理方法、装置、设备和可读存储介质,提升了矩阵乘引擎的效率,从而提高了资源利用率。
[0006]本申请实施例第一方面提供了一种数据处理方法,包括:获取待处理的输入特征图和原始输出通道的数量;当所述原始输出通道的数量小于矩阵乘引擎的列数量时,将每个所述原始输出通道进行扩展处理,得到多个扩展后的输出通道;根据所述多个扩展后的输出通道在所述矩阵乘引擎中处理所述输入特征图,得到输出特征图。
[0007]上述数据处理方法,在原始输出通道无法填满矩阵乘引擎的情况下,通过扩展原始输出通道的尺寸参数,得到多个扩展后的输出通道,然后使用多个扩展后的输出通道在矩阵乘引擎中处理输入特征图,由于多个扩展后的输出通道可以提高矩阵乘引擎在一个计算周期内的使用率,因此可以提升矩阵乘引擎的效率,从而提高资源利用率。
[0008]于一实施例中,所述当所述原始输出通道的数量小于矩阵乘引擎的列数量时,将每个所述原始输出通道进行扩展处理,得到多个扩展后的输出通道,包括:当所述原始输出通道的数量小于矩阵乘引擎的列数量时,将每个所述原始输出通道沿着行方向和列方向扩展,并在扩展出来的行列中补充特定元素,得到每个所述原始输出通道对应的所述多个扩展后的输出通道。
[0009]上述实施例,当原始输出通道的数量小于矩阵乘引擎的列数量时,通过沿着行方向和列方向扩展原始通道,并用特定元素填补多出的行列,从而一个原始通道可以扩展成多个输出通道,提高矩阵乘引擎在一个计算周期内的使用率。
[0010]于一实施例中,所述将每个所述原始输出通道沿着行方向和列方向扩展,并在扩展出来的行列中补充特定元素,得到每个所述原始输出通道对应的所述多个扩展后的输出通道,包括:根据所述原始输出通道的核宽度、沿着行方向的步长以及沿核宽度方向的扩展参数,确定所述扩展后的输出通道的核宽度;根据所述原始输出通道的核高度、沿着列方向的步长以及沿核高度方向的扩展参数,确定所述扩展后的输出通道的核高度;按照所述扩展后的输出通道的核宽度和扩展后的输出通道的核高度,构建多个扩展后的输出通道,并在扩展出来的行列中补充特定元素。
[0011]上述实施例,通过设定的步长和扩展参数进行扩展,可以按照请求扩展出合适尺寸的核数据,充分利用矩阵乘引擎的计算资源。
[0012]于一实施例中,所述根据所述多个扩展后的输出通道在所述矩阵乘引擎中处理所述输入特征图,得到输出特征图,包括:根据所述输出特征图的限定参数、输入通道参数和所述多个扩展后的输出通道的参数,将所述输入特征图进行图像到列的转换,得到输入矩阵;根据所述输入通道参数和所述多个扩展后的输出通道的参数,将核数据进行图像到列的转换,得到核矩阵;将所述输入矩阵和所述核矩阵输入至所述矩阵乘引擎中进行处理,得到所述输出特征图。
[0013]上述实施例,通过对输入特征图进行图像到列的转换,将核数据就那些图像到列的转换,从而可以输入特征图和核数据可以逐列进行点积计算,提高输出特征图的计算效率,降低计算复杂度。
[0014]于一实施例中,所述将所述输入矩阵和所述核矩阵输入至所述矩阵乘引擎中进行处理,得到所述输出特征图,包括:若所述核矩阵的高度大于所述矩阵乘引擎的高度,则将所述输入矩阵进行切分,得到切分后的多个子输入矩阵,将所述核矩阵进行切分,得到多个子核矩阵;分别将所述多个子输入矩阵和所述多个子核矩阵输入至所述矩阵乘引擎中进行处理,得到多个子结果,将所述多个子结果累加,得到最终的所述输出特征图。
[0015]上述实施例,在核矩阵的高度大于矩阵乘引擎的高度时,表示无法一次性完成矩阵乘运算,通过对输入矩阵和核矩阵进行切分,并分别将多个子输入矩阵和多个子核矩阵输入至矩阵乘引擎中进行处理,可以降低处理难度,提高处理效率。
[0016]于一实施例中,在所述根据所述多个扩展后的输出通道在所述矩阵乘引擎中处理所述输入特征图,得到输出特征图之后,还包括:将所述矩阵乘引擎最终输出的所述输出特征图传递给下游的向量引擎,以进行后续向量操作。
[0017]上述实施例,将矩阵乘引擎最终输出的输出特征图传递给下游的向量引擎,可以提高深度学习的效率。
[0018]本申请实施例第二方面提供了一种数据处理装置,包括:获取模块,用于获取待处理的输入特征图和原始输出通道的数量;扩展模块,用于当所述原始输出通道的数量小于矩阵乘引擎的列数量时,将每个所述原始输出通道进行扩展处理,得到多个扩展后的输出通道;处理模块,用于根据所述多个扩展后的输出通道在所述矩阵乘引擎中处理所述输入特征图,得到输出特征图。
[0019]于一实施例中,所述扩展模块用于:当所述原始输出通道的数量小于矩阵乘引擎
的列数量时,将每个所述原始输出通道沿着行方向和列方向扩展,并在扩展出来的行列中补充特定元素,得到每个所述原始输出通道对应的所述多个扩展后的输出通道。
[0020]于一实施例中,所述扩展模块还用于:根据所述原始输出通道的核宽度、沿着行方向的步长以及沿核宽度方向的扩展参数,确定所述扩展后的输出通道的核宽度;根据所述原始输出通道的核高度、沿着列方向的步长以及沿核高度方向的扩展参数,确定所述扩展后的输出通道的核宽度。
[0021]于一实施例中,所述处理模块用于:根据所述输出特征图的限定参数、输入通道参数和所述多个扩展后的输出通道的参数,将所述输入特征图进行图像到列的转换,得到输入矩阵;根据所述输入通道参数和所述多个扩展后的输出通道的参数,将核数据进行图像到列的转换,得到核矩阵;将所述输入矩阵和所述核矩阵输入至所述矩阵乘引擎中进行处理,得到所述输出特征图。
[0022]于一实施例中,所述处理模块还用于:若所述核矩阵的高度大于所述矩阵乘引擎的高度,则将所述输入矩阵进行切分,得到切分后的多个子输入矩阵,将所述核矩阵进行切分,得到多个子核本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:获取待处理的输入特征图和原始输出通道的数量;当所述原始输出通道的数量小于矩阵乘引擎的列数量时,将每个所述原始输出通道进行扩展处理,得到多个扩展后的输出通道;根据所述多个扩展后的输出通道在所述矩阵乘引擎中处理所述输入特征图,得到输出特征图。2.根据权利要求1所述的方法,其特征在于,所述当所述原始输出通道的数量小于矩阵乘引擎的列数量时,将每个所述原始输出通道进行扩展处理,得到多个扩展后的输出通道,包括:当所述原始输出通道的数量小于矩阵乘引擎的列数量时,将每个所述原始输出通道沿着行方向和列方向扩展,并在扩展出来的行列中补充特定元素,得到每个所述原始输出通道对应的所述多个扩展后的输出通道。3.根据权利要求2所述的方法,其特征在于,所述将每个所述原始输出通道沿着行方向和列方向扩展,并在扩展出来的行列中补充特定元素,得到每个所述原始输出通道对应的所述多个扩展后的输出通道,包括:根据所述原始输出通道的核宽度、沿着行方向的步长以及沿核宽度方向的扩展参数,确定所述扩展后的输出通道的核宽度;根据所述原始输出通道的核高度、沿着列方向的步长以及沿核高度方向的扩展参数,确定所述扩展后的输出通道的核高度;按照所述扩展后的输出通道的核宽度和扩展后的输出通道的核高度,构建多个扩展后的输出通道,并在扩展出来的行列中补充特定元素。4.根据权利要求1所述的方法,其特征在于,所述根据所述多个扩展后的输出通道在所述矩阵乘引擎中处理所述输入特征图,得到输出特征图,包括:根据所述输出特征图的限定参数、输入通道参数和所述多个扩展后的输出通道的参数,将所述输入特征图进行图像到列的转换,得到输入矩阵;根据所述输入通道参数和所述多个扩展后的输出通道的参数,将核数据进行图像到列的转换,得到核矩阵;将所述输入矩阵和所述核矩阵输入至所述...

【专利技术属性】
技术研发人员:王平王刚
申请(专利权)人:上海登临科技有限公司
类型:发明
国别省市:

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

1