在三个或更多个维度中的加窗运算的硬件实施方式制造技术

技术编号:32852916 阅读:10 留言:0更新日期:2022-03-30 19:14
本发明专利技术涉及在三个或更多个维度中的加窗运算的硬件实施方式。公开了一种数据处理系统和方法,用于在至少三个遍历维度中实施加窗运算。所述数据处理系统将至少三个遍历维度中的所述加窗运算映射到两个遍历维度中的多个组成的加窗运算。所述多个2

【技术实现步骤摘要】
在三个或更多个维度中的加窗运算的硬件实施方式


[0001]本专利技术涉及在硬件加速器中执行加窗运算。

技术介绍

[0002]加窗运算诸如2

D卷积和池化是众所周知的,并且广泛用于神经网络的上下文中—特别是卷积神经网络(CNN)。例如,这些2

D运算支持将基于神经网络的算法应用于图像处理/分析/理解任务。硬件加速器是本领域中已知的,其被优化以用于执行这些2

D运算。
[0003]在处理2

D图像的CNN中使用的张量通常具有两个以上的维度数量。通过与每个图像相关联的输入信道的数量、待应用于每个信道的滤波器的数量等来添加附加的维度。示例性张量具有四个维度:批次、信道、高度和宽度。应用于该张量的对应的2

D卷积内核还具有四个维度:输出信道的数量、输入信道的数量、内核高度和内核宽度。
[0004]值得注意的是,不管表示2

D信号的张量的维度数量如何,所执行的加窗运算(例如,卷积或池化)本质上是二维的。也就是说,窗口(例如,内核)仅跨两个维度(即,高度维度和宽度维度)中的步幅移位。称这两个维度被窗口“遍历”。其他维度,诸如批次维度和信道维度,也可以存在。

技术实现思路

[0005]提供本
技术实现思路
是为了以简化的形式介绍下文在具体实施方式中进一步描述的一系列概念。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
[0006]公开了一种数据处理系统和方法,用于在至少三个遍历维度中实施加窗运算。数据处理系统将至少三个遍历维度中的加窗运算映射到两个遍历维度中的多个组成的(constituent)加窗运算。所述多个2

D加窗运算照此在一个或多个硬件加速器中实施。数据处理系统对组成的2

D加窗运算的结果进行汇编,以产生至少三个遍历维度中的加窗运算的结果。
[0007]根据一个方面,提供了一种在至少三个遍历维度中实施加窗运算的方法。
[0008]加窗运算至少部分地在硬件中实施,因为2

D加窗运算在至少一个硬件加速器中实施。至少一个硬件加速器可包括被配置为执行2

D加窗运算的电路系统。汇编部分结果的步骤可以在软件中(例如,通过调用通用可编程电路系统)或者在硬件中(例如,由至少一个硬件加速器)实施。
[0009]汇编部分结果的步骤可包括以下项中的两项或更多项中的至少一项或任何组合:收集部分结果中的一些或全部,组合部分结果中的一些或全部,以及连接(concatenating)部分结果中的一些或全部。连接部分结果可包括将它们连接成单个张量—特别是将它们连接成具有较高维度的单个张量。组合部分结果可包括不增加维度的逐元素组合。例如,可以通过逐元素的求和、最小、最大或均值运算来组合部分结果。收集部分结果可包括在存储器
中收集部分结果,或者收集部分结果并且将其传递以供进一步处理—例如,收集部分结果并且将其直接传递到后续加窗运算。汇编部分结果的方式通常取决于正在实施的加窗运算。特别地,可取决于加窗运算的类型和窗口的大小。
[0010]数据包括至少三个遍历维度中的多个元素。除了遍历维度之外,还可以存在其他维度,诸如批次和信道。数据也可以被称为数据张量。当加窗运算为卷积时,内核可包括至少三个维度中的多个权重(系数)。内核可包括多个滤波器,其中每个滤波器对数据单独运算。
[0011]至少三个遍历维度例如可包括两个空间维度,任选地包括三个空间维度。在一个示例中,所述至少三个遍历维度可包括两个空间维度和一个时间维度,或者由两个空间维度和一个时间维度组成。其他示例也是可能的。可以遍历其他维度,包括但不限于一个或多个频率维度,诸如空间频率或时间频率。
[0012]加窗运算由窗口限定,该窗口可以在三个遍历维度中的每一个维度中具有至少为一或至少为二的大小。数据可以在三个遍历维度中的每一个遍历维度中具有至少为一、至少为二或至少为三的大小。(据此公开了这些大小的所有排列组合。)
[0013]在此,切片是指在至少一个维度中具有减小的大小的数据(或窗口)的子集,但在其他维度中包含数据(或窗口)的全部范围。例如,3

D数据的2

D切片在一个维度上减小了数据的大小。4

D数据的2

D切片在两个维度上减小了数据的大小。在本专利技术的方法中,每个切片可以是2

D切片。张量可以被视为具有多个维度的阵列。张量的“切片”也是张量,包含原始张量的对应于一个或多个指定索引的所有元素。例如,如果张量T具有三个维度,那么在具有索引5的第二维度上获取的T的切片U可以通过以下方式给出:对于{1...A}中的所有a和{1...C}中的所有c,U[a,c]=T[a,5,c],其中A是第一维度的大小,并且C是第三维度的大小。在这种情况下,将U称为3

D张量T的2

D切片。一般来讲,可以在一个或多个维度中的任何一个维度上获取切片。
[0014]通常,切片在减小的维度上完全不延伸。换句话讲,切片在该维度中的大小为1。在这种情况下,2

D切片包含两个维度(这两个维度为在每个2

D加窗运算中由移位遍历的维度)中的数据的全部范围,并且在由加窗运算的移位遍历的其他维度中不延伸。
[0015]在将多个组成的2

D加窗运算替换为三个或更多个遍历维度中的加窗运算时,多个组成的2

D加窗运算针对窗口在其余维度(即,除2

D加窗运算的两个维度以外的至少三个遍历维度的维度)中的每个移位可以包括两个或更多个2

D加窗运算。汇编部分结果则可包括针对窗口在其余维度中的每个移位,组合两个或更多个2

D加窗运算的部分结果或由此组成。
[0016]一般来讲,加窗运算相关的数学运算符具有关联性,这意味着结果不取决于如何将数据分组在一起来执行加窗运算,并且具有交换性,这意味着可以改变执行运算的顺序。在卷积或均值池化的情况下,相关的数学运算符为加法;例如,在最大池化或最小池化的情况下,相关的数学运算符为最大运算符或最小运算符。
[0017]至少一个硬件加速器可以是固定功能硬件加速器。在此上下文中,“固定功能”是指硬件的特性,即,在制造之后硬件所实施的逻辑无法被重新配置(或者至少无法被广泛地重新配置)。这与例如可重新配置的现场可编程逻辑形成对比。至少一个硬件加速器可以包括在专用集成电路(ASIC)中。固定功能硬件的行为可以是可编程的。
[0018]至少三个遍历维度中的加窗运算可以由计算图定义,并且映射可以包括重新绘制计算图以将加窗运算展开/铺展为多个组成的2

D加窗运算。
[0019]在每个2

...

【技术保护点】

【技术特征摘要】
1.一种在至少三个遍历维度中实施加窗运算的方法,所述加窗运算包括将具有至少三个维度的窗口应用于具有至少三个遍历维度的数据,其中所述窗口在所有三个遍历维度中移位,所述方法包括:将所述加窗运算映射(720)到多个组成的2

D加窗运算,每个2

D加窗运算包括将所述窗口的切片施加到所述数据的切片,其中所述窗口的所述切片仅在两个维度中移位;由至少一个硬件加速器实施(730、731)所述多个2

D加窗运算中的每一个运算,每个2

D加窗运算产生相应的部分结果;以及汇编(740)所述部分结果以产生所述加窗运算的所述结果。2.如权利要求1所述的方法,包括选择(710)所述至少三个遍历维度的两个维度,以及将所述加窗运算映射(720)到所选择的两个维度中的多个组成的2

D加窗运算。3.如前述权利要求中任一项所述的方法,其中所述数据包括零填充数据,并且其中将所述加窗运算映射到所述多个组成的2

D加窗运算包括:从所述多个组成的2

D加窗运算中排除(724)将应用于仅由零组成的所述零填充数据的切片的2

D加窗运算。4.如前述权利要求中任一项所述的方法,还包括当在所述至少一个硬件加速器中实施所述多个2

D加窗运算中的一个运算时,将所述数据的所述切片的至少一部分或所述窗口的所述切片的至少一部分存储(732)在所述至少一个硬件加速器的本地存储器中,以及当随后在所述至少一个硬件加速器中实施所述多个2

D加窗运算中的一个运算时,重复使用(734)所存储的部分。5.如权利要求1至4中任一项所述的方法,其中所述加窗运算是以下运算中的一个运算:卷积运算,其中所述2

D加窗运算中的每一个运算是2

D卷积运算,并且其中汇编所述部分结果包括通过对所述部分结果求和来对它们进行组合;最大运算,其中所述2

D加窗运算中的每一个运算是最大运算,并且其中汇编所述部分结果包括通过标识所述部分结果中的最大部分结果来对它们进行组合;最小运算,其中所述2

D加窗运算中的每一个运算是最小运算,并且其中汇编所述部分结果包括通过标识所述部分结果中的最小部分结果来对它们进行组合;以及均值池化运算,其中所述2

D加窗运算中的每一个运算是均值池化运算,并且其中组合所述部分结果包括通过计算所述部分结果的所述均值来对它们进行组合。6.如前述权利要求中任一项所述的方法,其中所述加窗运算包括偏置相加,其中将所述加窗运算映射(720a)到所述多个组成的2

D加窗运算包括将所述偏置相加映射到所述2

D加窗运算中的所选择的一个运算,其中所述偏置相加在所述至少一个硬件加速器中执行,作为所选择的2

D加窗运算的一部分(730a)。7.如前述权利要求中任一项所述的方法,其中所述数据包括以下各项中的一项或其导数:视频数据,所述视频数据包括两个空间维度和一个时间维度;以及体积数据,所述体积数据包括三个空间维度。8.如前述权利要求中任一项所述的方法,其中所述加窗运算作为包括多个层的神经网络的一部分执行,
所述方法包括:在所述多个层中标识(705)至少三个遍历维度中的加窗运算,所述至少一个硬件加速器不支持所述加窗运算;将所述神经网络映射到重构的神经网络(720”);以及由所述至少一个硬件加速器实施(735)所述重构的神经网络,其中所述神经网络中的所标识的加窗运算在所述重构的神经网络中被产生部分结果的多个2

D加窗运算和组合所述部分结果的多个逐元素运算替换。9.一种用于在至少三个遍历维度中实施加窗运算的数据处理系统(600),所述加窗运算包括:将具有至少三个维度的窗口应用于具有至少三个遍历维度的数据,其中所述...

【专利技术属性】
技术研发人员:I
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:

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

1