数据处理方法和装置、电子设备、存储介质制造方法及图纸

技术编号:21377839 阅读:19 留言:0更新日期:2019-06-15 13:27
本公开实施例公开了一种数据处理方法和装置、电子设备、存储介质,其中,方法包括:基于待处理数据的大小和卷积核的大小,确定待处理数据对应的转换结果矩阵中至少一个第二数据块对待处理数据中的第一数据块的数据重用关系,基于转换结果矩阵中至少一个第二数据块对待处理数据中的第一数据块的数据重用关系,对待处理数据进行转换处理,得到转换结果矩阵,由于存在数据重用关系,加快了获得转换结果矩阵的速度,降低了将卷积计算转换为矩阵乘法的难度;对转换结果矩阵和卷积核进行矩阵乘法操作,获得待处理数据的卷积结果。

【技术实现步骤摘要】
数据处理方法和装置、电子设备、存储介质
本公开涉及深度学习技术,尤其是一种数据处理方法和装置、电子设备、存储介质。
技术介绍
深度学习网络在音频和图像处理等领域有着广泛的应用。卷积运算是深度学习中最核心的算子之一,它可以有效提取特征信息,在深度学习网络中至关重要。实现卷积算子主要有两类算法,第一类是基于矩阵乘法的普通算法,第二类是基于快速算法,能够提高卷积运算的速率,然而,基于快速算法的卷积运算的速率仍有待进一步提升。
技术实现思路
本公开实施例提供的一种数据处理技术。根据本公开实施例的一个方面,提供的一种数据处理方法,包括:基于待处理数据的大小和卷积核的大小,确定所述待处理数据对应的转换结果矩阵中至少一个第二数据块对所述待处理数据中的第一数据块的数据重用关系,其中,所述待处理数据包括N个图像,每个所述图像包括C个通道,所述N和C中的至少一项为大于1的整数;基于所述转换结果矩阵中至少一个第二数据块对所述待处理数据中的第一数据块的数据重用关系,对所述待处理数据进行转换处理,得到所述转换结果矩阵;对所述转换结果矩阵和所述卷积核进行矩阵乘法操作,获得所述待处理数据的卷积结果。可选地,在本公开上述任一方法实施例中,所述第一数据块包括所述图像在一个通道中的一行数据。可选地,在本公开上述任一方法实施例中,所述第二数据块为大小为R×P的数据块,其中,R为所述卷积核的列数,P为利用所述卷积核对所述待处理数据进行卷积操作时在每个通道中横向滑动的次数。可选地,在本公开上述任一方法实施例中,所述第一数据块对应的所述至少一个第二数据块的个数依赖于所述第一数据块在所述第一数据块所属通道中对应的行数。可选地,在本公开上述任一方法实施例中,若所述第一数据块对应的行数L小于所述卷积核的列数R,所述第一数据块对应的第二数据块的数量为L;若所述第一数据块对应的行数L大于或等于R且小于或等于Q,所述第一数据块对应的第二数据块的数量为R;若所述第一数据块对应的行数L大于Q,所述第一数据块对应的第二数据块的数量为Q+S-1-L。可选地,在本公开上述任一方法实施例中,所述至少一个第二数据块为多个第二数据块,所述第一数据块对应的所述多个第二数据块包括至少一个数据块组,其中,每个所述数据块组包括所述多个第二数据块中两个相邻的第二数据块,其中,所述数据块组中一个第二数据块的右邻居数据块为所述数据块组中另一个第二数据块的下邻居。可选地,在本公开上述任一方法实施例中,所述基于所述转换结果矩阵中至少一个第二数据块对所述待处理数据中的第一数据块的数据重用关系,对所述待处理数据进行转换处理,得到所述转换结果矩阵,包括:基于所述转换结果矩阵中至少一个第二数据块对所述待处理数据中的第一数据块的数据重用关系,为所述待处理数据中的每个所述第一数据块分配线程块;利用为所述第一数据块分配的线程块从所述待处理数据中读取所述第一数据块,并将读取的所述第一数据块写入所述转换结果矩阵中对所述第一数据块具有重用关系的至少一个第二数据块。可选地,在本公开上述任一方法实施例中,所述基于所述转换结果矩阵中多个第二数据块对所述待处理数据中的第一数据块的数据重用关系,为所述待处理数据中的每个所述第一数据块分配线程块,包括:基于多个线程块中每个线程块的编号,确定所述每个线程块在所述待处理数据中对应的第一数据块;将所述多个线程块中每个线程块分配给所述每个线程块对应的第一数据块。可选地,在本公开上述任一方法实施例中,所述基于多个线程块中每个线程块的编号,确定所述每个线程块在所述待处理数据中对应的第一数据块,包括:基于所述多个线程块中第一线程块的编号、所述待处理数据中每个图像包含的通道数量C、和每个所述通道需要的线程块数量,确定所述第一线程块在所述待处理数据中对应的图像、图像中的通道以及通道中的第一数据块所对应的行。可选地,在本公开上述任一方法实施例中,还包括:利用为所述第一数据块分配的线程块,将读取的所述第一数据块存储到共享内存中;所述将读取的所述第一数据块写入转换结果矩阵中对所述第一数据块具有重用关系的至少一个第二数据块,包括:读取所述共享内存中存储的所述第一数据块的至少一部分,并将读取的数据写入所述转换结果矩阵中的第二数据块。可选地,在本公开上述任一方法实施例中,每个所述线程块包括T个线程;在利用为所述第一数据块分配的线程块,将读取的所述第一数据块存储到共享内存中之前,还包括:基于所述共享内存的大小W与所述线程个数T,确定所述T个线程中每个线程读取的所述第一数据块的数据。可选地,在本公开上述任一方法实施例中,所述利用为所述第一数据块分配的线程块从所述待处理数据中读取所述第一数据块,并将读取的所述第一数据块写入所述转换结果矩阵中对所述第一数据块具有重用关系的至少一个第二数据块,包括:通过为所述第一数据块分配的线程块对所述第一数据块进行滑动读取,并将每次读取到的数据写入所述第一数据块对应的每个所述第二数据块中的一行。根据本公开实施例的另一个方面,提供的一种数据处理方法,包括:读取待处理数据中多个第一数据块中的每个第一数据块,其中,所述待处理数据包括N个图像,每个所述图像包括C个通道,所述N和C中的至少一项为大于1的整数;将所述第一数据块写入转换结果矩阵中与所述第一数据块对应的至少一个第二数据块,得到所述转换结果矩阵,其中,所述至少一个第二数据块重用所述第一数据块;对所述转换结果矩阵和卷积核进行矩阵乘法操作,获得所述待处理数据的卷积结果。可选地,在本公开上述任一方法实施例中,所述第一数据块包括所述图像在一个通道中的一行数据。可选地,在本公开上述任一方法实施例中,所述第二数据块为大小为R×P的数据块,其中,R为所述卷积核的列数,P为利用所述卷积核对所述待处理数据进行卷积操作时在每个通道中横向滑动的次数。可选地,在本公开上述任一方法实施例中,所述第一数据块对应的所述至少一个第二数据块的个数依赖于所述第一数据块在所述第一数据块所属通道中对应的行数。可选地,在本公开上述任一方法实施例中,若所述第一数据块对应的行数L小于所述卷积核的列数R,所述第一数据块对应的第二数据块的数量为L;若所述第一数据块对应的行数L大于或等于R且小于或等于Q,所述第一数据块对应的第二数据块的数量为R;若所述第一数据块对应的行数L大于Q,所述第一数据块对应的第二数据块的数量为Q+S-1-L。可选地,在本公开上述任一方法实施例中,所述至少一个第二数据块为多个第二数据块,所述第一数据块对应的所述多个第二数据块包括至少一个数据块组,其中,每个所述数据块组包括所述多个第二数据块中两个相邻的第二数据块,其中,所述数据块组中一个第二数据块的右邻居数据块为所述数据块组中另一个第二数据块的下邻居。可选地,在本公开上述任一方法实施例中,所述将所述第一数据块写入转换结果矩阵中与所述第一数据块对应的至少一个第二数据块,得到所述转换结果矩阵之前,还包括:基于待处理数据的大小和所述卷积核的大小,确定所述转换结果矩阵中的所述至少一个第二数据块与所述第一数据块的数据重用关系;所述将所述第一数据块写入转换结果矩阵中与所述第一数据块对应的至少一个第二数据块,包括:基于所述转换结果矩阵中的所述至少一个第二数据块与所述第一数据块的数据重用关系,将所述第一数据块写本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:基于待处理数据的大小和卷积核的大小,确定所述待处理数据对应的转换结果矩阵中至少一个第二数据块对所述待处理数据中的第一数据块的数据重用关系,其中,所述待处理数据包括N个图像,每个所述图像包括C个通道,所述N和C中的至少一项为大于1的整数;基于所述转换结果矩阵中至少一个第二数据块对所述待处理数据中的第一数据块的数据重用关系,对所述待处理数据进行转换处理,得到所述转换结果矩阵;对所述转换结果矩阵和所述卷积核进行矩阵乘法操作,获得所述待处理数据的卷积结果。

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:基于待处理数据的大小和卷积核的大小,确定所述待处理数据对应的转换结果矩阵中至少一个第二数据块对所述待处理数据中的第一数据块的数据重用关系,其中,所述待处理数据包括N个图像,每个所述图像包括C个通道,所述N和C中的至少一项为大于1的整数;基于所述转换结果矩阵中至少一个第二数据块对所述待处理数据中的第一数据块的数据重用关系,对所述待处理数据进行转换处理,得到所述转换结果矩阵;对所述转换结果矩阵和所述卷积核进行矩阵乘法操作,获得所述待处理数据的卷积结果。2.根据权利要求1所述的方法,其特征在于,所述第一数据块包括所述图像在一个通道中的一行数据。3.根据权利要求1或2所述的方法,其特征在于,所述第二数据块为大小为R×P的数据块,其中,R为所述卷积核的列数,P为利用所述卷积核对所述待处理数据进行卷积操作时在每个通道中横向滑动的次数。4.一种数据处理方法,其特征在于,包括:读取待处理数据中多个第一数据块中的每个第一数据块,其中,所述待处理数据包括N个图像,每个所述图像包括C个通道,所述N和C中的至少一项为大于1的整数;将所述第一数据块写入转换结果矩阵中与所述第一数据块对应的至少一个第二数据块,得到所述转换结果矩阵,其中,所述至少一个第二数据块重用所述第一数据块;对所述转换结果矩阵和卷积核进行矩阵乘法操作,获得所述待处理数据的卷积结果。5.一种数据处理装置,其特征在于,包括:数据重用关系确定单元,用于基于待处理数据的大小和卷积核的大小,确定所述待处理数据对应的转换结果矩阵中至少一个第二数据块对所述待处理数据中的第一数据块的数据重用关系,...

【专利技术属性】
技术研发人员:李秀红梁云颜深根张衡贾连成
申请(专利权)人:上海商汤智能科技有限公司
类型:发明
国别省市:上海,31

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

1