一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种卷积神经网络的加速方法及卷积神经网络加速器

2022-06-25 08:49:47 来源:中国专利 TAG:


1.本发明涉及神经网络技术领域,尤其涉及一种卷积神经网络的加速方法及卷积神经网络加速器。


背景技术:

2.随着卷积神经网络的发展,卷积神经网络被广泛应用于计算机视觉、语音识别、自然语言处理、自动驾驶等领域。卷积神经网络在处理过程中会进行较为复杂的计算,其中包括卷积计算。
3.目前,在卷积计算过程中,当输入特征图数据的通道数量远小于卷积神经网络加速器中的pe运算阵列的通道数量时,通常是将该输入特征数据直接填充零的方式使其适配pe运算阵列的通道数量,以进行后续的乘累积运算,然而,这会导致这一卷积计算过程中的pe运算阵列的资源利用率较低,运算时间较长。


技术实现要素:

4.本发明提供一种卷积神经网络的加速方法及卷积神经网络加速器,以解决现有技术中pe运算阵列资源利用率较低,运算时间较长的问题,本发明能够提高pe运算阵列资源利用率,进而缩短运算时间。
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.与现有技术相比,本发明实施例提供的一种卷积神经网络的加速方法及卷积神经网络加速器,通过在输入特征图数据进行乘累加运算之前,将输入特征图数据拼接成一个待填充输入数据,并将待填充输入数据的剩余通道进行填充处理,使得所有输入特征图数据拼接成一个输入数据,能够提高pe运算阵列进行乘累加运算的资源利用率,进而缩短运算时间。
附图说明
42.图1是本发明实施例提供的一种卷积神经网络的加速方法的流程图;
43.图2是本发明实施例提供的对缓存区的输入特征图数据进行滑窗处理的示意图。
44.图3是本发明实施例提供的将选择到的所有输入特征图数据拼接成一个输入数据的示意图;
45.图4是现有技术提供的卷积神经网络的加速方法的示意图。
具体实施方式
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.参见图1,图1是本发明实施例提供的一种卷积神经网络的加速方法的流程图,所述卷积神经网络的加速方法,包括:
48.s1、获取当前卷积层的原始输入特征图数据的总通道数;其中,所述原始输入特征图数据存储于片外存储器;
49.s2、当所述总通道数小于预设的通道数阈值时,判断所述原始输入特征图数据的尺寸是否大于预设的尺寸阈值;
50.s3、当判断到所述原始输入特征图数据的尺寸大于预设的尺寸阈值时,对所述原始输入特征图数据进行分块处理,得到若干输入特征图数据;
51.s4、获取任一所述输入特征图数据的地址信息;
52.s5、根据所述地址信息,将所述输入特征图数据拼接成一个待填充输入数据,并将所述待填充输入数据的剩余通道进行填充处理,得到一个输入数据;
53.s6、利用预先读取到的权重数据,对所述输入数据进行乘累加运算,得到卷积计算结果。
54.需要说明的是,本发明实施例适用于通道总数量较少的原始输入特征图数据,一般是指图像的第一层卷积层。
55.示例性的,在本发明实施例的第一层卷积计算中,输入特征图数据的通道数量为3,卷积核(kernel)的尺寸为3*3,由于通道数量远小于pe运算阵列规模n(pe运算阵列的行数),故采用本发明实施例对原始输入特征图数据进行处理,得到每一输入特征图数据拼接成的每一输入数据,以根据每一输入特征数据进行卷积计算,得到当前卷积层的卷积计算结果。
56.具体地,在步骤s1所述获取当前卷积层的原始输入特征图数据的总通道数之前,所述卷积神经网络的加速方法还包括:
57.按照预设的存储方式将当前卷积层的原始输入特征图数据存储至片外存储器。
58.优选地,所述存储方式为连续存储。
59.具体地,在步骤s1中,所述片外存储器为双倍速率同步动态随机存储器。
60.可以理解的是,在本发明实施例中输入特征图数据在双倍速率同步动态随机存储器(double data rate sdram,ddr)中的存储的方式是连续存储的,即对于任意一点(h0,w0),不同通道的输入特征图数据在ddr中存储的地址是相邻的。
61.具体地,在步骤s2所述当所述总通道数小于预设的通道数阈值时,判断所述原始输入特征图数据的尺寸是否大于预设的尺寸阈值之后,所述卷积神经网络的加速方法还包括:
62.当判断到所述原始输入特征图数据的尺寸不大于预设的尺寸阈值时,将所述原始输入特征图数据作为输入特征图数据。
63.示例性的,在步骤s3中,当一h*w*c*bw的原始输入特征图数据的尺寸大于预设的尺寸阈值时,将原始输入特征图数据分成若干块h*w*c*bw的输入特征图数据;其中,h、h分别为分块前和分块后的特征图的高度,w、w分别为分块前和分块后的特征图的宽度,c、c分别为分块前和分块后的特征图的通道数量,bw为分块前和分块后的输入特征图数据的位宽;在一具体实施例中,当c小于等于pe运算阵列的规模n时,c=c,即分块后的特征图的通道数量和分块前的特征图的通道数量相等,仅在特征图宽、高两个维度上对特征图进行分块处理。
64.在每一层卷积计算中,分块后的输入特征图数据的尺寸是固定的。本发明实施例根据算法、硬件规模,计算出分块后的输入特征图数据的最优尺寸,依据获取到的最优尺寸对所述原始输入特征图数据进行分块处理,得到若干输入特征图数据;该算法主要通过多线程进行穷举,算法通过输入加速器的硬件规模,如片上存储资源的大小,神经网络的配置(filter的个数,输入特征图的尺寸等),片内资源与片上资源间数据传输的带宽、自定义的一些约束条件等选择出runtime最小时,得到输入特征子图(分块后的输入特征图数据)的尺寸,即得到了最优的特征子图的尺寸。
65.在后续的数据读取过程中,从ddr中读取的数据是按照输入特征图数据的行来读
取的,即一行的数据量为任一分块后的输入特征图数据的列数*数据位宽*通道数。
66.具体地,在步骤s4中,所述获取任一所述输入特征图数据的地址信息,包括:
67.获取任一所述输入特征图数据中相邻两行数据之间的地址偏移量及所述输入特征图数据的首地址;
68.将所述地址偏移量与所述首地址相加,得到所述输入特征图数据的地址信息。
69.在本发明实施例中,地址偏移量是指输入特征图数据相邻两行的地址偏移量,因此,在后续的根据地址信息读取数据的过程中,本发明实施例能够一次读取一行数据,进一步提升了从片外存储器向缓存区读取数据的效率;示例性的,第一层输入特征图数据通道数为3,特征图数据量化为8bit,通过axi接口一次读回输入特征图中某一行的数据。
70.具体地,根据axi协议,以burst方式读取数据时,若读取到ddr中的地址为0x00,读取数据长度为256bit,读取次数为1,那么可以读取到从0x00为起点的256bit数据。若读取到ddr中的地址为0x01,读取数据长度为256bit,读取次数为1时,会产生非对齐传输,则读出的数据仍为0x00为起点的256bit数据,为保证读出的数据中包含全部的输入特征图数据,需将读取次数设为2,才能筛选出从0x01为起点的256bit输入特征图数据。
71.当数据长度为256bit时,二进制地址的低五位是被屏蔽掉的。因此在通过axi接口从ddr中读取输入特征图数据时,若读取到的输入特征图数据的长度为256位,根据读取到的ddr的地址,取其二进制地址的低五位,即可确定实际读地址与读地址的地址偏移量,从而筛选出输入特征图数据。
72.具体地,在步骤s5中,所述根据所述地址信息,将所述输入特征图数据拼接成一个待填充输入数据,并将所述待填充输入数据的剩余通道进行填充处理,得到一个输入数据,包括:
73.s51、根据所述地址信息,从所述片外存储器中读取所述输入特征图数据,并将读取到的输入特征图数据暂存至片上存储器的缓存区;其中,所述输入特征图数据的列数小于所述缓存区的列数;
74.s52、在将读取到的输入特征图数据暂存至所述缓存区的过程中,获取当前暂存的输入特征图数据位于所述缓存区内的位置;
75.s53、判断所述位置是否位于预先确定的规定位置,若是,基于卷积核的尺寸和所述当前卷积层的卷积步长对所述缓存区进行滑窗处理;
76.s54、在进行滑窗处理时,将滑窗内的所有输入特征图数据拼接成一个待填充输入数据,并将所述待填充输入数据的剩余通道进行填充处理,得到一个输入数据。
77.具体地,在步骤s51所述根据所述地址信息,从所述片外存储器中读取所述输入特征图数据,并将读取到的输入特征图数据暂存至片上存储器的缓存区,包括;
78.从所述地址信息开始读取输入特征图数据,当所述输入特征图数据的地址跨越地址边界时,截断超出跨越地址边界的输入特征图数据,继续从截断处开始读取输入特征图数据,直至读取到所述片外存储器内的所有输入特征图数据,将所述输入特征图数据从所述片外存储器暂存至片上存储器的缓存区。
79.在本发明实施例中,在对输入特征图数据进行处理前,需要对输入数据进行暂存操作;同时由于加速器的片上存储有限,无法完全暂存一层的输入特征图,因此需要对特征图进行分块,每次加载一块特征图到加速器内部的缓存即片上存储器的缓存区,加速器内
部的缓存是乒乓缓存,其中一块缓存着当前进行计算的输入特征图数据,另一块同时从片外存储器加载下一组要计算的输入特征图数据。
80.根据axi4协议,axi的burst操作不能跨越4k边界,slave地址空间一般为4kb的整数倍,若一次burst传输跨越了两个slave,则会导致数据读取的错误。因此,在将所述输入特征图数据暂存至所述缓存区的过程中,对读取数据的地址、突发长度进行筛选,对发生跨越地址边界的情况进行截断,分成两次对输入特征图数据进行读取,从而避免读取出错误的输入特征图数据。在本发明实施例中,对读取ddr的地址和读取的数据长度进行判断,对不满足协议要求的地址进行处理,对过长的数据进行截断,并对数据有效位进行选取。
81.具体地,在步骤s52中,在将读取到的输入特征图数据暂存至所述缓存区的过程中,获取正在暂存的输入特征图数据位于所述缓存区内的行数。
82.在又一可选实施例中,在将读取到的输入特征图数据暂存至所述缓存区的过程中,所述卷积神经网络的加速方法还包括:
83.判断所述缓存区的存储空间是否被存满,若是,暂停读取输入特征图数据,待所述缓存区的输入特征图数据拼接完成后,继续读取输入特征图数据,并将读取到的输入特征图数据暂存至所述缓存区。
84.可以理解的是,读取数据的速度快于拼接数据的速度,因此,当读取到的数据将缓存区内的存储空间占满时,暂停读取输入特征图数据,待将所述缓存区的输入特征图数据拼接完成后,该区域可以被新读取到的输入特征图数据覆盖。
85.在又一可选实施例中,在步骤s52在将读取到的输入特征图数据暂存至所述缓存区的过程中,获取当前暂存的输入特征图数据位于所述缓存区内的位置之后,所述卷积神经网络的加速方法还包括:
86.判断位于所述位置的这一行的所有输入特征图数据是否拼接成一个待填充输入数据;
87.若是,将新读取到的输入特征图数据暂存至所述位置的这一行中;
88.若否,暂停读取输入特征图数据,待所述缓存区的输入特征图数据拼接完成后,继续读取输入特征图数据,并将读取到的输入特征图数据暂存至所述缓存区。
89.具体地,在步骤s53中,当判断到正在暂存的输入特征图数据位于所述缓存区内的行数位于预先确定的规定行数(规定位置)时,开始进行滑窗处理。优选地,根据所述卷积核的行数确定所述规定位置。
90.值得说明的是,暂存的输入特征图数据的行数达到开始拼接数据的条件是根据kernel卷积核的尺寸决定的,暂存的输入特征图数据每一行的列数是根据输入至缓存区的输入特征图数据或者说是分块后的输入特征图数据的列数来决定的。例如,加速器内部申请一个6*m大小的buf来暂存这些数据即buf最多可以存储6行输入特征图数据,因此,本发明实施例需要满足存入buf的输入特征图数据的列数《=m这一条件。
91.可以理解的是,输入特征图数据的暂存的处理过程类似于流水线。当暂存的输入特征图数据量达到规定位置时,便开始将暂存的输入特征图数据进行输入特征图数据的拼接操作。对输入特征图数据的处理类似于滑窗操作,从ddr中持续读取任一分块的输入特征图数据,并存放至暂存的buf(片上存储器的缓存区)中,当buf为满时,停止从ddr中读取输入特征图数据。当输入特征图数据拼接完成后,部分buf中的空间将被释放,从而可以继续
从ddr中读取输入特征图数据,直至该分块输入特征图数据全部读至加速器中。
92.具体地,在步骤s53中,所述判断所述位置是否位于预先确定的规定位置,若是,基于卷积核的尺寸和所述当前卷积层的卷积步长对所述缓存区进行滑窗处理,包括:
93.判断所述位置是否位于预先确定的规定位置;
94.若是,利用预先构建的每一滑窗窗口,分别对所述缓存区内的每一通道的输入特征图数据进行滑窗处理;其中,根据所述卷积核的尺寸确定所述滑窗窗口的尺寸;根据所述当前卷积层的卷积步长确定所述滑窗窗口的滑动步长。
95.示例性的,第一层输入特征图分块为10*10,卷积步长为1,卷积核尺寸为3*3。如图2所示,图2为对三通道中某一通道进行拼接的示例。该实例中,卷积核的尺寸为3*3,当暂存的输入特征图数据达到3行时,开始进行拼接操作,第一次拼接选择的数据是以(0,0)为起点的9个数据。由于卷积步长为1,第二次拼接的数据是以(0,1)为起点的9个数据,直至当以第0行为起点的输入特征图数据全部拼接完成后输入至ibuf的ram。根据卷积步长的设置,以第1行为起点进行输入特征图数据的拼接,如图2所示的黑色部分的数据即为使用完成的数据,可以被覆盖,可以存入其他从ddr中读取的输入特征图数据,直至数据全部被选择完毕。
96.具体地,在步骤s54,在所述在进行滑窗处理时,将滑窗内的所有输入特征图数据拼接成一个待填充输入数据,并将所述待填充输入数据的剩余通道进行填充处理,得到一个输入数据后,所述卷积神经网络的加速方法还包括:
97.将得到的输入数据读取至输入缓冲器(ibuf)的随机存取存储器(ram)。
98.可以理解的是,输入特征图的尺寸不能超过随机存取存储器的大小。
99.示例性的,如图3所示(下标表示通道),将选择到的所有输入特征图数据拼接成一个待填充输入数据,将剩余的通道数填充0,以满足pe运算阵列的规模。在填充0后得到的输入数据中,对于任一点的不同通道的数据是相邻的。
100.由于输入特征图数据的通道数量小于pe运算阵列n的通道数,为了满足pe运算阵列的规模,现有技术是采用对输入特征图数据、权重数据进行padding操作填充0后存入加速器的ram中。如图4所示,当卷积核尺寸为3*3时,使用该方法需要从ram中读取9次才能算出卷积技术结果,这导致pe运算阵列利用率较低,耗费的时钟周期数较多。而在本发明实施例中,将输入数据及权重数据读取至预先配置后的pe运算阵列以实现乘累加运算,此时,pe运算阵列只需读取一次,就能读取到所有输入特征图数据。
101.具体地,在步骤s6中,在pe运算阵列中实现当前卷积层的卷积计算。本发明实施例所提供的一种卷积神经网络的加速方法,通过在输入特征图数据进行乘累加运算之前,将输入特征图数据拼接成一个待填充输入数据,并将待填充输入数据的剩余通道进行填充处理,使得所有输入特征图数据拼接成一个输入数据,能够提高pe运算阵列进行乘累加运算的资源利用率,进而缩短运算时间。
102.本发明实施例提供的一种卷积神经网络加速器,包括控制器,所述控制器被配置为:
103.获取当前卷积层的原始输入特征图数据的总通道数;其中,所述原始输入特征图数据存储于片外存储器;
104.当所述总通道数小于预设的通道数阈值时,判断所述原始输入特征图数据的尺寸
是否大于预设的尺寸阈值;
105.当判断到所述原始输入特征图数据的尺寸大于预设的尺寸阈值时,对所述原始输入特征图数据进行分块处理,得到若干输入特征图数据;
106.获取任一所述输入特征图数据的地址信息;
107.根据所述地址信息,将所述输入特征图数据拼接成一个待填充输入数据,并将所述待填充输入数据的剩余通道进行填充处理,得到一个输入数据;
108.利用预先读取到的权重数据,对所述输入数据进行乘累加运算,得到卷积计算结果。
109.优选地,所述根据所述地址信息,将所述输入特征图数据拼接成一个待填充输入数据,并将所述待填充输入数据的剩余通道进行填充处理,得到一个输入数据,包括:
110.根据所述地址信息,从所述片外存储器中读取所述输入特征图数据,并将读取到的输入特征图数据暂存至片上存储器的缓存区;其中,所述输入特征图数据的列数小于所述缓存区的列数;
111.在将读取到的输入特征图数据暂存至所述缓存区的过程中,获取当前暂存的输入特征图数据位于所述缓存区内的位置;
112.判断所述位置是否位于预先确定的规定位置,若是,基于卷积核的尺寸和所述当前卷积层的卷积步长对所述缓存区进行滑窗处理;
113.在进行滑窗处理时,将滑窗内的所有输入特征图数据拼接成一个待填充输入数据,并将所述待填充输入数据的剩余通道进行填充处理,得到一个输入数据。
114.优选地,所述判断所述位置是否位于预先确定的规定位置,若是,基于卷积核的尺寸和所述当前卷积层的卷积步长对所述缓存区进行滑窗处理,包括:
115.判断所述位置是否位于预先确定的规定位置;
116.若是,利用预先构建的每一滑窗窗口,分别对所述缓存区内的每一通道的输入特征图数据进行滑窗处理;其中,根据所述卷积核的尺寸确定所述滑窗窗口的尺寸;根据所述当前卷积层的卷积步长确定所述滑窗窗口的滑动步长。
117.优选地,所述根据所述地址信息,从所述片外存储器中读取所述输入特征图数据,并将读取到的输入特征图数据暂存至片上存储器的缓存区,包括;
118.从所述地址信息开始读取输入特征图数据,当所述输入特征图数据的地址跨越地址边界时,截断超出跨越地址边界的输入特征图数据,继续从截断处开始读取输入特征图数据,直至读取到所述片外存储器内的所有输入特征图数据,将所述输入特征图数据从所述片外存储器暂存至片上存储器的缓存区。
119.优选地,所述控制器被配置为:
120.判断所述缓存区的存储空间是否被存满,若是,暂停读取输入特征图数据,待所述缓存区的输入特征图数据拼接完成后,继续读取输入特征图数据,并将读取到的输入特征图数据暂存至所述缓存区。
121.优选地,在所述在将读取到的输入特征图数据暂存至所述缓存区的过程中,获取当前暂存的输入特征图数据位于所述缓存区内的位置之后,所述卷积神经网络的加速方法还包括:
122.判断位于所述位置的这一行的所有输入特征图数据是否拼接成一个待填充输入
数据;
123.若是,将新读取到的输入特征图数据暂存至所述位置的这一行中;
124.若否,暂停读取输入特征图数据,待所述缓存区的输入特征图数据拼接完成后,继续读取输入特征图数据,并将读取到的输入特征图数据暂存至所述缓存区。
125.优选地,根据所述卷积核的行数确定所述规定位置。
126.优选地,所述控制器被配置为:
127.按照预设的存储方式将当前卷积层的原始输入特征图数据存储至片外存储器。
128.优选地,所述获取任一所述输入特征图数据的地址信息,包括:
129.获取任一所述输入特征图数据中相邻两行数据之间的地址偏移量及所述输入特征图数据的首地址;
130.将所述地址偏移量与所述首地址相加,得到所述输入特征图数据的地址信息。
131.值得说明的是,本发明实施例所述的卷积神经网络加速器中的工作过程可参考上述实施例所述的卷积神经网络的加速方法的工作过程,在此不再赘述。
132.本发明实施例所提供的一种卷积神经网络加速器,通过在输入特征图数据进行乘累加运算之前,将输入特征图数据拼接成一个待填充输入数据,并将待填充输入数据的剩余通道进行填充处理,使得所有输入特征图数据拼接成一个输入数据,能够提高pe运算阵列进行乘累加运算的资源利用率,进而缩短运算时间。
133.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献