图处理方法、数据处理方法、装置及电子设备与流程
- 国知局
- 2024-09-14 14:48:34
本技术涉及人工智能,特别是涉及一种图处理方法、数据处理方法、装置及电子设备。
背景技术:
1、目前,可以通过将神经网络模型中的算子进行划分,然后将划分后的算子派发至各类加速硬件设备上进行神经网络模型的运算,从而能够提高神经网络模型处理信息的效率,其中,加速硬件设备可以是各类dsp(digital signal processor,一种独特的微处理器)、gpu(graphics processing unit,图形处理器)、npu(neural-network processingunit,嵌入式神经网络处理器)等加速硬件设备。在将神经网络模型中的算子进行划分时,若将相邻的算子划分到不同的硬件设备中,会导致神经网络模型的运行速度变慢,相关技术中,为了解决上述问题,也存在一些方法来改善算子划分的准确性,然而,这些方法往往只能适用于部分类型的神经网络模型,当应用于不适用的神经网络模型时,会降低算子划分的准确性,从而降低了神经网络模型的运行速度。
技术实现思路
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、另一方面,本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的图处理方法或者数据处理方法。
51、另一方面,本技术实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行实现上述的图处理方法或者数据处理方法。
52、另一方面,本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行实现上述的图处理方法或者数据处理方法。
53、本技术实施例至少包括以下有益效果:通过获取神经网络算子关联图中各个算子节点的设备支持信息,根据设备支持信息确定未支持在加速设备中进行运算的参考算子节点,确定神经网络算子关联图中待划分算子节点与参考算子节点之间的第一连接状态,根据第一连接状态和设备支持信息对待划分算子节点进行划分,得到支持在加速设备中进行运算的目标算子节点集合,由于参考算子节点未支持在加速设备中进行运算,因此通过第一连接状态能够确定待划分算子节点与目标算子节点集合中其他算子节点之间是否可能会连接有不合法的路径,尽可能地使待划分算子节点输入依赖的算子节点在目标算子节点集合中,有效地提升了算子划分的普适性,进而提升了算子划分的准确性,并且,通过将目标算子节点集合作为参考算子节点更新神经网络算子关联图,便于在再次根据第一连接状态对更新后的神经网络算子关联图中的待划分算子节点进行划分时,可以得到多个目标算子节点集合。另外,通过确定神经网络算子关联图中待划分算子节点与参考算子节点之间的第一连接状态,相较于对待划分算子节点的所有路径进行遍历探索的方式,能够有效地降低复杂度,提升算子划分的效率。在此基础上,进一步存储目标算子节点集合与目标设备之间的关联关系,后续在接收到神经网络运算请求时,能够根据关联关系准确地确定对目标算子节点集合进行运算的目标设备,更加有效地避免将相邻的算子节点划分到不同的硬件设备进行运算,从而提升神经网络模型的运行速度。
54、本技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。
本文地址:https://www.jishuxx.com/zhuanli/20240914/295995.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。