CN110826687B - 数据处理方法及其装置、介质和系统 - Google Patents
数据处理方法及其装置、介质和系统 Download PDFInfo
- Publication number
- CN110826687B CN110826687B CN201910814806.7A CN201910814806A CN110826687B CN 110826687 B CN110826687 B CN 110826687B CN 201910814806 A CN201910814806 A CN 201910814806A CN 110826687 B CN110826687 B CN 110826687B
- Authority
- CN
- China
- Prior art keywords
- pooling
- data
- window
- array
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000011176 pooling Methods 0.000 claims abstract description 531
- 238000012545 processing Methods 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims description 82
- 230000008569 process Effects 0.000 claims description 68
- 230000015654 memory Effects 0.000 claims description 26
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000013527 convolutional neural network Methods 0.000 abstract description 12
- 238000004364 calculation method Methods 0.000 abstract 1
- 239000000872 buffer Substances 0.000 description 31
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 10
- 238000003491 array Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 5
- 238000012805 post-processing Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Abstract
本申请涉及计算机处理领域,公开了一种数据处理方法及其装置、介质和系统。本申请公开的数据处理方法包括:获取数据阵列;确定第一池化窗口,其中第一池化窗口在第一方向上的尺寸等于数据阵列在第一方向上的尺寸,而第一池化窗口在第二方向上的尺寸小于数据阵列在第二方向上的尺寸;将第一池化窗口在数据阵列上沿第二方向移动,并在第一池化窗口的每个移动位置上,对数据阵列在第一池化窗口内的数据做第一池化处理,以获得第一池化结果阵列。本申请的数据处理方法能够有效提高基于卷积神经网络的计算中池化处理的效率。
Description
技术领域
本申请涉及计算机处理领域,特别涉及一种数据处理方法及其装置、可读介质和系统。
背景技术
卷积神经网络是当前深度学习算法模型中应用较多的一种神经网络模型,池化处理是是卷积神经网络和大多数深度学习/机器学习网络中非常重要的处理。在卷积神经网络中,池化层位于卷积层之后,可以用于降低卷积层输出的特征向量的维度。最常见的池化处理包括平均池化处理和最大池化处理。
发明内容
本申请的目的在于提供一种数据处理方法及其装置、介质和系统,可提高基于卷积神经网络的计算中池化处理的效率。
第一方面,本申请的一些实施例公开了一种数据处理方法,包括:
获取数据阵列;
确定第一池化窗口,其中所述第一池化窗口在第一方向上的尺寸等于所述数据阵列在所述第一方向上的尺寸,而所述第一池化窗口在第二方向上的尺寸小于所述数据阵列在所述第二方向上的尺寸;
将所述第一池化窗口在所述数据阵列上沿所述第二方向移动,并在所述第一池化窗口的每个移动位置上,对所述数据阵列在所述第一池化窗口内的数据做第一池化处理,以获得第一池化结果阵列,其中所述第一池化结果阵列包括多个所述第一池化处理的结果。
在第一方面的一种可能实现中,所述第一池化处理为将所述第一池化窗口内的数据沿所述第二方向做池化处理。
在第一方面的一种可能实现中,所述方法还包括:
确定第二池化窗口,其中所述第二池化窗口在所述第一方向上的尺寸小于所述第一池化结果阵列在所述第一方向上的尺寸;
将所述第二池化窗口相对于所述第一池化结果阵列移动,并在所述第二池化窗口的每个移动位置上,对所述第一池化结果阵列在所述第二池化窗口内的数据做第二池化处理,以获得第二池化结果阵列,其中,所述第二池化结果阵列包括多个所述第二池化处理的结果,所述移动包括沿所述第一池化结果阵列的所述第一方向的移动。
在第一方面的一种可能实现中,所述第二池化处理为将所述第二池化窗口内的数据沿所述第一方向做池化处理。
在第一方面的一种可能实现中,所述第二池化窗口在所述第二方向上的尺寸小于所述第一池化结果矩阵的第二方向上的尺寸,并且
所述移动包括沿所述第一池化结果阵列的所述第二方向的移动。
在第一方面的一种可能实现中,所述方法还包括:
在确定所述数据阵列中沿所述第一方向排列的至少一个第一数据组被包括在所述第一池化窗口内的次数超出池化阈值的情况下,对所述至少一个第一数据组做预池化处理,以获得预池化结果,并将所述预池化结果存储到存储器中;并且
所述对所述数据阵列在所述第一池化窗口内的数据做第一池化处理包括:
在确定位于所述第一池化窗口内的数据包括所述至少一个第一数据组的情况下,基于所述预池化结果获得所述第一池化处理的结果。
在第一方面的一种可能实现中,所述基于所述预池化结果获得所述第一池化处理的结果还包括:
对所述数据阵列中沿所述第一方向排列的至少一个第二数据组与所述预池化结果做所述第一池化处理,以获得所述第一池化处理结果,其中所述至少一个第二数据组被包括在所述第一池化窗口内的次数未超出所述池化阈值。
在第一方面的一种可能实现中,所述方法还包括:
将所述第一池化结果阵列存储于存储器中。
在第一方面的一种可能实现中,所述方法还包括:
输出所述第二池化结果阵列,其中,所述第二池化结果阵列用于智能识别。
第二方面,本申请的一些实施例公开了一种数据处理装置,包括:
存储模块,用于存储获取到的数据阵列;
池化模块,用于确定第一池化窗口,其中所述第一池化窗口在第一方向上的尺寸等于所述数据阵列在所述第一方向上的尺寸,而所述第一池化窗口在第二方向上的尺寸小于所述数据阵列在所述第二方向上的尺寸,并且
还用于将所述第一池化窗口在所述数据阵列上沿所述第二方向移动,并在所述第一池化窗口的每个移动位置上,对所述数据阵列在所述第一池化窗口内的数据做第一池化处理,以获得第一池化结果阵列,其中所述第一池化结果阵列包括多个所述第一池化处理的结果。
在第二方面的一种可能实现中,所述第一池化处理为将所述第一池化窗口内的数据沿所述第二方向做池化处理。
在第二方面的一种可能实现中,所述池化模块还用于:
确定第二池化窗口,其中所述第二池化窗口在所述第一方向上的尺寸小于所述第一池化结果阵列在所述第一方向上的尺寸,并且
将所述第二池化窗口相对于所述第一池化结果阵列移动,并在所述第二池化窗口的每个移动位置上,对所述第一池化结果阵列在所述第二池化窗口内的数据做第二池化处理,以获得第二池化结果阵列,其中,所述第二池化结果阵列包括多个所述第二池化处理的结果,所述移动包括沿所述第一池化结果阵列的所述第一方向的移动。
在第二方面的一种可能实现中,所述第二池化处理为将所述第二池化窗口内的数据沿所述第一方向做池化处理。
在第二方面的一种可能实现中,所述第二池化窗口在所述第二方向上的尺寸小于所述第一池化结果矩阵的第二方向上的尺寸;并且
所述移动包括沿所述第一池化结果阵列的所述第二方向的移动。
在第二方面的一种可能实现中,所述池化模块还用于:
在确定所述数据阵列中沿所述第一方向排列的至少一个第一数据组被包括在所述第一池化窗口内的次数超出池化阈值的情况下,对所述至少一个第一数据组做预池化处理,以获得预池化结果,并将所述预池化结果存储到存储器中;并且
所述池化模块对所述数据阵列在所述第一池化窗口内的数据做第一池化处理包括:
在确定位于所述第一池化窗口内的数据包括所述至少一个第一数据组的情况下,基于所述预池化结果获得所述第一池化处理的结果。
在第二方面的一种可能实现中,所述基于所述预池化结果获得所述第一池化处理的结果还包括:
对所述数据阵列中沿所述第一方向排列的至少一个第二数据组与所述预池化结果做所述第一池化处理,以获得所述第一池化处理结果,其中所述至少一个第二数据组被包括在所述第一池化窗口内的次数未超出所述池化阈值。
在第二方面的一种可能实现中,所述数据处理装置还包括结果存储模块,用于存储所述第一池化结果阵列和/或所述第二池化结果阵列。
在第二方面的一种可能实现中,所述数据处理装置还包括输出模块,用于输出所述第二池化结果阵列,其中,所述第二池化结果阵列用于智能识别。
第三方面,本申请的一些实施例公开了一种机器可读介质,所述机器可读介质上存储有指令,该指令在机器上执行时使机器执行上述第一方面或第二方面所述的数据处理方法。
第四方面,本申请的一些实施例公开了一种系统,包括:
存储器,用于存储由系统的一个或多个处理器执行的指令,以及
处理器,是系统的处理器之一,用于执行上述第一方面或第二方面所述的数据处理方法。
附图说明
在附图各图中通过示例而不是限制说明了本申请,其中相同标记指示相同元件,且其中:
图1示出了现有技术中一种卷积神经网络模型的结构示意图。
图2根据本申请的一些实施例,示出了一种计算系统的结构示意图。
图3根据本申请的一些实施例,示出了一种池化引擎的结构示意图。
图4根据本申请的一些实施例,示出了采用图3中所示的池化引擎对数据进行池化处理的示例图。
图5根据本申请的一些实施例,示出了一种池化引擎的结构示意图。
图6根据本申请的一些实施例,示出了采用图5中所示的池化引擎对数据进行池化处理的示例图。
图7根据本申请的一些实施例,示出了采用图5中所示的池化引擎对数据进行池化处理的示例图。
图8根据本申请的一些实施例,示出了一种池化引擎的结构示意图。
图9根据本申请的一些实施例,示出了一种数据处理方法的流程示意图。
图10根据本申请的一些实施例,示出了一种数据处理方法的流程示意图。
图11示出了现有技术中对数据进行池化处理的示例图。
图12是根据本申请一些实施例,示出了一种系统的框图。
图13是根据本申请一些实施例,示出了一种片上系统(SoC)的框图。
图14A至图14C根据本申请的一些实施例,示出了图4所示池化处理中的一种数据阵列。
具体实施例
本申请的说明性实施例包括但不限于一种数据处理方法及其装置、介质和系统。
将使用本领域技术人员通常采用的术语来描述说明性实施例的各个方面,以将他们工作的实质传达给本领域其他技术人员。然而,对于本领域技术人员显而易见的是,可以使用所描述方面的部分来实践一些可替代实施例。出于解释的目的,为提供对说明性实施例的透彻理解,对具体的数字、材料和配置进行阐述。然而,对于本领域技术人员来说显而易见的是,可以在没有具体细节的情况下实现替代的实施例。在其他情况下,为了不对说明性实施例造成混淆,省略或简化了一些公知的特征。
可以理解,如本文所使用的,如这里所使用的,术语“模块”或“单元”可以指代、是或者包括:专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的(共享、专用或组)处理器和/或存储器、组合逻辑电路和/或提供所描述的功能的其他合适的组件。
可以理解,本申请中的数据阵列可以包括一维数据、二维数据矩阵、三维以及三维以上的数据张量等。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施例作进一步地详细描述。
根据本申请的一些实施例,公开了一种计算系统20,该计算系统20可以用于实施本申请中的数据处理功能。本申请的数据处理功能可以被用在人工神经网络(如卷积神经网络)中以实施人工智能和机器学习。下文以图1所示的卷积神经网络10为例,说明本申请的数据处理功能。如图1所示,卷积神经网络10可以包括卷积层1至卷积层n(n≥2)、池化层1至池化层n、全连接层1至全连接层n、softmax层(卷积神经网络中输出图片所属类型的概率的处理层),这些处理层可以对输入的图像数据、语音数据等进行分类。图2是计算系统20的结构示意图。如图2所示,计算系统20包括主CPU(中央处理器,Central Processing Unit)200、CPU加速器210和总线220。主CPU200与CPU加速器210可以通过总线220相互连接,也可以直接连接。CPU加速器210可以用于执行本申请的数据处理功能。CPU加速器210可以包括卷积引擎211、池化引擎212、激活引擎213等。其中,卷积引擎211用于执行卷积神经网络中的卷积处理,池化引擎212用于执行卷积神经网络中的池化处理,而激活引擎213用于激活层函数。
可以理解,虽然上述CPU加速器中同时包含了卷积引擎211、池化引擎212和激活引擎213,在其他实施例中,这三种引擎也可以分别位于不同的CPU加速器中,不必限制于同一CPU加速器中。
根据一些实施例,图3示出了池化引擎212的一种结构示意图。具体地,如图3所示,该池化引擎212可以包括输入数据缓冲器2120、池化模块2121、垂直池化结果缓冲器2122垂直池化子模块2121B。输入数据缓冲器2120用于缓冲输入池化引擎212的数据,输入的数据可以包括一维数据向量、二维数据阵列以及三维及其三维以上数据张量。
池化模块2121包括垂直池化子模块2121A和水平池化子模块2121B。垂直池化子模块2121A用于对输入数据缓冲器2120的数据进行垂直池化,其中,对于一维和二维数据直接进行垂直池化,而对于三维及三维以上的数据张量,则将其划分成二维的数据阵列后进行池化处理,最后将池化引擎212的处理结果合并后作为三维及三维以上的数据张量的池化结果。垂直池化子模块2121A在对数据阵列做垂直池化(即此时对应第一池化处理)时,垂直池化窗口在垂直方向上从第一行数据开始,以预定步长移动至数据阵列的最后一行,垂直池化窗口的横向尺寸与整个数据阵列的横向尺寸相同,并且在对垂直池化窗口内的数据作垂直池化处理时,将垂直池化窗口内的数据中的每一列上的数据作池化处理,例如,如果是平均池化处理,则求每一列上数据的和(在平均池化处理时,可以在每次对池化窗口中的数据求和后,最后除以整个数据的数目)或者平均值,最后位于垂直池化窗口中的数据被垂直池化处理后生成一个或者一行数据。垂直池化子模块2121A完成对数据阵列的垂直池化后生成一垂直池化结果阵列,缓存到垂直池化结果缓冲器2122中。然后,由水平池化子模块2121B对该垂直池化结果阵列进行水平池化处理。在水平池化处理(即此时对应第二池化处理)过程中,水平池化窗口的横向尺寸小于垂直池化结果阵列的横向尺寸,水平池化窗口从第一行第一列的位置开始在垂直池化结果阵列中水平移动,如果水平池化窗口的纵向尺寸小于垂直池化结果阵列的纵向尺寸,则在水平移动到最后一列后,按照预定步长向下移动预定步长的行数,从第一行加上预定步长后的行数所对应的行继续开始向右水平移动,如此重复执行,直至移动到最后一行。如果水平池化窗口的纵向尺寸等于垂直池化结果阵列的纵向尺寸,则在水平移动到最后一列后(即只水平移动一回)完成水平池化处理。相应地,在对水平池化窗口内的数据作水平池化时,将水平池化窗口内的数据中的每一行上的数据作池化处理,例如,如果是平均池化,则求每一行数据的和(在平均池化处理时,可以在每次对池化窗口中的数据求和后,最后除以整个数据的数目)或者平均值,最后位于水平池化窗口中的数据被水平池化处理后生成一个或者一行数据。水平池化模块2124完成对垂直池化结果阵列的水平池化后生成一水平池化结果阵列,从池化引擎212中输出。此外,可以理解,如果池化处理所做的是平均池化处理,则池化引擎212还可以包括后期处理模块2124,用于求平均的后处理。
可以理解,在图3中,虽然存储数据的都是缓冲器,但也可以是其他类型存储设备,在此不做限制。此外,输入数据缓冲器和垂直池化结果缓冲器也可以是同一个缓冲器,不必限制为分开设置。
图4示出了采用图3所示的池化引擎212进行池化处理的一示范例。该示范例为了便于说明,将数据阵列设置为包括6×6(每个格子表示一个数据)个数据,移动步长为1。如图4所示,垂直池化处理阶段,垂直池化窗口的尺寸为6×3,垂直池化窗口从第一行开始,每次移动步长为1行,移动至最后一行后完成垂直池化。每次将垂直池化窗口中的数据(阴影部分)进行垂直池化处理后,生成一行数据,垂直池化处理完成后,生成6×4的垂直池化结果阵列。在对垂直池化窗口中的数据进行垂直池化处理时,例如,以平均池化为例,对于垂直池化窗口中的数据,分别对每列数据求和,得到一行数据。再例如,以图14A中所示的数据做最大值池化处理为例,对于垂直池化窗口中的数据,求出每列数据中的最大值,形成一行数据。即对于前三行的数据,做最大值池化处理后,得到垂直池化结果阵列的第一行数据45、68、40、56、113、142,当垂直池化窗口下移一行后,得到第二行数据56、69、210、210、154、63,依次得到垂直池化结果阵列的第三行和第四行数据(如图14B所示)。
在水平池化处理阶段,水平池化窗口的尺寸为3×1,步长也为1,如图4所示,水平池化窗口起始时从垂直池化结果阵列中的第一行数据的最左端开始向右移动,移动至第一行的最后一个数据后完成第一行的水平池化。然后池化窗口开始从第二行的数据的最左端开始向右移动,依次类推,直至完成第四行数据的水平池化,最后生成4×4的水平池化结果阵列。其中,在对水平池化窗口中的数据进行水平池化处理时,以平均池化为例,对于水平池化窗口中的数据,分别对每行数据求和或者求平均,得到一个数据或者一行数据。以上述图14A所示的数据为例,在垂直池化子模块2121A执行完垂直池化后,对图14B中所示的垂直池化结果阵列进行水平池化,例如,对于水平池化窗口位于初始位置时的三个数据(45、68、40),最大值为68,水平池化窗口向右移动一列后,位于水平池化窗口中的三个数据(68、40、56),最大值为68,如此类推,第一行的水平池化结果为68、68、113、142,第一行水平池化处理完后,依次对第二行、第三行以及第四行进行水平池化处理,得出如图14C所示的水平池化结果阵列。
作为对比,图11示出了现有技术下的池化方式,在该图示中,池化窗口大小为4×4,步长也为1,最后生成的池化结果阵列也是4×4。图11中的池化处理需要操作4×4×9=144次,而与图11中的现有池化处理相比,图4中的垂直池化处理需要4×3×6=72次,水平池化处理需要4×4×3=48次,一共120次,池化操作次数减少了17%。
可以理解,该示范例只是示例性的,本申请的其他应用中,可以根据实际需要,设置其他尺寸的数据阵列、移动步长、垂直池化窗口和水平池化窗口的尺寸等,并不限于此示范例。
此外,为了进一步减少池化次数,在本申请各实施例中,可以对池化过程中,池化窗口经过的次数较多的数据进行预池化处理。例如,以图4所示的池化示范例为例,第三行R3和第四行R4被垂直池化窗口经过的次数为3次,第二行R2和第五行R5被垂直池化窗口经过的次数为2次,第一行R1和第六行R6被垂直池化窗口经过的次数为1次。为了提高池化效率,例如,在一示范例中,在垂直池化模块1221进行垂直池化处理前,可以先对R2和R3进行垂直池化处理得到结果ΔP1,并对R4和R5进行垂直池化处理得到结果ΔP2。如此,在垂直池化窗口对数据阵列进行池化处理时可以基于ΔP1和ΔP2来进行垂直池化处理,例如,垂直池化窗口在初始位置包含的数据包括R1-R3,对R1-R3进行垂直池化处理变成了对R1和ΔP1进行垂直池化处理,垂直池化窗口下移一行后,包含的数据为R2-R4,对R2-R4进行垂直池化处理变成了对R4和ΔP1进行垂直池化处理,垂直池化窗口再下移一行后,包含的数据为R3-R5,对R3-R5进行垂直池化处理变成了对R3和ΔP2进行垂直池化处理,垂直池化窗口再下移一行后,包含的数据为R4-R6,对R4-R6进行垂直池化处理变成了对R6和ΔP2进行垂直池化处理,如此,垂直池化的操作次数可以变成2×3×6=36次,池化处理的总次数变成84次,与现有技术相比,操作次数减少了42%左右。可以理解,该预先池化的方法也适用于本申请的其他实施例。
根据另外一些实施例,图5示出了另外一种池化引擎212的结构示意图。与图3所示的池化引擎相比,图5中的池化引擎212采用水平池化子模块2121C对输入数据缓冲器2120中的数据先进行水平池化处理,然后再采用垂直池化子模块2121D对水平池化处理后的水平池化结果阵列进行垂直池化处理。具体地,该池化引擎212可以包括输入数据缓冲器2120、池化模块2121、水平池化结果缓冲器2124,其中,池化模块2121包括水平池化子模块2121C和垂直池化子模块2121D。输入数据缓冲器2120用于缓冲输入池化引擎212的数据,可以包括一维数据向量、二维数据阵列以及三维及其三维以上数据张量。
水平池化子模块2121C用于对输入数据缓冲器2120的数据进行水平池化,其中,对于一维和二维数据直接进行水平池化,而对于三维及三维以上的数据张量,则将其划分成二维的数据阵列后进行池化处理,最后将池化引擎212的处理结果合并后作为三维及三维以上的数据张量的池化结果。水平池化子模块2121C在对数据阵列做水平池化(即此时对应第一池化处理)时,水平池化窗口在水平方向上从第一列数据开始,以预定步长移动至数据阵列的最后一列,水平池化窗口的纵向尺寸与整个数据阵列的纵向尺寸相同,并且在对水平池化窗口内的数据作水平池化时,将水平池化窗口内的数据中的每一行上的数据作池化,例如,如果是平均池化,则求每一行数据的和(在平均池化处理时,可以在每次对池化窗口中的数据求和后,最后除以整个数据的数目)或者平均值,最后位于水平池化窗口中的数据被水平池化处理后生成一个或者一列数据。水平池化子模块2121C完成对数据阵列的水平池化处理后生成一水平池化结果阵列,缓存到水平池化结果缓冲器2124中。然后,由垂直池化子模块2121D对该水平池化结果阵列进行垂直池化处理。在垂直池化处理(即此时对应第二池化处理)过程中,垂直池化窗口的纵向尺寸小于水平池化结果阵列的横向尺寸,垂直池化窗口从第一行第一列的位置开始在水平池化结果阵列中垂直移动,如果垂直池化窗口的横向尺寸小于水平池化结果阵列的横向尺寸,则在垂直移动到最后一行后,按照预定步长向右移动预定步长的列数,从第二列继续开始向下移动,如此重复执行,直至移动到最后一列。如果垂直池化窗口的水平尺寸等于水平池化结果阵列的水平尺寸,则在向下移动到最后一列后(即只垂直移动一回)完成垂直池化处理。相应地,在对垂直池化窗口内的数据作垂直池化时,将垂直池化窗口内的数据中的每一列上的数据作池化,例如,如果是平均池化,则求每一列数据的和(在平均池化处理时,可以在每次对池化窗口中的数据求和后,最后除以整个数据的数目)或者平均值,最后位于垂直池化窗口中的数据被垂直池化处理后生成一个或者一列数据。垂直池化模块2124完成对水平池化结果阵列的垂直池化后生成一垂直池化结果阵列,从池化引擎212中输出。此外,可以理解,如果池化处理所做的是平均池化,则池化引擎212还可以包括后期处理模块2124,用于求平均的后处理。
可以理解,在图5中,虽然存储数据的都是缓冲器,但也可以是其他类型存储设备,在此不做限制。此外,输入数据缓冲器和水平池化结果缓冲器也可以是同一个缓冲器,不必限制为分开设置。
图6示出了采用5所示的池化引擎212进行池化处理的一示范例。该示范例为了便于说明,数据阵列包括6×6(每个格子表示一个数据)个数据,移动步长为1。如图6所示,水平池化处理阶段,水平池化窗口的尺寸为3×6,水平池化窗口从第一列开始,每次移动步长为1列,移动至最后一列后完成水平池化。每次将水平池化窗口中的数据(阴影部分)进行水平池化处理后,生成一列数据,水平池化处理完成后,生成4×6的水平池化结果阵列。在对水平池化窗口中的数据进行水平池化处理时,以平均池化为例,对于水平池化窗口中的数据,分别对每行数据求平均,得到一列数据。
在垂直池化处理阶段,垂直池化窗口的尺寸为1×3,如图6所示,垂直池化窗口起始时从水平池化结果阵列中的第一列数据的第一行开始向下移动,移动至第一列的最后一个数据后完成第一列的垂直池化。然后池化窗口开始从第二列的数据的第一行开始向下移动,依次类推,直至完成第四列数据的垂直池化,最后生成4×4的垂直池化结果阵列。其中,在对垂直池化窗口中的数据进行垂直池化处理时,以平均池化为例,对于垂直池化窗口中的数据,分别对每列数据求平均,得到一个数据或者一列数据。与图11中的现有池化处理相比,图6中的水平池化处理需要4×3×6=72次,垂直池化处理需要4×4×3=48次,一共120次,池化操作次数减少了17%。
此外,可以理解,为了进一步减少池化次数,如上述对图4所示的池化处理那样,对于图5所示的池化引擎212或者如图6所示的池化过程,对池化窗口经过的次数较多的数据进行预池化处理。具体处理参见上述对图4所示的池化处理的描述,在此不做赘述。
可以理解,该示范例只是示例性的,本申请的其他应用中,可以根据实际需要,设置其他尺寸的数据阵列、移动步长、垂直池化窗口和水平池化窗口的尺寸等,并不限于此示范例。
根据另外一些实施例,图8示出了另外一种池化引擎212的结构示意图。与图3和图5所示的池化引擎相比,图8将垂直池化子模块和水平池化子模块的功能合并在了一个池化模块2125中。在一些实施例中,该池化模块2125可以实现上述图3中垂直池化子模块2121A和水平池化子模块2121B的功能,在此不再赘述。而垂直池化子模块2121A的垂直池化结果阵列存储在中间结果缓冲器2126中。而在另外实施例中,该池化模块2128可以实现上述图5中水平池化子模块2121C和垂直池化子模块2121D的功能,在此不再赘述。而水平池化子模块2121C的水平池化结果阵列存储在中间结果缓冲器2126中。
可以理解,在图8中,虽然存储各数据的都是缓冲器,但也可以是其他类型存储设备,在此不做限制。此外,输入数据缓冲器和中间池化结果缓冲器也可以是同一个缓冲器,不必限制为分开设置。
可以理解,在本申请的各实施例中,池化引擎212进行池化处理的数据可以是图像数据、语音数据、工业数据(如故障诊断等),池化引擎212池化处理完这些数据后,这些数据可以用于智能识别,如图像分类、语音识别、故障诊断等等。
根据本申请的一些实施例,公开了一种基于上述图3或者图8所示的池化引擎212的数据处理方法,如图9所示,该数据处理方法包括:
1)获取数据阵列(902),例如,从数据缓冲器2120的获取数据,可以包括一维数据向量、二维数据阵列以及三维及其三维以上数据张量。
2)对数据阵列进行垂直池化处理,得到垂直池化结果阵列(904)。例如,由图3中的垂直池化子模块2121A(或者图8中的池化模块2128)对数据阵列做垂直池化处理(即此时对应第一池化处理),在进行垂直池化处理时,垂直池化窗口在垂直方向上从第一行数据开始,以预定步长移动至数据阵列的最后一行,垂直池化窗口的横向尺寸与整个数据阵列的横向尺寸相同,并且在对垂直池化窗口内的数据作垂直池化处理时,将垂直池化窗口内的数据中的每一列上的数据作池化处理,例如,如果是平均池化处理,则求每一列的平均值,最后位于垂直池化窗口中的数据被垂直池化处理后生成一个或者一行数据。垂直池化子模块2121A完成对数据阵列的垂直池化后生成一垂直池化结果阵列。
3)对垂直池化结果阵列进行水平池化处理,得到水平池化结果阵列(906)。例如,由上述图3中的垂直池化子模块2121B(或者图8中的池化模块2128)对垂直池化结果阵列进行水平池化处理。在水平池化处理(即此时对应第二池化处理)过程中,水平池化窗口的横向尺寸小于垂直池化结果阵列的横向尺寸,水平池化窗口从第一行第一列的位置开始在垂直池化结果阵列中水平移动,如果水平池化窗口的纵向尺寸小于垂直池化结果阵列的纵向尺寸,则在水平移动到最后一列后,按照预定步长向下移动预定步长的行数,从第二行继续开始向右水平移动,如此重复执行,直至移动到最后一列。如果水平池化窗口的纵向尺寸等于垂直池化结果阵列的纵向尺寸,则在水平移动到最后一列后(即只水平移动一回)完成水平池化处理。相应地,在对水平池化窗口内的数据作水平池化时,将水平池化窗口内的数据中的每一行上的数据作池化处理,例如,如果是平均池化,则求每一行的平均值,最后位于水平池化窗口中的数据被水平池化处理后生成一个或者一行数据。水平池化模块2124完成对垂直池化结果阵列的水平池化后生成一水平池化结果阵列。
4)输出水平池化结果阵列(908)。
根据本申请的一些实施例,公开了一种基于上述图4或者图8所示的池化引擎212的数据处理方法,如图10所示,该数据处理方法包括:
1)获取数据阵列(1002),例如,从数据缓冲器2120的获取数据,可以包括一维数据向量、二维数据阵列以及三维及其三维以上数据张量。
2)对数据阵列进行水平池化处理,得到水平池化结果阵列(1004)。例如,由图5中的水平池化子模块2121C(或者图8中的池化模块2128)对数据阵列做水平池化处理。水平池化窗口在水平方向上从第一列数据开始,以预定步长移动至数据阵列的最后一列,水平池化窗口的纵向尺寸与整个数据阵列的纵向尺寸相同,并且在对水平池化窗口内的数据作水平池化时,将水平池化窗口内的数据中的每一行上的数据作池化,例如,如果是平均池化,则求每一行的平均值,最后位于水平池化窗口中的数据被水平池化处理后生成一个或者一列数据。水平池化子模块2121C完成对数据阵列的水平池化处理后生成一水平池化结果阵列。
3)对水平池化结果阵列进行垂直池化处理,得到垂直池化结果阵列(1006)。例如,由上述图5中的垂直池化子模块2121D(或者图8中的池化模块2128)对水平池化结果阵列进行垂直池化处理。在垂直池化处理过程中垂直池化窗口的纵向尺寸小于水平池化结果阵列的横向尺寸,垂直池化窗口从第一行第一列的位置开始在水平池化结果阵列中垂直移动,如果垂直池化窗口的横向尺寸小于水平池化结果阵列的横向尺寸,则在垂直移动到最后一行后,按照预定步长向右移动预定步长的列数,从第二列继续开始向下移动,如此重复执行,直至移动到最后一列。如果垂直池化窗口的水平尺寸等于水平池化结果阵列的水平尺寸,则在向下移动到最后一列后(即只垂直移动一回)完成垂直池化处理。相应地,在对垂直池化窗口内的数据作垂直池化时,将垂直池化窗口内的数据中的每一列上的数据作池化,例如,如果是平均池化,则求每一列的平均值,最后位于垂直池化窗口中的数据被垂直池化处理后生成一个或者一列数据。垂直池化模块2124完成对水平池化结果阵列的垂直池化后生成一垂直池化结果阵列。
4)输出垂直池化结果阵列(1008)。
现在参考图12,所示为根据本申请的一个实施例的系统1200的框图。系统1200可以包括耦合到控制器中枢1203的一个或多个处理器1201。对于至少一个实施例,控制器中枢1203经由诸如前端总线(FSB)之类的多分支总线、诸如快速通道互连(QPI)之类的点对点接口、或者类似的连接1207与处理器1201进行通信。处理器1201执行控制一般类型的数据处理操作的指令。在一实施例中,控制器中枢1203包括,但不局限于,图形存储器控制器中枢(GMCH)(未示出)和输入/输出中枢(IOH)(其可以在分开的芯片上)(未示出),其中GMCH包括存储器和图形控制器并与IOH耦合。
系统1200还可包括耦合到控制器中枢1203的协处理器1202和存储器1204。或者,存储器和GMCH中的一个或两者可以被集成在处理器内(如本申请中所描述的),存储器1204和协处理器1202直接耦合到处理器1201以及控制器中枢1203,控制器中枢1203与IOH处于单个芯片中。存储器1204可以是例如动态随机存取存储器(DRAM)、相变存储器(PCM)或这两者的组合。在一个实施例中,协处理器1202是专用处理器,诸如例如高吞吐量MIC处理器、网络或通信处理器、压缩引擎、图形处理器、GPGPU、或嵌入式处理器等等。协处理器1202的任选性质用虚线表示在图12中。
在一个实施例中,系统1200可以进一步包括网络接口(NIC)1206。网络接口1206可以包括收发器,用于为系统1200提供无线电接口,进而与任何其他合适的设备(如前端模块,天线等)进行通信。在各种实施例中,网络接口1206可以与系统1200的其他组件集成。网络接口1206可以实现上述实施例中的通信单元的功能。
系统1200可以进一步包括输入/输出(I/O)设备1205。I/O 1205可以包括:用户界面,该设计使得用户能够与系统1200进行交互;外围组件接口的设计使得外围组件也能够与系统1200交互;和/或传感器设计用于确定与系统1200相关的环境条件和/或位置信息。
值得注意的是,图12仅是示例性的。即虽然图12中示出了系统1200包括处理器1201、控制器中枢1203、存储器1204等多个器件,但是,在实际的应用中,使用本申请各方法的系统,可以仅包括系统1200各器件中的一部分器件,例如,可以仅包含处理器1201和NIC1206。图12中可选器件的性质用虚线示出。
现在参考图13,所示为根据本申请的一实施例的SoC(System on Chip,片上系统)1300的框图。在图13中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图13中,SoC130包括:互连单元1350,其被耦合至应用处理器1310;系统代理单元1370;总线控制器单元1380;集成存储器控制器单元1330;一组或一个或多个协处理器1310,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(SRAM)单元1320;直接存储器存取(DMA)单元1340。在一个实施例中,协处理器1310包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入式处理器等等。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (12)
1.一种数据处理方法,其特征在于,用于计算系统,所述计算系统包括中央处理器加速器,所述方法包括:
所述中央处理器加速器获取数据阵列,所述数据阵列包括图像数据、语音数据对应的数据阵列;
所述中央处理器加速器确定第一池化窗口,其中所述第一池化窗口在第一方向上的尺寸等于所述数据阵列在所述第一方向上的尺寸,而所述第一池化窗口在第二方向上的尺寸小于所述数据阵列在所述第二方向上的尺寸;
所述中央处理器加速器将所述第一池化窗口在所述数据阵列上沿所述第二方向移动,并在所述第一池化窗口的每个移动位置上,对所述数据阵列在所述第一池化窗口内的数据做第一池化处理,以获得第一池化结果阵列,其中所述第一池化结果阵列包括多个所述第一池化处理的结果;
所述中央处理器加速器确定第二池化窗口,其中所述第二池化窗口在所述第一方向上的尺寸小于所述第一池化结果阵列在所述第一方向上的尺寸;
所述中央处理器加速器将所述第二池化窗口相对于所述第一池化结果阵列移动,并在所述第二池化窗口的每个移动位置上,对所述第一池化结果阵列在所述第二池化窗口内的数据做第二池化处理,以获得第二池化结果阵列,其中,所述第二池化结果阵列包括多个所述第二池化处理的结果,所述移动包括沿所述第一池化结果阵列的所述第一方向的移动。
2.如权利要求1所述的方法,其特征在于,所述第一池化处理为将所述第一池化窗口内的数据沿所述第二方向做池化处理。
3.如权利要求2所述的方法,其特征在于,所述第二池化处理为将所述第二池化窗口内的数据沿所述第一方向做池化处理。
4.如权利要求3所述的方法,其特征在于,所述第二池化窗口在所述第二方向上的尺寸小于所述第一池化结果矩阵的第二方向上的尺寸,并且
所述移动包括沿所述第一池化结果阵列的所述第二方向的移动。
5.如权利要求1至4中任一项所述的方法,其特征在于,还包括:
在确定所述数据阵列中沿所述第一方向排列的至少一个第一数据组被包括在所述第一池化窗口内的次数超出池化阈值的情况下,对所述至少一个第一数据组做预池化处理,以获得预池化结果,并将所述预池化结果存储到存储器中;并且
所述对所述数据阵列在所述第一池化窗口内的数据做第一池化处理包括:
在确定位于所述第一池化窗口内的数据包括所述至少一个第一数据组的情况下,基于所述预池化结果获得所述第一池化处理的结果。
6.如权利要求5所述的方法,其特征在于,所述基于所述预池化结果获得所述第一池化处理的结果还包括:
对所述数据阵列中沿所述第一方向排列的至少一个第二数据组与所述预池化结果做所述第一池化处理,以获得所述第一池化处理结果,其中所述至少一个第二数据组被包括在所述第一池化窗口内的次数未超出所述池化阈值。
7.一种数据处理装置,其特征在于,包括:
存储模块,用于存储获取到的数据阵列,所述数据阵列包括图像数据、语音数据对应的数据阵列;
池化模块,用于确定第一池化窗口,其中所述第一池化窗口在第一方向上的尺寸等于所述数据阵列在所述第一方向上的尺寸,而所述第一池化窗口在第二方向上的尺寸小于所述数据阵列在所述第二方向上的尺寸,并且
还用于将所述第一池化窗口在所述数据阵列上沿所述第二方向移动,并在所述第一池化窗口的每个移动位置上,对所述数据阵列在所述第一池化窗口内的数据做第一池化处理,以获得第一池化结果阵列,其中所述第一池化结果阵列包括多个所述第一池化处理的结果;
还用于确定第二池化窗口,其中所述第二池化窗口在所述第一方向上的尺寸小于所述第一池化结果阵列在所述第一方向上的尺寸,并且
还用于将所述第二池化窗口相对于所述第一池化结果阵列移动,并在所述第二池化窗口的每个移动位置上,对所述第一池化结果阵列在所述第二池化窗口内的数据做第二池化处理,以获得第二池化结果阵列,其中,所述第二池化结果阵列包括多个所述第二池化处理的结果,所述移动包括沿所述第一池化结果阵列的所述第一方向的移动。
8.如权利要求7所述的装置,其特征在于,所述第一池化处理为将所述第一池化窗口内的数据沿所述第二方向做池化处理。
9.如权利要求8所述的装置,其特征在于,所述第二池化处理为将所述第二池化窗口内的数据沿所述第一方向做池化处理;并且
所述第二池化窗口在所述第二方向上的尺寸小于所述第一池化结果矩阵的第二方向上的尺寸;并且
所述移动包括沿所述第一池化结果阵列的所述第二方向的移动。
10.如权利要求9所述的装置,其特征在于,所述池化模块还用于:
在确定所述数据阵列中沿所述第一方向排列的至少一个第一数据组被包括在所述第一池化窗口内的次数超出池化阈值的情况下,对所述至少一个第一数据组做预池化处理,以获得预池化结果,并将所述预池化结果存储到存储器中;并且
所述池化模块对所述数据阵列在所述第一池化窗口内的数据做第一池化处理包括:
在确定位于所述第一池化窗口内的数据包括所述至少一个第一数据组的情况下,基于所述预池化结果获得所述第一池化处理的结果。
11.一种机器可读介质,其特征在于,所述机器可读介质上存储有指令,该指令在机器上执行时使机器执行权利要求1至6中任一项所述的数据处理方法。
12.一种系统,包括:
存储器,用于存储由系统的一个或多个处理器执行的指令,以及
处理器,是系统的处理器之一,用于执行权利要求1至6中任一项所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910814806.7A CN110826687B (zh) | 2019-08-30 | 2019-08-30 | 数据处理方法及其装置、介质和系统 |
PCT/CN2020/110371 WO2021036912A1 (zh) | 2019-08-30 | 2020-08-21 | 数据处理方法及其装置、介质和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910814806.7A CN110826687B (zh) | 2019-08-30 | 2019-08-30 | 数据处理方法及其装置、介质和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110826687A CN110826687A (zh) | 2020-02-21 |
CN110826687B true CN110826687B (zh) | 2023-11-21 |
Family
ID=69547867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910814806.7A Active CN110826687B (zh) | 2019-08-30 | 2019-08-30 | 数据处理方法及其装置、介质和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110826687B (zh) |
WO (1) | WO2021036912A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110826687B (zh) * | 2019-08-30 | 2023-11-21 | 安谋科技(中国)有限公司 | 数据处理方法及其装置、介质和系统 |
CN112905530B (zh) * | 2021-03-29 | 2023-05-26 | 上海西井信息科技有限公司 | 片上架构、池化计算加速器阵列、单元以及控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763612A (zh) * | 2018-04-02 | 2018-11-06 | 复旦大学 | 一种神经网络的池化层加速运算的方法与电路 |
CN110135560A (zh) * | 2019-04-28 | 2019-08-16 | 深兰科技(上海)有限公司 | 一种卷积神经网络的池化方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017031088A1 (en) * | 2015-08-15 | 2017-02-23 | Salesforce.Com, Inc | Three-dimensional (3d) convolution with 3d batch normalization |
US10482380B2 (en) * | 2015-12-30 | 2019-11-19 | Amazon Technologies, Inc. | Conditional parallel processing in fully-connected neural networks |
CN111860815A (zh) * | 2017-08-31 | 2020-10-30 | 中科寒武纪科技股份有限公司 | 一种卷积运算方法及装置 |
CN109165733A (zh) * | 2018-07-11 | 2019-01-08 | 中国人民解放军国防科技大学 | 多输入多输出矩阵最大值池化向量化实现方法 |
CN110826687B (zh) * | 2019-08-30 | 2023-11-21 | 安谋科技(中国)有限公司 | 数据处理方法及其装置、介质和系统 |
-
2019
- 2019-08-30 CN CN201910814806.7A patent/CN110826687B/zh active Active
-
2020
- 2020-08-21 WO PCT/CN2020/110371 patent/WO2021036912A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763612A (zh) * | 2018-04-02 | 2018-11-06 | 复旦大学 | 一种神经网络的池化层加速运算的方法与电路 |
CN110135560A (zh) * | 2019-04-28 | 2019-08-16 | 深兰科技(上海)有限公司 | 一种卷积神经网络的池化方法和装置 |
Non-Patent Citations (1)
Title |
---|
"CornerNet:Detecting Objects as Paired Keypoints";Hei Law etc.;《arXiv:1808.01244v2[cs.CV]》;第3.4节,图6 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021036912A1 (zh) | 2021-03-04 |
CN110826687A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11373084B2 (en) | Apparatus and methods for forward propagation in fully connected layers of convolutional neural networks | |
US11080049B2 (en) | Apparatus and methods for matrix multiplication | |
CN109086877B (zh) | 一种用于执行卷积神经网络正向运算的装置和方法 | |
CN110197260B (zh) | 一种数据处理方法及装置 | |
US10534841B2 (en) | Appartus and methods for submatrix operations | |
CN110826687B (zh) | 数据处理方法及其装置、介质和系统 | |
CN109754359B (zh) | 一种应用于卷积神经网络的池化处理的方法及系统 | |
US10860316B2 (en) | Apparatus and methods for generating dot product | |
CN111310904A (zh) | 一种用于执行卷积神经网络训练的装置和方法 | |
US11157593B2 (en) | Apparatus and methods for combining vectors | |
CN108074211B (zh) | 一种图像处理装置及方法 | |
US10816989B2 (en) | Methods and systems of distributing task areas for cleaning devices, and cleaning devices | |
US20200097520A1 (en) | Apparatus and methods for vector operations | |
CN111723918A (zh) | 用于卷积内核的自动生成和调谐工具 | |
CN111984189B (zh) | 神经网络计算装置和数据读取、数据存储方法及相关设备 | |
CN113065643A (zh) | 一种用于执行多任务卷积神经网络预测的装置和方法 | |
CN113743587B (zh) | 一种卷积神经网络池化计算方法、系统、及存储介质 | |
CN117217274A (zh) | 向量处理器、神经网络加速器、芯片及电子设备 | |
US11704546B2 (en) | Operation processing apparatus that calculates addresses of feature planes in layers of a neutral network and operation processing method | |
CN110837483B (zh) | 张量维度变换的方法以及装置 | |
CN109685208B (zh) | 一种用于神经网络处理器数据稀梳化加速的方法及装置 | |
CN110322388B (zh) | 池化方法及装置、池化系统、计算机可读存储介质 | |
CN110322389B (zh) | 池化方法、装置及系统、计算机可读存储介质 | |
CN115195706A (zh) | 一种泊车路径规划方法、装置 | |
CN110147872B (zh) | 编码存储装置及方法、处理器及训练方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |