CN112825151A - 数据处理方法、装置及设备 - Google Patents
数据处理方法、装置及设备 Download PDFInfo
- Publication number
- CN112825151A CN112825151A CN201911143301.9A CN201911143301A CN112825151A CN 112825151 A CN112825151 A CN 112825151A CN 201911143301 A CN201911143301 A CN 201911143301A CN 112825151 A CN112825151 A CN 112825151A
- Authority
- CN
- China
- Prior art keywords
- data
- convolved
- result
- accumulation
- parameter
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 21
- 238000009825 accumulation Methods 0.000 claims abstract description 104
- 238000012545 processing Methods 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000012856 packing Methods 0.000 claims abstract description 6
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000013139 quantization Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000007792 addition Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
公开了一种数据处理方法、装置及设备。所述方法包括:对待卷积数据以P列、M个输入通道为单位进行打包,获得多个第一数据元素;卷积核参数包含S*S个第一参数元素,每个第一参数元素包含M个输入通道、N个输出通道;通过内积指令对各个所述第一参数元素与第一数据块中对应的第一数据元素进行内积操作,得到所述每个第一参数元素对应的内积结果,其中,所述第一数据块包括对所述待卷积数据的连续S行以设定步长对每行进行第一划窗S次获得的各个第一数据元素;通过累加指令对各个所述第一参数元素对应的内积结果进行累加,获得第一累加结果;根据所述第一累加结果,得到数据处理结果。
Description
技术领域
本公开涉及计算机视觉技术,尤其涉及一种数据处理方法、装置及设备。
背景技术
DSP(digital signal processor)微处理器可以作为端上图像处理或深度学习芯片。但一些DSP芯片在进行卷积运算时读写带宽较低,如何提高DSP的卷积运算效率是亟待解决的问题。
发明内容
本公开实施例提供了一种数据处理方法、装置及设备。
根据本公开的一方面,提出一种数据处理方法,所述方法包括:对待卷积数据以P列、M个输入通道为单位进行打包,获得多个第一数据元素;卷积核参数包含S*S个第一参数元素,每个第一参数元素包含M个输入通道、N个输出通道,其中,所述待卷积数据是基于目标图像得到的;通过内积指令对各个所述第一参数元素与第一数据块中对应的第一数据元素进行内积操作,得到所述每个第一参数元素对应的内积结果,其中,所述第一数据块包括对所述待卷积数据的连续S行以设定步长对每行进行第一划窗S次获得的各个第一数据元素;通过累加指令对各个所述第一参数元素对应的内积结果进行累加,获得第一累加结果;根据所述第一累加结果,得到数据处理结果。
结合本公开提供的任一实施方式,所述根据所述第一累加结果,得到数据处理结果,包括:以所述第一数据块的M个输入通道为单位对所述待卷积数据进行第二划窗,得到所述输入通道上每次第二划窗对应的各个第一累加结果;将所述各个第一累加结果进行累加,得到第二累加结果;根据所述第二累加结果,得到数据处理结果。
结合本公开提供的任一实施方式,所述根据所述第二累加结果,得到数据处理结果,包括:以包含所有输入通道的第一数据块为单位对所述待卷积数据在列的方向上逐行进行第三划窗,得到在列的方向上每次第三划窗对应的各个第二累加结果;偏移P列后重复在列的方向上逐行进行第三划窗,直至偏移至Q列,获得多个第二累加结果;在所述待卷积数据的输出通道上逐次偏移M个输出通道,获得每次偏移在所述输出通道上对应的所述多个第二累加结果;将所得到的各个第二累加结果在待卷积数据的行、列、输出通道上展开,获得数据处理结果。
结合本公开提供的任一实施方式,将所得到的各个第二累加结果在待卷积数据的行、列、输出通道上展开,获得目标展开结果,包括:将所述待卷积数据在列的方向上所对应的第二加累加结果,在列上进行展开,获得第一展开结果;将Q列所对应的第一展开结果,在行上进行展开,获得第二展开结果;将输出通道上对应的第二展开结果,在所述输出通道上展开,获得数据处理结果。
结合本公开提供的任一实施方式,所述卷积核参数为初始卷积核中每个元素与卷积核量化零点的差形成的参数;所述通过内积指令对各个所述第一参数元素与第一数据块中对应的第一数据元素进行内积操作,得到所述每个第一参数元素对应的内积结果,包括:将进行内积操作的结果与常量相加,得到所述内积结果,其中,所述常量根据待卷积数据量化零点与所述卷积核参数的乘积以及卷积运算的偏置得到。
结合本公开提供的任一实施方式,在将卷积核参数设置为包含M个输入通道、N个输出通道,针对大小为S*S的卷积核参数得到S*S个第一参数元素之前,所述方法还包括:将所述卷积核数据搬移至第一存储区域,将所述待卷积数据搬移至第二存储区域,其中,所述第一存储区域为利用设定步长控制滑动的存储区域,所述设定指令为带步长滑窗的乘累加指令。
结合本公开提供的任一实施方式,所述方法还包括:通过二维DMA控制器将待卷积数据搬移至所述第二存储区域。
结合本公开提供的任一实施方式,所述方法还包括:对所述第二存储区域中的所述待卷积数据在列的方向上进行补齐操作。
根据本公开的一方面,提出一种数据处理方法,所述方法包括:通过二维DMA控制器将待卷积数据搬移至存储区域,其中,所述待卷积数据是基于目标图像得到的;对于所述存储区域中的所述待卷积数据在列的方向上进行补齐操作;通过调用卷积指令对存储在所述存储区域中的数据进行卷积运算,所述卷积指令里在设定位置装载用于在行的方向上进行补齐操作的指令。
根据本公开的一方面,提出一种数据处理装置,所述装置包括:打包单元,用于对待卷积数据以P列、M个输入通道为单位进行打包,获得多个第一数据元素;卷积核参数包含S*S个第一参数元素,每个第一参数元素包含M个输入通道、N个输出通道,其中,所述待卷积数据是基于目标图像得到的;内积单元,用于通过内积指令对各个所述第一参数元素与第一数据块中对应的第一数据元素进行内积操作,得到所述每个第一参数元素对应的内积结果,其中,所述第一数据块包括对所述待卷积数据的连续S行以设定步长对每行进行第一划窗S次获得的各个第一数据元素;累加单元,用于通过累加指令对各个所述第一参数元素对应的内积结果进行累加,获得第一累加结果;获得单元,用于根据所述第一累加结果,得到数据处理结果。
结合本公开提供的任一实施方式,所述获得单元具体用于:以所述第一数据块的M个输入通道为单位对所述待卷积数据进行第二划窗,得到所述输入通道上每次第二划窗对应的各个第一累加结果;将所述各个第一累加结果进行累加,得到第二累加结果;根据所述第二累加结果,得到数据处理结果。
结合本公开提供的任一实施方式,所述获得单元在用于根据所述第二累加结果,得到数据处理结果时,具体用于:以包含所有输入通道的第一数据块为单位对所述待卷积数据在列的方向上逐行进行第三划窗,得到在列的方向上每次第三划窗对应的各个第二累加结果;偏移P列后重复在列的方向上逐行进行第三划窗,直至偏移至Q列,获得多个第二累加结果;在所述待卷积数据的输出通道上逐次偏移M个输出通道,获得每次偏移在所述输出通道上对应的所述多个第二累加结果;将所得到的各个第二累加结果在待卷积数据的行、列、输出通道上展开,获得数据处理结果。
结合本公开提供的任一实施方式,所述获得单元在用于将所得到的各个第二累加结果在待卷积数据的行、列、输出通道上展开,获得数据处理结果时,具体用于:将所述待卷积数据在列的方向上所对应的第二加累加结果,在列上进行展开,获得第一展开结果;将Q列所对应的第一展开结果,在行上进行展开,获得第二展开结果;将输出通道上对应的第二展开结果,在所述输出通道上展开,获得数据处理结果。
结合本公开提供的任一实施方式,所述卷积核参数为初始卷积核中每个元素与卷积核量化零点的差形成的参数,所述内积单元在用于通过内积指令对各个所述第一参数元素与第一数据块中对应的第一数据元素进行内积操作,得到所述每个第一参数元素对应的内积结果时,具体用于:将进行内积操作的结果与常量相加,得到所述内积结果,其中,所述常量根据待卷积数据量化零点与所述卷积核参数的乘积以及卷积运算的偏置得到。
结合本公开提供的任一实施方式,所述装置还包括搬移单元,用于在将卷积核参数设置为包含M个输入通道、N个输出通道,针对大小为S*S的卷积核参数得到S*S个第一参数元素之前,将所述卷积核数据搬移至第一存储区域,将所述待卷积数据搬移至第二存储区域,其中,所述第一存储区域为利用设定步长控制滑动的存储区域,所述设定指令为带步长滑窗的乘累加指令。
结合本公开提供的任一实施方式,所述装置还包括子搬移单元,用于通过二维DMA控制器将待卷积数据搬移至所述第二存储区域。
结合本公开提供的任一实施方式,所述装置还包括补齐单元,用于对所述第二存储区域中的所述待卷积数据在列的方向上进行补齐操作。
根据本公开的一方面,提出一种数据处理装置,所述装置包括:搬移单元,用于通过二维DMA控制器将待卷积数据搬移至存储区域,其中,所述待卷积数据是基于目标图像得到的;补齐单元,用于对于所述存储区域中的所述待卷积数据在列的方向上进行补齐操作;运算单元,用于通过调用卷积指令对存储在所述存储区域中的数据进行卷积运算,所述卷积指令里在设定位置装载用于在行的方向上进行补齐操作的指令。
根据本公开的一方面,提出一种数据处理设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现本公开任一实施方式所述的方法。
根据本公开的一方面,一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施方式所述的方法。
本公开实施例提供的数据处理方法、装置及设备,对待卷积数据在行、列、输入通道上进行打包,获得多个第一数据元素,通过对卷积核参数所包含的第一参数元素与第一数据块中对应的第一数据元素进行内积操作,并对每个第一参数元素进行累加,通过遍历所述待卷积数据中的第一数据块获得各个累加结果,获得进行累加以及展开获得最终的卷积结果,整个卷积过程可以最大程度地复用进行卷积运算的待卷积数据和卷积核参数,简化了计算过程,提高了卷积运算效率。并且,通过利用二维DMA控制器将待卷进数据搬移至存储区域,并在列的方向上进补齐,将行方向的补齐操作在核心算法中实现,从而减少了数据搬移次数,提高了对于目标图像的卷积处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本公开至少一个实施例提出的一种数据处理方法的流程图;
图2是本公开至少一个实施例提出的数据处理方法中第一数据块的示意图;
图3是本公开至少一个实施例提出的数据处理方法中数据分组示意图;
图4是本公开至少一个实施例提出的数据处理方法的运算过程示意图;
图5是本公开至少一个实施例提出的另一种数据处理方法的流程图;
图6是本公开至少一个实施例提出的一种数据处理装置的结构示意图;
图7是本公开至少一个实施例提出的另一种数据处理装置的结构示意图;
图8是本公开至少一个实施例提出的一种卷积运算设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1示出了根据本公开一些实施例的数据处理方法的流程图。如图1所示,该方法包括步骤101~步骤104。
在步骤101中,对待卷积数据以P列、M个输入通道为单位进行打包,获得多个第一数据元素,其中,所述待卷积数据是基于目标图像得到的。
在本公开实施例中,基于目标图像得到的待卷积数据的默认输入输出数据格式是IC×H×W,其中,IC为输入通道,H为高,W为宽。根据执行卷积运算的DSP支持的最小尺寸乘法,可以将所述待卷积数据针对每行进行打包,将每行对应的P列、M个输入通道的数据打包为一个第一数据元素,从而获得多个第一数据元素。也即,对于待卷积数据而言,所包含的第一数据元素的数目为:(输入通道数/M)*行数*(列数/P)*输出通道数。
本领域技术人员应当理解,所述目标图像可以是视频图像,也可以是实时采集的图像,本公开对此不进行限制。
在本公开实施例中,卷积核参数的输入输出格式是OC×IC×H×W,其中,OC为输出通道,IC为输入通道,H为高,W为宽。在卷积核大小为S*S的情況下,卷积核参数包括S*S个第一参数元素,每个第一参数元素包括M个输入通道、N个输出通道,也即包括M*N位的数据。通常情况下,输入通道数与输出通道数相等,即M=N。
在步骤102中,通过内积指令对各个所述第一参数元素与第一数据块中对应的第一数据元素进行内积操作,得到所述每个第一参数元素对应的内积结果。
卷积核参数的每个第一参数元素包括M个输入通道、N个输出通道,也即包括M*N位的数据。例如,对于大小为3*3的卷积核而言,在其包括4个输入通道、4个输出通道的情况下,每个第一参数元素包括4*4位数据,如表1所示,其中,i表示输入通道,o表示输出通道。
表1
i0o0 | i1o0 | i2o0 | i3o0 | i0o1 | i1o1 | i2o1 | i3o1 | i0o2 | i1o2 | i2o2 | i3o2 | i0o3 | i1o3 | i2o3 | i3o3 |
待卷积数据的一个第一数据元素,如在步骤101中所述,包括P列、M个输入通道。例如,对于包括4列、4个输入通道的情况下,如表2所示,其中,i表示输入通道,w表示列。
表2
w0i1 | w1i0 | w2i0 | w3i0 | w0i1 | w1i1 | w2i1 | w3i1 | w0i2 | w1i2 | w2i2 | w3i2 | w0i3 | w1i3 | w2i3 | w3i3 |
所述第一数据块包括对所述待卷积数据的连续S行以设定步长对每行进行第一划窗S次获得的各个第一数据元素。
例如,在卷积核大小为3*3的情况下,第一数据块包括对待卷积数据的连续三行(H0、H1、H2),以步长1进行第一划窗3次获得的各个第一元素。图2示出了示例性的各个第一数据元素。如图2所示,对于H0行,每一次进行第一划窗获得的第一元素在列的方向上为W0-3,即(0 1 2 3),第二次获得的第一元素在列的方向上为W1-4(1 2 3 4),第三次获得的第一元素在列的方向上为W2-5(2 3 4 5)。需要注意的是,每个第一元素包含4列、4个输入通道,因此,W0-3、W1-4、W2-5均对应着4个输入通道。对于H1行、H2行也以相似方式进行第一划窗,获得相应的各个第一数据元素。对应于卷积核大小为3*3、设定步长为1的情况,第一数据块为3行6列的数据块。相似地,在设定步长为2的情况下,第一数据块为3行8列的数据块,以此类推。
通过内积指令对各个所述第一参数元素与第一数据块中对应的第一数据元素进行内积操作,得到所述每个第一参数元素对应的内积结果,例如可以将该内结结果存储在包含M列、P列的内积矩阵中。
以将表1中的一个第一参数元素与表2中的一个第一数据元素进行内积操作为例,其内积结果存储在4*4大小的内积矩阵中,其中,行对应着卷积核参数的输出通道,如表3所示,其中,w表示列,o表示输出通道。
表3
w0o0 | w1o0 | w2o0 | w3o0 |
w0o1 | w1o1 | w2o1 | w3o1 |
w0o2 | w1o2 | w2o2 | w3o2 |
w0o3 | w1o3 | w2o3 | w3o3 |
在步骤103中,通过累加指令对各个所述第一参数元素对应的内积结果进行累加,获得第一累加结果。
卷积核参数的每个第一参数元素与第一数据块中对应的第一数据元素进行内积操作,并将各个第一参数元素对应的内积结果进行累加,则得到了第一累加结果。该第一累加结果同样存储于M列、P列的内积矩阵中。
在步骤104中,根据所述第一累加结果,得到数据处理结果。
针对所述待卷积数据所包含的所有第一数据块,获得相应的第一累加结果,则可以实现对所述卷积核参数和所述待卷积数据的卷积操作,获得数据处理结果。
本公开实施例提供的数据处理方法,对待卷积数据在行、列、输入通道上进行打包,获得多个第一数据元素,通过对卷积核参数所包含的第一参数元素与第一数据块中对应的第一数据元素进行内积操作,并对每个第一参数元素进行累加,通过遍历所述待卷积数据中的第一数据块获得各个累加结果,获得进行累加以及展开获得最终的数据处理结果,整个卷积过程可以最大程度地复用进行卷积运算的待卷积数据和卷积核参数,简化了计算过程,提高了对于目标图像的卷积处理效率。
在一些实施例中,可以利用以下方法根据所述第一加累加结果得到数据处理结果。
首先,以所述第一数据块的M个输入通道为单位对所述待卷积数据进行第二划窗,得到所述输入通道上每次第二划窗对应的各个第一累加结果。所述第一数据块自身包括M个输入通道,通过在输入通道上逐次偏移M个通道,即可以实现在输入通道上以M个输入通道为单位,对所述待卷积数据进行的第二划窗,获取所述输入通道上所包含的所有第一数据块所对应的第一累加结果。
针对每次获取的第一数据块,通过进行如上所述的步骤102和103,则可以获得该第一数据块对应的各个第一累加结果。
接着,将各个第一累加结果进行累加,获得第二累加结果。该第二累加结果同样可以存储于M行、P列的内积矩阵中。
以上所获得的第二累加结果是第一数据块在所有输入通道上的累加结果。接下来,针对所述待卷积数据在行、列、输出通道上所包含的第一数据块(该第一数据块对应于待卷积数据的所有输入通道)获得相应的第二累加结果,则可以实现对所述卷积核参数和所述待卷积数据的卷积操作,获得数据处理结果。
在一些实施例中,可以通过以下方式根据第二累加结果得到目标卷积。
首先,以包含所有输入通道的第一数据块为单位对所述待卷积数据在列的方向上逐行进行第三划窗,得到在列的方向上每次第三划窗对应的各个第二累加结果。也即,在待卷积数据的H方向上逐行进行第三划窗,每次第三划窗获得相应的第一数据块中的相应数据,通过与卷积核参数所包含的多个第一参数元素进行内积操作、累加操作,获得第一累加结果,并在所有输入通道上进行累加,获得第二累加结果。通过完成H方向上的第三划窗,也即遍历H方向,获得在H方向上所对应的所有第二累加结果。
接下来,进行在W方向上的划窗。具体地,偏移P列后重复在列的方向上逐行进行第三划窗。也即,在偏移P列后,在偏移后的位置重复在H方向上的划窗,获得偏移后的列位置所对应的H方向上的各个第二累加结果。重复进行偏移,直至偏移Q列,获得多个相应的第二累加结果,此处偏移的列数也即为进行偏移的设定步长。
也即,在Q为待卷积数据的列数的情况下,该步骤即可使现在整个列上获取第二累加结果;而在Q为部分的列数的情况下,需要通过执行多于一次卷积运算来获得数据处理结果。Q所包括的具体位数,可以根据存储待卷积数据的区域大小所确定。
接着,在所述待卷积数据的输出通道上逐次偏移M个输出通道,获得每次偏移在所述输出通道上对应的所述多个第二累加结果。所述第一数据块自身包括M个输出通道,通过所述待卷积数据的输出通道上逐次偏移M个通道,即实现在输出通道上的第三划窗,获取所述输出通道上所包含的所有第一数据块,从而可以获得所述第一数据块在所述输出通道上对应的各个第二累加结果。
在以上过程中所获得的各个第二累加结果,分别存储在各自对应的矩阵中。该矩阵包括M个输出通道、P列(对应于W维度)、M个输入通道。接下来,通过将各个第二累加结果在待卷积数据的各个维度上,包括行、输、输出通道上,进行展开,也即将各个第二累加结果所对应的矩阵在各个维度上进行排布,通过展开结果获得数据处理结果。
具体地,将所述待卷积数据在列的方向上所对应的第二加累加结果,在列上进行展开,获得第一展开结果。也即,首先在H方向上将各个第二累加结果展开。
接下来,将Q列所对应的第一展开结果,在行上进行展开,获得第二展开结果。对于已经在H的方向上展开的结果,在W的方向上进一步进行展开。
最后,将输出通道上对应的第二展开结果,在所述输出通道上展开,获得目标卷积结果。也即,对于在H方向上和W方向上展开的结果,在输出通道上进一步进行展开,所获得的最终的展开结果即为数据处理结果。
以下以利用XM4DSP芯片执行本公开实施例的卷积运算为例,对该数据处理方法进行详细的说明。
卷积运算可以用公式(1)来表示:
f(i)=conv(i,w)+bias (1)
其中,i为输入数据,也即待卷积数据,w为filter数据,也即卷积核数据,conv为卷积算子,bias为卷积运算的偏置。
对应于卷积运算公式(1),int8量化的卷积运算公式如下:
f(i)=conv((i-izero),(w-wzero))+bias (2)
其中,izero,wzero分别为i和w的量化零点,izero,w,wzero为常数,i,izero,w,wzero均为8bit,bias为32bit。如果用8bit*8bit的通用量化方案,则该卷积展开为两次卷积计算和两次加法。在本公开实施例中,将w-wzero合并为wnew
(16bit),则可以将卷积公式(2)简化为:
其中,conv(i,wnew)通过一次8bit*16bit卷积计算获取,而-conv(izero,wnew)+bias为32bit常数,可预先计算。因此,通过以上量化方式,将int8卷积简化为一次常规卷积和一次向量加法。
在本公开实施例中,结合以上所述的量化方法使用XM4DSP的核心指令(核心函数),来实现卷积运算。具体地,本公开实施例提出的数据处理方法中,卷积核参数,为所应用的卷积核中每个元素与卷积核量化零点的差形成的参数。通过执行核心指令,将所述卷积核参数的其中一个第一参数元素与一个第一数据元素内积操作,包括:将进行内积操作的结果与常量相加,得到所述内积结果,其中,所述常量根据待卷积数据量化零点与所述卷积核参数的乘积以及卷积运算的偏置得到。
对于XM4DSP,data区域字长是16bit,是可用步长控制滑动的存储区域;而filter区域字长是8bit,是通过设置偏移量进行起点位置选择的存储区域。为了适用于以上所述的8bit*16bit的量化方案,本公开实施例中提出了将待卷积数据和卷积核数据在指令区里的位置颠倒的方案。
对于卷积核参数,可以将其搬移至data区域,此处,可以将data区域称为第一存储区域;对应于待卷积数据,可以将其搬移至filter区域,此处,可以将filter区域称为第二存储区域。
对于存储在所述第一存储区域和所述第二存储区域中的数据,通过调用XM4DSP的核心指令,对所述第一存储区域和所述第二存储区域中的数据进行卷积运算。
在一个示例中,对于字长为16bit的第一存储区域,其中放置的卷积核参数的数据,在卷积运算过程中可以设置成格式为4OC(输出通道)*4IC(输入通道)。对于卷积核参数的其中一个第一参数元素元素(一个filter因子),通过将该filter因子扩充到4OC*4IC*16bit,并且在所述第一存储区域的设定步长(步进步长)为4的情况下,可以保证每条指令处理4IC*4OC的一个filter因子的乘累加。通过该方法使得指令对于卷积核的大小不敏感,可以适用于不同长度和步长的卷积核。
在一个示例中,对于字长为8bit的第二存储区域,其中放置的待卷积数据,在卷积运算过程中对其进行打包,生成的每个第一数据元素的格式为N4CHW,对应的位数总计为8bit*4IC*8W。此处,可以进一步将数据分为两组,每组对应4个W位置(4列),则通过两条核心指令可以处理完成8个W位置的卷积乘累加计算。
以卷积核大小为3*3为例,卷积核数据可记为filter0~8。对于每一个filter因子,格式为4OC*4IC;对于待卷积数据,默认IC4打包,打包后的每个第一数据元素包括4W*IC4。
这对每一条核心指令,将一个filter因子与一个打包单元进行内积操作。通过执行9条核心指令,分别对9个filter因子执行内积操作。也即,通过使用9条核心指统,可以实现OC4*IC4*4个卷积计算。由于接下来的指令复用filter因子的数据,无需再次读取数据。因此,卷积运算效率为4*4*8*9/9*64=100%。
在一个示例中,对于三维(3D)待卷积数据,可以通过二维DMA(2D-Direct MemoryAccess,二维直接内存存取)将待卷积数据搬移至所述第二存储区域。
对于三维待卷积数据而言,进行padding则数据搬移至少是包括三个维度的。在本公开实施例中,对所述第二存储区域中的所述待卷积数据在列的方向上进行补齐操作。通过本公开实施例提出的数据分组方法以及补齐方法,使得能够利用2D-DMA实现采用一次数据搬移实现三维数据的卷积运算。
图3为本公开至少一个实施例提出的数据分组方法。如图3所示,以立方体表示待卷积数据,其包括输入通道C、H维度、W维度。如图3所示,在将所述待卷积数据搬移至第二存储区域之后路,仅在W维度上,也即仅在列的方向上进行补齐。在W维度的两端分别补0,而在H维度上则不进行补0。也即,通过如图2所示的数据分组方式,针对4个输入通道的情况下,可以实现(w+2*pad,h*4ic)的将维方式,其中,pad表示补0的位数。通过以上方式,可以确保2D-DMA不会成为XM4DSP进行卷积运算的瓶颈。相应地,需要在核心指令中增加补齐操作在未处理维度上,例如列的方向上进行补齐操作的处理分支,例如,通过在函数里特定位置装在0值(zero值),相当于增加了代码大小(code size)。在DSP系统中,每一个核心指令都是下载一份代码,集中运算大量数据,因此代码大小并不会成为系统瓶颈。
在本公开实施例中,可以通过预处理和实时处理两个阶段实现卷积运算。如图4所示,在预处理阶段,进行对卷积核参数wnew和常量con的设置。其中,将卷积核参数wnew设置根据初始卷积核w与卷积核量化零点wzero的差,将常量con设置为待卷积数据量化零点izero与卷积核参数wnew的乘积与卷积运算的偏置bias进行设置,例如可以设置为bias-izero*wnew。
在实时处理阶段,利用如上所述的(w+2*pad,h*4ic)降维方式,通过2D-DMA将补齐后的待卷积数据搬移至数据存储区域,通过调用核心指令对待卷积数据与卷积核参数wnew进行卷积运算,在核心指令之外,通过在待卷积数据的W维度上进行循环,实现W维度上所有数据的卷积运算后,对得到的卷积结果进行量化后,输出数据处理结果。
通过以上数据处理方法,通过输入通道、H维度、W维度上的数据分组,最大程度地复用了寄存器数据,并且该方法的通用性强,适用于所有大小的卷积核。针对XM4DSP,其可以充分利用8*16乘法器宽度,将int 8二次卷积转换为一次卷积运算和一次加法运算,简化了卷积运算,提高了运算效率。并且,XM4DSP的4路累加与打包的4个通道的数据格式匹配,输入输出始终为4通道格式,无需进行额外的转换。
图5示出了本公开至少一个实施例提出的数据处理方法,所述方法包括步骤501~503。
在步骤501中,通过二维DMA控制器将待卷积数据搬移至存储区域,其中,所述待卷积数据是基于目标图像得到的。
在步骤502中,对于所述存储区域中的所述待卷积数据在列的方向上进行补齐操作。
在步骤503中,通过调用卷积指令对存储在所述存储区域中的数据进行卷积运算,所述卷积指令里在设定位置装载用于在行的方向上进行补齐操作的指令。
在本公开实施例中,通过利用二维DMA控制器将待卷进数据搬移至存储区域,并在列的方向上进补齐,将行方向的补齐操作在核心算法中实现,从而减少了数据搬移次数,提高了卷积运算效率。
图6为本公开至少一个实施例提出的一种数据处理装置,如图6所示,该装置可以包括:
打包单元601,用于对待卷积数据以P列、M个输入通道为单位进行打包,获得多个第一数据元素;卷积核参数包含S*S个第一参数元素,每个第一参数元素包含M个输入通道、N个输出通道;
内积单元602,用于通过内积指令对各个所述第一参数元素与第一数据块中对应的第一数据元素进行内积操作,得到所述每个第一参数元素对应的内积结果,其中,所述第一数据块包括对所述待卷积数据的连续S行以设定步长对每行进行第一划窗S次获得的各个第一数据元素;
累加单元603,用于通过累加指令对各个所述第一参数元素对应的内积结果进行累加,获得第一累加结果;
获得单元604,用于根据所述第一累加结果,得到数据处理结果。
在一些实施例中,获得单元604具体用于:以所述第一数据块的M个输入通道为单位对所述待卷积数据进行第二划窗,得到所述输入通道上每次第二划窗对应的各个第一累加结果;将所述各个第一累加结果进行累加,得到第二累加结果;根据所述第二累加结果,得到数据处理结果。
在一些实施例中,获得单元604在用于根据所述第二累加结果,得到数据处理结果时,具体用于:以包含所有输入通道的第一数据块为单位对所述待卷积数据在列的方向上逐行进行第三划窗,得到在列的方向上每次第三划窗对应的各个第二累加结果;偏移P列后重复在列的方向上逐行进行第三划窗,直至偏移至Q列,获得多个第二累加结果;在所述待卷积数据的输出通道上逐次偏移M个输出通道,获得每次偏移在所述输出通道上对应的所述多个第二累加结果;将所得到的各个第二累加结果在待卷积数据的行、列、输出通道上展开,获得数据处理结果。
在一些实施例中,获得单元604在用于将所得到的各个第二累加结果在待卷积数据的行、列、输出通道上展开,获得数据处理结果时,具体用于:将所述待卷积数据在列的方向上所对应的第二加累加结果,在列上进行展开,获得第一展开结果;将Q列所对应的第一展开结果,在行上进行展开,获得第二展开结果;将输出通道上对应的第二展开结果,在所述输出通道上展开,获得数据处理结果。
在一些实施例中,获得单元604在用于将所得到的各个第二累加结果在待卷积数据的行、列、输出通道上展开,获得数据处理结果时,具体用于:将所述待卷积数据在列的方向上所对应的第二加累加结果,在列上进行展开,获得第一展开结果;将Q列所对应的第一展开结果,在行上进行展开,获得第二展开结果;将输出通道上对应的第二展开结果,在所述输出通道上展开,获得数据处理结果。
在一些实施例中,所述装置还包括子搬移单元,用于通过二维DMA控制器将待卷积数据搬移至所述第二存储区域。
在一些实施例中,所述装置还包括补齐单元,用于对所述第二存储区域中的所述待卷积数据在列的方向上进行补齐操作。
图7为本公开至少一个实施例提出的一种数据处理装置,如图7所示,该装置可以包括:
搬移单元701,用于通过二维DMA控制器将待卷积数据搬移至存储区域;
补齐单元702,用于对于所述存储区域中的所述待卷积数据在列的方向上进行补齐操作;
运算单元703,用于通过调用卷积指令对存储在所述存储区域中的数据进行卷积运算,所述卷积指令里在设定位置装载用于在行的方向上进行补齐操作的指令。
图8为本公开至少一个实施例提供的数据处理设备,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现本公开任一实施例所述的数据处理方法。
本公开至少一个实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例所述的数据处理方法。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例还提供一种计算机可读存储介质,该存储介质上可以存储有计算机程序,所述程序被处理器执行时实现本说明书任一实施例描述的驾驶员注视区域的检测方法的步骤,和/或,实现本说明书任一实施例描述的驾驶员注视区域的神经网络的训练方法的步骤。其中,所述的“和/或”表示至少具有两者中的其中一个,例如,“A和/或B”包括三种方案:A、B、以及“A和B”。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
对待卷积数据以P列、M个输入通道为单位进行打包,获得多个第一数据元素;卷积核参数包含S*S个第一参数元素,每个第一参数元素包含M个输入通道、N个输出通道,其中,所述待卷积数据是基于目标图像得到的;
通过内积指令对各个所述第一参数元素与第一数据块中对应的第一数据元素进行内积操作,得到所述每个第一参数元素对应的内积结果,其中,所述第一数据块包括对所述待卷积数据的连续S行以设定步长对每行进行第一划窗S次获得的各个第一数据元素;
通过累加指令对各个所述第一参数元素对应的内积结果进行累加,获得第一累加结果;
根据所述第一累加结果,得到数据处理结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一累加结果,得到数据处理结果,包括:
以所述第一数据块的M个输入通道为单位对所述待卷积数据进行第二划窗,得到所述输入通道上每次第二划窗对应的各个第一累加结果;
将所述各个第一累加结果进行累加,得到第二累加结果;
根据所述第二累加结果,得到数据处理结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第二累加结果,得到数据处理结果,包括:
以包含所有输入通道的第一数据块为单位对所述待卷积数据在列的方向上逐行进行第三划窗,得到在列的方向上每次第三划窗对应的各个第二累加结果;
偏移P列后重复在列的方向上逐行进行第三划窗,直至偏移至Q列,获得多个第二累加结果;
在所述待卷积数据的输出通道上逐次偏移M个输出通道,获得每次偏移在所述输出通道上对应的所述多个第二累加结果;
将所得到的各个第二累加结果在待卷积数据的行、列、输出通道上展开,获得数据处理结果。
4.根据权利要求3所述的方法,其特征在于,将所得到的各个第二累加结果在待卷积数据的行、列、输出通道上展开,获得目标展开结果,包括:
将所述待卷积数据在列的方向上所对应的第二加累加结果,在列上进行展开,获得第一展开结果;
将Q列所对应的第一展开结果,在行上进行展开,获得第二展开结果;
将输出通道上对应的第二展开结果,在所述输出通道上展开,获得数据处理结果。
5.一种数据处理装置,其特征在于,所述装置包括:
打包单元,用于对待卷积数据以P列、M个输入通道为单位进行打包,获得多个第一数据元素;卷积核参数包含S*S个第一参数元素,每个第一参数元素包含M个输入通道、N个输出通道,其中,所述待卷积数据是基于目标图像得到的;
内积单元,用于通过内积指令对各个所述第一参数元素与第一数据块中对应的第一数据元素进行内积操作,得到所述每个第一参数元素对应的内积结果,其中,所述第一数据块包括对所述待卷积数据的连续S行以设定步长对每行进行第一划窗S次获得的各个第一数据元素;
累加单元,用于通过累加指令对各个所述第一参数元素对应的内积结果进行累加,获得第一累加结果;
获得单元,用于根据所述第一累加结果,得到数据处理结果。
6.一种数据处理装置,其特征在于,所述装置包括:
搬移单元,用于通过二维DMA控制器将待卷积数据搬移至存储区域,其中,所述待卷积数据是基于目标图像得到的;
补齐单元,用于对于所述存储区域中的所述待卷积数据在列的方向上进行补齐操作;
运算单元,用于通过调用卷积指令对存储在所述存储区域中的数据进行卷积运算,所述卷积指令里在设定位置装载用于在行的方向上进行补齐操作的指令。
7.一种数据处理设备,其特征在于,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现权利要求1至3任一项所述的方法。
8.一种数据处理设备,其特征在于,所述设备包括存储器、处理器,所述存储器用于存储可在处理器上运行的计算机指令,所述处理器用于在执行所述计算机指令时实现权利要求4所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至3任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求4所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911143301.9A CN112825151A (zh) | 2019-11-20 | 2019-11-20 | 数据处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911143301.9A CN112825151A (zh) | 2019-11-20 | 2019-11-20 | 数据处理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112825151A true CN112825151A (zh) | 2021-05-21 |
Family
ID=75907054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911143301.9A Pending CN112825151A (zh) | 2019-11-20 | 2019-11-20 | 数据处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112825151A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114399828A (zh) * | 2022-03-25 | 2022-04-26 | 深圳比特微电子科技有限公司 | 用于图像处理的卷积神经网络模型的训练方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145939A (zh) * | 2017-06-21 | 2017-09-08 | 北京图森未来科技有限公司 | 一种神经网络优化方法及装置 |
CN109034373A (zh) * | 2018-07-02 | 2018-12-18 | 鼎视智慧(北京)科技有限公司 | 卷积神经网络的并行处理器及处理方法 |
CN109313663A (zh) * | 2018-01-15 | 2019-02-05 | 深圳鲲云信息科技有限公司 | 人工智能计算辅助处理装置、方法、存储介质、及终端 |
CN109934339A (zh) * | 2019-03-06 | 2019-06-25 | 东南大学 | 一种基于一维脉动阵列的通用卷积神经网络加速器 |
WO2019184657A1 (zh) * | 2018-03-30 | 2019-10-03 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、电子设备及存储介质 |
-
2019
- 2019-11-20 CN CN201911143301.9A patent/CN112825151A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145939A (zh) * | 2017-06-21 | 2017-09-08 | 北京图森未来科技有限公司 | 一种神经网络优化方法及装置 |
US20180373981A1 (en) * | 2017-06-21 | 2018-12-27 | TuSimple | Method and device for optimizing neural network |
CN109313663A (zh) * | 2018-01-15 | 2019-02-05 | 深圳鲲云信息科技有限公司 | 人工智能计算辅助处理装置、方法、存储介质、及终端 |
WO2019184657A1 (zh) * | 2018-03-30 | 2019-10-03 | 腾讯科技(深圳)有限公司 | 图像识别方法、装置、电子设备及存储介质 |
CN109034373A (zh) * | 2018-07-02 | 2018-12-18 | 鼎视智慧(北京)科技有限公司 | 卷积神经网络的并行处理器及处理方法 |
CN109934339A (zh) * | 2019-03-06 | 2019-06-25 | 东南大学 | 一种基于一维脉动阵列的通用卷积神经网络加速器 |
Non-Patent Citations (3)
Title |
---|
刘仲;田希;: "面向多核向量处理器的矩阵乘法向量化方法", 计算机学报, no. 10 * |
张军阳;郭阳;: "二维矩阵卷积在向量处理器中的设计与实现", 国防科技大学学报, no. 03 * |
张军阳;郭阳;扈啸;: "二维矩阵卷积的并行计算方法", 浙江大学学报(工学版), no. 03 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114399828A (zh) * | 2022-03-25 | 2022-04-26 | 深圳比特微电子科技有限公司 | 用于图像处理的卷积神经网络模型的训练方法 |
CN114399828B (zh) * | 2022-03-25 | 2022-07-08 | 深圳比特微电子科技有限公司 | 用于图像处理的卷积神经网络模型的训练方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145939B (zh) | 一种低计算能力处理设备的计算机视觉处理方法及装置 | |
CN111465924B (zh) | 用于将矩阵输入转换为矩阵处理器的向量化输入的系统和方法 | |
CN111062472B (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
US10025755B2 (en) | Device and method to process data in parallel | |
KR101687081B1 (ko) | 단채널 컨볼루션 레이어를 위한 처리 방법 및 장치, 및 다채널 컨볼루션 레이어를 위한 처리 방법 및 장치 | |
US6901422B1 (en) | Matrix multiplication in a vector processing system | |
US7720897B2 (en) | Optimized discrete fourier transform method and apparatus using prime factor algorithm | |
US20230004624A1 (en) | High throughput matrix processor with support for concurrently processing multiple matrices | |
CN112395092B (zh) | 数据处理方法及人工智能处理器 | |
KR20100101586A (ko) | 데이터 처리에 있어서 레지스터 시프트 및 회전을 포함하는 방법 및 명령어 세트 | |
KR20200081044A (ko) | 뉴럴 네트워크의 컨볼루션 연산을 처리하는 방법 및 장치 | |
CN110147252A (zh) | 一种卷积神经网络的并行计算方法及装置 | |
CN112825151A (zh) | 数据处理方法、装置及设备 | |
EP3968237A1 (en) | Grouped convolution using point-to-point connected channel convolution engines | |
CN104617959A (zh) | 一种基于通用处理器的ldpc编译码方法 | |
US20230056304A1 (en) | Using a low-bit-width dot product engine to sum high-bit-width numbers | |
US8898213B2 (en) | Apparatus and method for division of a Galois field binary polynomial | |
CN110796229A (zh) | 一种实现卷积运算的装置及方法 | |
US10963746B1 (en) | Average pooling in a neural network | |
CN116348882A (zh) | 一种卷积神经网络数据处理方法及其相关设备 | |
US20200026998A1 (en) | Information processing apparatus for convolution operations in layers of convolutional neural network | |
KR20220161485A (ko) | 다수의 누산기들을 구비한 시스톨릭 어레이 셀들 | |
US20220156344A1 (en) | Systolic array cells with output post-processing | |
CN114168106A (zh) | 基于卷积神经网络的数据处理方法、装置及设备 | |
CN114281755A (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 |