System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
技术介绍
1、随着人工智能(artificial intelligence,ai)技术的不断发展,各类ai模型在不同领域得到了广泛应用,同时也对硬件的计算架构提出了新要求。卷积、全连接和矩阵乘运算是各类深度学习网络中最基本、计算量最大的算子,因此基于深度学习网络进行数据处理的电子设备其数据处理效率与这些算子的运算效率息息相关。
2、目前,电子设备在基于深度学习网络进行数据处理时会基于img2col(image tocolumn)进行通用矩阵乘法(general matrix multiplication,gemm)运算,然而相关技术中电子设备基于深度学习网络的数据处理效率较低,无法满足相关业务的业务需求。
技术实现思路
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、基于所述通用矩阵处理引擎在每个时钟周期的数据吞吐量,将所述输入数据划分为多个输入数据块,每个所述输入数据块的数据量为所述数据吞吐量,每个所述输入数据块的内部数据为z型排布,所述输入数据块之间在通道方向上连续。
30、在一示例性的实施方式中,所述基于所述通用矩阵处理引擎在每个时钟周期的数据吞吐量,将所述输入数据划分为多个输入数据块,包括:
31、在所述输入数据的尺寸非所述数据吞吐量所指示尺寸的整数倍的情况下,对所述输入数据进行数据补齐处理,得到补齐后输入数据;所述补齐后输入数据的尺寸为所述数据吞吐量所指示尺寸的整数倍;
32、基于所述通用矩阵处理引擎在每个时钟周期的数据吞吐量,将所述补齐后输入数据划分为所述多个输入数据块。
33、根据本公开实施例的第二方面,提供一种数据处理装置,包括:
34、输入数据块获取单元,被配置为执行响应于对目标输入特征图的数据处理指令,从所述目标输入特征图在内存中对应的输入数据块排布中获取目标输入数据块;所述输入数据块排布基于通用矩阵处理引擎在每个时钟周期的数据吞吐量,将所述目标输入特征图划分为多个输入数据块并按照预设排布方式存入所述内存得到;
35、输入数据块缓存单元,被配置为执行对所述目标输入数据块进行缓存;
36、数据处理模块,被配置为执行基于缓存的所述目标输入数据块,利用所述通用矩阵处理引擎进行矩阵乘法运算处理,得到数据处理结果。
37、在一示例性的实施方式中,所述数据处理模块包括:
38、矩阵转换单元,被配置为执行根据当前卷积层的卷积参数,对缓存的所述目标输入数据块进行矩阵转换;本文档来自技高网...
【技术保护点】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于缓存的所述目标输入数据块,利用所述通用矩阵处理引擎进行矩阵乘法运算处理,得到数据处理结果包括:
3.根据权利要求2所述的数据处理方法,其特征在于,所述响应于对于目标输入特征图的数据处理指令,从所述目标输入特征图在内存中对应的输入数据块排布中获取目标输入数据块,包括:
4.根据权利要求3所述的数据处理方法,其特征在于,所述根据当前卷积层的卷积参数,对缓存的所述目标输入数据块进行矩阵转换,包括:
5.根据权利要求4所述的数据处理方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的数据处理方法,其特征在于,所述根据所述卷积参数对所述当前的待处理输入数据块进行矩阵展开,包括:
7.根据权利要求1~6中任一所述的数据处理方法,其特征在于,在响应于对目标输入特征图的数据处理指令,从所述目标输入特征图在内存对应的输入数据块排布中获取目标输入数据块之前,所述方法还包括:
8.根据权利要求7所述的数据处理方法
9.一种数据处理装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括:
11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1至8中任一项所述的数据处理方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的数据处理方法。
...【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于缓存的所述目标输入数据块,利用所述通用矩阵处理引擎进行矩阵乘法运算处理,得到数据处理结果包括:
3.根据权利要求2所述的数据处理方法,其特征在于,所述响应于对于目标输入特征图的数据处理指令,从所述目标输入特征图在内存中对应的输入数据块排布中获取目标输入数据块,包括:
4.根据权利要求3所述的数据处理方法,其特征在于,所述根据当前卷积层的卷积参数,对缓存的所述目标输入数据块进行矩阵转换,包括:
5.根据权利要求4所述的数据处理方法,其特征在于,所述方法还包括:
6.根据权利要求4所述的数据处理方法,其特征在于,所述根据所述卷积参数对所述当前的待处理输入数据块进行矩阵展开,包括:
7.根据...
【专利技术属性】
技术研发人员:党衍斌,杨超,吉祥虎,钟辉,李钦,刘凌志,
申请(专利权)人:北京达佳互联信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。