System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及深度学习,尤其涉及一种计算图的处理方法、装置、设备、存储介质及程序。
技术介绍
1、三方推理平台可以通过一个或多个硬件处理器,对神经网络对应的初始中间表示进行编译,得到编译模型。例如,硬件处理器可以为网络处理器(neural processing unit,npu)、或者图形处理器(graphics processing unit,gpu)等,神经网络对应的初始中间表示可以为计算图。
2、随着深度学习的不断发展,三方推理平台可以向用户提供初始中间表示对应的编译模型,而不提供初始中间表示。然而,用户难以根据编译模型确定生成编译模型的硬件处理器,难以确定硬件处理器对初始中间表示的编译方式,使得了解和探究编译模型的难度较大。
技术实现思路
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、一种可能的实现方式本文档来自技高网...
【技术保护点】
1.一种计算图的处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,通过所述硬件处理器对对应的至少一个初始算子进行预处理,得到所述硬件处理器对应的至少一个计算子图,包括:
3.根据权利要求2所述的方法,其特征在于,针对任意一个初始算子组;通过所述硬件处理器对所述初始算子组中的初始算子进行预处理,得到所述初始算子组对应的计算子图,包括:
4.根据权利要求1-3任一项所述的方法,其特征在于,根据每个硬件处理器对应的至少一个计算子图,确定硬件处理器对所述初始计算图进行编译后的编译计算图,包括:
5.根据权利要求4所述的方法,其特征在于,针对任意一个计算子图;确定计算子图对应的编译节点,包括:
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求4-6任一项所述的方法,其特征在于,所述方法还包括:
8.一种计算图的处理装置,其特征在于,所述装置包括:获取模块、确定模块和预处理模块,其中,
9.一种计算图的处理设备,其特征在于,包括:处理器,以及与
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被计算机执行时实现如权利要求1至7中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被计算机执行时实现如权利要求1至7中任一项所述的方法。
...【技术特征摘要】
1.一种计算图的处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,通过所述硬件处理器对对应的至少一个初始算子进行预处理,得到所述硬件处理器对应的至少一个计算子图,包括:
3.根据权利要求2所述的方法,其特征在于,针对任意一个初始算子组;通过所述硬件处理器对所述初始算子组中的初始算子进行预处理,得到所述初始算子组对应的计算子图,包括:
4.根据权利要求1-3任一项所述的方法,其特征在于,根据每个硬件处理器对应的至少一个计算子图,确定硬件处理器对所述初始计算图进行编译后的编译计算图,包括:
5.根据权利要求4所述的方法,其特征在于,针对任意一个计算子图;确定计算子图对应的编译节点,包括:<...
【专利技术属性】
技术研发人员:魏秉坤,昌晶,连朔,
申请(专利权)人:西安紫光展锐科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。