数据卷积处理方法、装置及计算机设备与流程

文档序号:26854098发布日期:2021-10-09 02:56阅读:128来源:国知局
数据卷积处理方法、装置及计算机设备与流程

1.本技术涉及人工智能领域,尤其涉及一种数据卷积处理方法、装置及计算机设备。


背景技术:

2.随着人工智能技术飞速发展,推出各种神经网络模型,神经网络模型需要的算力也是日益提升。为满足神经网络模型的计算需求,产生了各种硬件加速器,硬件加速器是指通过特定处理的专用硬件,利用电路的并行性以及高速处理来加快各种神经网络模型的运行。现有神经网络模型存在有大量卷积运算,如何提高卷积运算的处理速度成为亟需解决的问题。


技术实现要素:

3.为了解决上述技术问题,本技术实施例提供了一种数据卷积处理方法、装置及计算机设备。
4.第一方面,本技术实施例提供了一种数据卷积处理方法,所述方法包括:
5.获取多个特征图数据及多个权重数据;
6.将所述多个特征图数据及所述多个权重数据划分为多份分组数据,所述分组数据包括一个特征图数据及对应的一个权重数据;
7.将各分组数据输入硬件加速器对应的一个乘加单元;
8.控制所述乘加单元对所述分组数据的特征图数据进行预处理,得到用于执行卷积操作的待卷积数据;
9.控制所述乘加单元跳过所述待卷积数据的零值点及所述分组数据的权重数据的零值点,对所述待卷积数据的非零值点及所述分组数据的所述权重数据的非零值点执行卷积运算。
10.可选的,所述控制所述乘加单元跳过所述待卷积数据的零值点及所述分组数据的权重数据的零值点,对所述待卷积数据的非零值点及所述分组数据的所述权重数据的非零值点执行卷积运算,包括:
11.获取第一零值点统计信息及第二零值点统计信息,所述第一零值点统计信息的各数据位设置有所述待卷积数据的各数值点是否为零的标志,所述第二零值点统计信息的各数据位设置有所述分组数据的所述权重数据的各数值点是否为零的标志;
12.控制所述乘加单元根据所述第一零值点统计信息及所述第二零值点统计信息的数据位对应的标志获取所述待卷积数据的非零值点及所述权重数据的非零值点;
13.控制所述乘加单元对获取到的所述待卷积数据的非零值点及所述权重数据的非零值点进行卷积运算。
14.可选的,所述标志包括表示零值点的第一标志、及表示非零值点的第二标志,所述控制所述乘加单元根据所述第一零值点统计信息及所述第二零值点统计信息的数据位对应的标志获取所述待卷积数据的非零值点及所述权重数据的非零值点,包括:
15.控制所述乘加单元按照所述第一零值点统计信息及所述第二零值点统计信息的数据位排序遍历各数据位的标志,在所述第一零值点统计信息及所述第二零值点统计信息的数据位排序相同的当前数据位上遍历到至少一个所述第一标志时,跳过所述当前数据位对应的所述待卷积数据的数值点及所述权重数据的数值点;
16.在所述第一零值点统计信息及所述第二零值点统计信息的数据位排序相同的当前数据位上均遍历到所述第二标志时,获取所述当前数据位对应的所述待卷积数据的非零值点及所述权重数据的非零值点。
17.可选的,所述获取多个特征图数据及多个权重数据,包括:
18.确定所述硬件加速器的乘加单元数量;
19.根据所述乘加单元数量确定所述多个特征图数据及所述多个权重数据,其中,各特征图数据为特征图矩阵数据,各权重数据为权重矩阵数据,分组数据的数量与所述硬件加速器的乘加单元数量相同。
20.可选的,所述待卷积数据为待卷积矩阵数据,所述控制所述乘加单元对所述分组数据的特征图数据进行预处理,得到用于执行卷积操作的待卷积数据,包括:
21.控制所述乘加单元遍历所述特征图矩阵数据的数值点,为遍历到的当前数值点构建与所述权重矩阵数据的行列数相同的待卷积矩阵数据。
22.可选的,所述为遍历到的当前数值点构建与所述权重矩阵数据的行列数相同的待卷积矩阵数据,包括:
23.若将所述当前数值点作为矩阵中心,能在所述特征图矩阵数据截取与所述权重矩阵数据的行列数相同的完整矩阵时,则将截取到的完整矩阵作为所述待卷积矩阵数据;
24.若将所述当前数值点作为矩阵中心,不能在所述特征图矩阵数据截取与所述权重矩阵数据的行列数相同的完整矩阵时,则将截取到的残缺矩阵补充完整,得到所述待卷积矩阵数据。
25.可选的,所述获取多个特征图数据及多个权重数据,包括:
26.根据输入的图像获取所述多个特征图数据;
27.从卷积层的输出通道获取所述多个权重数据。
28.第二方面,本技术实施例提供了一种数据卷积处理装置,所述数据卷积处理装置包括:
29.获取模块,用于获取多个特征图数据及多个权重数据;
30.划分模块,用于将所述多个特征图数据及所述多个权重数据划分为多份分组数据,所述分组数据包括一个特征图数据及对应的一个权重数据;
31.输入模块,用于将各分组数据输入硬件加速器对应的一个乘加单元;
32.预处理模块,用于控制所述乘加单元对所述分组数据的特征图数据进行预处理,得到用于执行卷积操作的待卷积数据;
33.控制模块,用于控制所述乘加单元跳过所述待卷积数据的零值点及所述分组数据的权重数据的零值点,对所述待卷积数据的非零值点及所述分组数据的所述权重数据的非零值点执行卷积运算。
34.可选的,控制模块,还用于获取第一零值点统计信息及第二零值点统计信息,所述第一零值点统计信息的各数据位设置有所述待卷积数据的各数值点是否为零的标志,所述
第二零值点统计信息的各数据位设置有所述分组数据的所述权重数据的各数值点是否为零的标志;
35.控制所述乘加单元根据所述第一零值点统计信息及所述第二零值点统计信息的数据位对应的标志获取所述待卷积数据的非零值点及所述权重数据的非零值点;
36.控制所述乘加单元对获取到的所述待卷积数据的非零值点及所述权重数据的非零值点进行卷积运算。
37.可选的,所述标志包括表示零值点的第一标志、及表示非零值点的第二标志,控制模块,还用于控制所述乘加单元按照所述第一零值点统计信息及所述第二零值点统计信息的数据位排序遍历各数据位的标志,在所述第一零值点统计信息及所述第二零值点统计信息的数据位排序相同的当前数据位上遍历到至少一个所述第一标志时,跳过所述当前数据位对应的所述待卷积数据的数值点及所述权重数据的数值点;
38.在所述第一零值点统计信息及所述第二零值点统计信息的数据位排序相同的当前数据位上均遍历到所述第二标志时,获取所述当前数据位对应的所述待卷积数据的非零值点及所述权重数据的非零值点。
39.可选的,获取模块,用于确定所述硬件加速器的乘加单元数量;
40.根据所述乘加单元数量确定所述多个特征图数据及所述多个权重数据,其中,各特征图数据为特征图矩阵数据,各权重数据为权重矩阵数据,分组数据的数量与所述硬件加速器的乘加单元数量相同。
41.可选的,所述待卷积数据为待卷积矩阵数据,预处理模块,用于控制所述乘加单元遍历所述特征图矩阵数据的数值点,为遍历到的当前数值点构建与所述权重矩阵数据的行列数相同的待卷积矩阵数据。
42.可选的,预处理模块,还用于若将所述当前数值点作为矩阵中心,能在所述特征图矩阵数据截取与所述权重矩阵数据的行列数相同的完整矩阵时,则将截取到的完整矩阵作为所述待卷积矩阵数据;
43.若将所述当前数值点作为矩阵中心,不能在所述特征图矩阵数据截取与所述权重矩阵数据的行列数相同的完整矩阵时,则将截取到的残缺矩阵补充完整,得到所述待卷积矩阵数据。
44.可选的,获取模块,还用于根据输入的图像获取所述多个特征图数据;
45.从卷积层的输出通道获取所述多个权重数据。
46.第三方面,本技术实施例提供了一种计算机设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面提供的数据卷积处理方法。
47.第四方面,本技术实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面提供的数据卷积处理方法。
48.上述本技术提供的数据卷积处理方法、装置及计算机设备获取多个特征图数据及多个权重数据;将所述多个特征图数据及所述多个权重数据划分为多份分组数据;将各分组数据输入硬件加速器对应的一个乘加单元;控制所述乘加单元对所述分组数据的特征图数据进行预处理,得到用于执行卷积操作的待卷积数据;控制所述乘加单元跳过所述待卷积数据的零值点及所述分组数据的权重数据的零值点,对所述待卷积数据的非零值点及所
述分组数据的所述权重数据的非零值点执行卷积运算。这样,在卷积运算过程中去除无效计算,当乘法计算时权重数据或特征图数据至少出现一个零值,就会跳过此次乘法运算,进行下一次乘法运算,可以在卷积处理过程中去掉含零值的乘法运算,减少计算数量,加快运算速度,提高性能。
附图说明
49.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对本技术保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
50.图1示出了本技术实施例提供的数据卷积处理方法的一流程示意图;
51.图2示出了本技术实施例提供的数据卷积处理方法的步骤s105的一流程示意图;
52.图3示出了本技术实施例提供的数据卷积处理方法的步骤s1052的一结构示意图;
53.图4示出了本技术实施例提供的数据卷积处理方法的步骤s101的一流程示意图;
54.图5示出了本技术实施例提供的数据卷积处理装置的一结构示意图。
具体实施方式
55.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
56.通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
57.在下文中,可在本技术的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
58.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
59.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本技术的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本技术的各种实施例中被清楚地限定。
60.实施例1
61.本公开实施例提供了一种数据卷积处理方法。
62.具体的,参见图1,数据卷积处理方法包括:
63.步骤s101,获取多个特征图数据及多个权重数据。
64.在本实施例中,特征图(feature map)数据可以为特征图矩阵数据,各权重
(weight)数据为权重矩阵数据。权重矩阵数据可以从卷积层的输出通道获取。特征图矩阵数据的行列数与权重矩阵数据的行列数相同。
65.可选的,步骤s101包括:
66.根据输入的图像获取所述多个特征图数据;
67.从卷积层的输出通道获取所述多个权重数据。
68.举例来说,特征图矩阵数据为7
×
7的特征图矩阵数据,对应的权重矩阵数据为7
×
7的权重矩阵数据;特征图矩阵数据为5
×
5的特征图矩阵数据,对应的权重矩阵数据为5
×
5的权重矩阵数据。特征图矩阵数据为3
×
3的特征图矩阵数据,对应的权重矩阵数据为3
×
3的权重矩阵数据。特征图矩阵数据为1
×
1的特征图矩阵数据,对应的权重矩阵数据为1
×
1的权重矩阵数据。需要说明的是,7
×
7、5
×
5、3
×
3、1
×
1对应为卷积核的大小。
69.步骤s102,将所述多个特征图数据及所述多个权重数据划分为多份分组数据。
70.在本实施例中,所述分组数据包括一个特征图数据及对应的一个权重数据。这样,可以实现特征图数据、及权重数据的复用,提高处理速度。
71.举例来说,若有64个特征图数据及8个权重数据,则可以将各特征数据分别与各权重数据划分为一份分组数据,总共可以划分64
×
8份分组数据。
72.步骤s103,将各分组数据输入硬件加速器对应的一个乘加单元。
73.在本实施例中,硬件加速器的乘加(multiply and accumulate,mac)单元的个数可以根据需求进行定义,例如硬件加速器可以包括512个乘加单元。若分组数据包括512份分组数据,则每份分组数据可以对应输入512个乘加单元中的一个乘加单元,512个乘加单元可以按照8行64列的阵列布局。
74.步骤s104,控制所述乘加单元对所述分组数据的特征图数据进行预处理,得到用于执行卷积操作的待卷积数据。
75.举例来说,特征图数据可以为7
×
7的特征图矩阵数据,对应的权重矩阵数据为7
×
7的权重矩阵数据,基于7
×
7的权重矩阵数据及7
×
7的权重矩阵数据进行卷积运算时,需要预先为7
×
7的特征图矩阵数据的每个元素对应构建7
×
7矩阵,为每个元素构建的7
×
7矩阵即可以理解为用于执行卷积操作的待卷积数据。
76.步骤s105,控制所述乘加单元跳过所述待卷积数据的零值点及所述分组数据的权重数据的零值点,对所述待卷积数据的非零值点及所述分组数据的所述权重数据的非零值点执行卷积运算。
77.在本实施例中,在卷积运算过程中去除无效计算,当乘法计算时权重数据或特征图数据至少出现一个零值,就会跳过此次乘法运算,进行下一次乘法运算,可以在卷积处理过程中去掉含零值的乘法运算,减少计算数量,加快运算速度,提高性能。
78.可选的,请参阅图2,步骤s105包括:
79.步骤s1051,获取第一零值点统计信息及第二零值点统计信息。
80.在本实施例中,所述第一零值点统计信息的各数据位设置有所述待卷积数据的各数值点是否为零的标志,所述第二零值点统计信息的各数据位设置有所述分组数据的所述权重数据的各数值点是否为零的标志。
81.举例来说,若待卷积数据为7
×
7矩阵,权重数据为7
×
7的权重矩阵数据,则使用一个49位数据位的第一数据块存储第一零值点统计信息,各数据位对应记录7
×
7矩阵的待卷
积数据的各数值点是否为零的标志。则使用一个49位数据位的第二数据块存储第二零值点统计信息,各数据位对应记录7
×
7的权重矩阵数据的各数值点是否为零的标志。
82.步骤s1052,控制所述乘加单元根据所述第一零值点统计信息及所述第二零值点统计信息的数据位对应的标志获取所述待卷积数据的非零值点及所述权重数据的非零值点。
83.需要说明的是,因为卷积运算中,待卷积数据及权重数据的对应两个数值点之间是乘法元素,如果待卷积数据及权重数据的对应两个数值点之间中有一个为零值,其相乘的乘积也会为零值,因而可以跳过零值点,获取待卷积数据及权重数据的对应两个数值点均为非零值点的数值进行乘法运算。
84.步骤s1053,控制所述乘加单元对获取到的所述待卷积数据的非零值点及所述权重数据的非零值点进行卷积运算。
85.举例来说,若待卷积数据为7
×
7矩阵,权重数据为7
×
7的权重矩阵数据,若不进行去零处理,则需要49个时钟,进行49次乘法运行,若进行去零操作,只对待卷积数据及权重数据的对应两个数值点均为非零值点的数值进行乘法运算,省去待卷积数据或权重数据的零值的乘法运算,可以节约运算时间,提高运算速度。需要说明的是,若有8x64份分组数据分别输入对应的乘加单元进行数据处理,则如果某一个乘加单元完成对输入的一份分组数据的计算处理,会继续等待所有的8x64个乘加单元对8x64份分组数据均处理完成,才会进入对下一组待卷积处理数据进行卷积运算,下一组待卷积处理数据包括多个特征图数据及多个权重数据的待处理数据,即再次执行步骤s101至s105,为避免重复,在此不做赘述。
86.可选的,所述标志包括表示零值点的第一标志、及表示非零值点的第二标志,请参阅图3,步骤s1052包括:
87.步骤s10521,控制所述乘加单元按照所述第一零值点统计信息及所述第二零值点统计信息的数据位排序遍历各数据位的标志,在所述第一零值点统计信息及所述第二零值点统计信息的数据位排序相同的当前数据位上遍历到至少一个所述第一标志时,跳过所述当前数据位对应的所述待卷积数据的数值点及所述权重数据的数值点;
88.步骤s10522,在所述第一零值点统计信息及所述第二零值点统计信息的数据位排序相同的当前数据位上均遍历到所述第二标志时,获取所述当前数据位对应的所述待卷积数据的非零值点及所述权重数据的非零值点。
89.在本实施中,第一标志可以设置为0,第二标志可以设置为1。
90.举例来说,若待卷积数据为7
×
7矩阵,权重数据为7
×
7的权重矩阵数据,则使用一个49位数据位的第一数据块存储第一零值点统计信息,各数据位对应记录7
×
7矩阵的待卷积数据的各数值点是否为零,若数值点为0,则在第二零值点统计信息的对应数据位记录0,若数值点不为0,则在第二零值点统计信息的对应数据位记录1。使用一个49位数据位的第二数据块存储第二零值点统计信息,各数据位对应记录7
×
7的权重矩阵数据的各数值点是否为零,若数值点为0,则在第二零值点统计信息的对应数据位记录0,若数值点不为0,则在第二零值点统计信息对应数据位记录1。
91.如果第一零值点统计信息、第二零值点统计信息的49位数据位全为1,则需要49个时钟。如果第一零值点统计信息、第二零值点统计信息的49位数据位中有为0的值,那么就会跳过0值所在数据位的乘法运算,减少时钟数量。
92.可选的,请参阅图4,步骤s101包括:
93.步骤s1011,确定所述硬件加速器的乘加单元数量;
94.步骤s1012,根据所述乘加单元数量确定所述多个特征图数据及所述多个权重数据,其中,各特征图数据为特征图矩阵数据,各权重数据为权重矩阵数据,分组数据的数量与所述硬件加速器的乘加单元数量相同。
95.在本实施例中,硬件加速器可以包括人工智能(artificial intelligence,ai)加速器、图形加速器(graphics processing unit,gpu)等。若硬件加速器包括8x64个乘加单元,则根据8x64个乘加单元可以确定64个特征图数据及8个权重数据,对应划分8x64份分组数据,分组数据包括一个特征图数据及对应的一个权重数据,将各分组数据分别输入对应的乘加单元进行数据处理。
96.这样,可以通过多个乘加单元同步对多份分组数据同时进行卷积处理,提高处理速度,节约处理时间。
97.可选的,所述待卷积数据为待卷积矩阵数据,步骤s104包括:
98.控制所述乘加单元遍历所述特征图矩阵数据的数值点,为遍历到的当前数值点构建与所述权重矩阵数据的行列数相同的待卷积矩阵数据。
99.举例来说,特征图数据可以为5
×
5的特征图矩阵数据,对应的权重矩阵数据为5
×
5的权重矩阵数据,基于5
×
5的权重矩阵数据及5
×
5的权重矩阵数据进行卷积运算时,需要预先为5
×
5的特征图矩阵数据的每个元素对应构建5
×
5矩阵,为每个元素构建的5
×
5矩阵即可以理解为用于执行卷积操作的待卷积数据。
100.可选的,所述为遍历到的当前数值点构建与所述权重矩阵数据的行列数相同的待卷积矩阵数据,包括:
101.若将所述当前数值点作为矩阵中心,能在所述特征图矩阵数据截取与所述权重矩阵数据的行列数相同的完整矩阵时,则将截取到的完整矩阵作为所述待卷积矩阵数据;
102.若将所述当前数值点作为矩阵中心,不能在所述特征图矩阵数据截取与所述权重矩阵数据的行列数相同的完整矩阵时,则将截取到的残缺矩阵补充完整,得到所述待卷积矩阵数据。
103.这样,可以为特征图矩阵数据的每一元素构建对应的待卷积矩阵,便于后续通过乘加单元进行卷积运算。
104.本实施例提供的数据卷积处理方法,获取多个特征图数据及多个权重数据;将所述多个特征图数据及所述多个权重数据划分为多份分组数据;将各分组数据输入硬件加速器对应的一个乘加单元;控制所述乘加单元对所述分组数据的特征图数据进行预处理,得到用于执行卷积操作的待卷积数据;控制所述乘加单元跳过所述待卷积数据的零值点及所述分组数据的权重数据的零值点,对所述待卷积数据的非零值点及所述分组数据的所述权重数据的非零值点执行卷积运算。这样,在卷积运算过程中去除无效计算,当乘法计算时权重数据或特征图数据至少出现一个零值,就会跳过此次乘法运算,进行下一次乘法运算,可以在卷积处理过程中去掉含零值的乘法运算,减少计算数量,加快运算速度,提高性能。
105.实施例2
106.此外,本公开实施例提供了一种数据卷积处理装置,应用于计算机设备。
107.具体的,如图5所示,数据卷积处理装置500包括:
108.获取模块501,用于获取多个特征图数据及多个权重数据;
109.划分模块502,用于将所述多个特征图数据及所述多个权重数据划分为多份分组数据,所述分组数据包括一个特征图数据及对应的一个权重数据;
110.输入模块503,用于将各分组数据输入硬件加速器对应的一个乘加单元;
111.预处理模块504,用于控制所述乘加单元对所述分组数据的特征图数据进行预处理,得到用于执行卷积操作的待卷积数据;
112.控制模块505,用于控制所述乘加单元跳过所述待卷积数据的零值点及所述分组数据的权重数据的零值点,对所述待卷积数据的非零值点及所述分组数据的所述权重数据的非零值点执行卷积运算。
113.可选的,控制模块505,还用于获取第一零值点统计信息及第二零值点统计信息,所述第一零值点统计信息的各数据位设置有所述待卷积数据的各数值点是否为零的标志,所述第二零值点统计信息的各数据位设置有所述分组数据的所述权重数据的各数值点是否为零的标志;
114.控制所述乘加单元根据所述第一零值点统计信息及所述第二零值点统计信息的数据位对应的标志获取所述待卷积数据的非零值点及所述权重数据的非零值点;
115.控制所述乘加单元对获取到的所述待卷积数据的非零值点及所述权重数据的非零值点进行卷积运算。
116.可选的,所述标志包括表示零值点的第一标志、及表示非零值点的第二标志,控制模块505,还用于控制所述乘加单元按照所述第一零值点统计信息及所述第二零值点统计信息的数据位排序遍历各数据位的标志,在所述第一零值点统计信息及所述第二零值点统计信息的数据位排序相同的当前数据位上遍历到至少一个所述第一标志时,跳过所述当前数据位对应的所述待卷积数据的数值点及所述权重数据的数值点;
117.在所述第一零值点统计信息及所述第二零值点统计信息的数据位排序相同的当前数据位上均遍历到所述第二标志时,获取所述当前数据位对应的所述待卷积数据的非零值点及所述权重数据的非零值点。
118.可选的,获取模块501,用于确定所述硬件加速器的乘加单元数量;
119.根据所述乘加单元数量确定所述多个特征图数据及所述多个权重数据,其中,各特征图数据为特征图矩阵数据,各权重数据为权重矩阵数据,分组数据的数量与所述硬件加速器的乘加单元数量相同。
120.可选的,所述待卷积数据为待卷积矩阵数据,预处理模块504,用于控制所述乘加单元遍历所述特征图矩阵数据的数值点,为遍历到的当前数值点构建与所述权重矩阵数据的行列数相同的待卷积矩阵数据。
121.可选的,预处理模块504,还用于若将所述当前数值点作为矩阵中心,能在所述特征图矩阵数据截取与所述权重矩阵数据的行列数相同的完整矩阵时,则将截取到的完整矩阵作为所述待卷积矩阵数据;
122.若将所述当前数值点作为矩阵中心,不能在所述特征图矩阵数据截取与所述权重矩阵数据的行列数相同的完整矩阵时,则将截取到的残缺矩阵补充完整,得到所述待卷积矩阵数据。
123.可选的,获取模块501,还用于根据输入的图像获取所述多个特征图数据;
124.从卷积层的输出通道获取所述多个权重数据。
125.本实施例提供数据卷积处理装置500可以实现实施例1所示数据卷积处理方法的相应流程,为避免重复,在此不再赘述。
126.本实施例提供的数据卷积处理装置,获取多个特征图数据及多个权重数据;将所述多个特征图数据及所述多个权重数据划分为多份分组数据;将各分组数据输入硬件加速器对应的一个乘加单元;控制所述乘加单元对所述分组数据的特征图数据进行预处理,得到用于执行卷积操作的待卷积数据;控制所述乘加单元跳过所述待卷积数据的零值点及所述分组数据的权重数据的零值点,对所述待卷积数据的非零值点及所述分组数据的所述权重数据的非零值点执行卷积运算。这样,在卷积运算过程中去除无效计算,当乘法计算时权重数据或特征图数据至少出现一个零值,就会跳过此次乘法运算,进行下一次乘法运算,可以在卷积处理过程中去掉含零值的乘法运算,减少计算数量,加快运算速度,提高性能。
127.实施例3
128.此外,本公开实施例提供了一种计算机设备,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行上述方法实施例1所提供的数据卷积处理方法。
129.本实施例提供的计算机设备可以实现实施例1所示数据卷积处理方法相应的流程,为避免重复,在此不再赘述。
130.本实施例提供的计算机设备,获取多个特征图数据及多个权重数据;将所述多个特征图数据及所述多个权重数据划分为多份分组数据;将各分组数据输入硬件加速器对应的一个乘加单元;控制所述乘加单元对所述分组数据的特征图数据进行预处理,得到用于执行卷积操作的待卷积数据;控制所述乘加单元跳过所述待卷积数据的零值点及所述分组数据的权重数据的零值点,对所述待卷积数据的非零值点及所述分组数据的所述权重数据的非零值点执行卷积运算。这样,在卷积运算过程中去除无效计算,当乘法计算时权重数据或特征图数据至少出现一个零值,就会跳过此次乘法运算,进行下一次乘法运算,可以在卷积处理过程中去掉含零值的乘法运算,减少计算数量,加快运算速度,提高性能。
131.实施例4
132.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现实施例1提供的数据卷积处理方法。
133.本实施例提供的计算机可读存储介质可以实现实施例1所示数据卷积处理方法相应的流程,为避免重复,在此不再赘述。
134.在本实施例中,计算机可读存储介质可以为只读存储器(read

only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
135.本实施例提计算机可读存储介质可以实施例1所示数据卷积处理方法,为避免重复,在此不再赘述。
136.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者终端中还存在另外的相同要素。
137.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
138.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1