申请/专利权人:北京百度网讯科技有限公司
申请日:2022-11-15
公开(公告)日:2024-04-05
公开(公告)号:CN115796228B
主分类号:G06N3/04
分类号:G06N3/04;G06N3/063
优先权:
专利状态码:有效-授权
法律状态:2024.04.05#授权;2023.03.31#实质审查的生效;2023.03.14#公开
摘要:本公开提供了一种算子融合方法、装置、设备以及存储介质,涉及人工智能技术领域,具体涉及深度学习等技术领域。该方法包括:获取神经网络模型的算子集合;对算子集合中的各个算子进行拓扑排序,得到第一排序结果;基于第一排序结果以及预设的算子融合规则对各个算子进行融合,得到第一融合结果,其中,第一融合结果中包括至少一个融合后的子图;对第一融合结果中的各个子图进行拓扑排序,得到第二排序结果;基于第二排序结果以及预设的子图融合规则分别对各个子图进行融合,得到第二融合结果。本公开提供的算子融合方法提升了算子的融合效率,减少了融合后的子图数量,从而提升了神经网络模型的计算性能。
主权项:1.一种算子融合方法,包括:获取神经网络模型的算子集合;对所述算子集合中的各个算子进行拓扑排序,得到第一排序结果;基于所述第一排序结果从所述算子集合中依次获取算子,将获取的算子记为当前算子;执行以下迭代步骤:获取所述当前算子所在的融合子图以及所述当前算子的输入依赖算子集合,所述输入依赖算子集合中包括所述当前算子的所有输入依赖算子;依次从所述输入依赖算子集合中获取输入依赖算子;基于预设的算子融合规则判断所获取的输入依赖算子与所述当前算子是否可以融合,若可以融合,并确定依赖于所述所获取的输入依赖算子的所有算子均在所述融合子图中,将所述输入依赖算子与所述当前算子所在的融合子图进行融合,得到第一融合结果,所述第一融合结果中包括至少一个融合后的子图,并进行下一轮迭代过程,直至所述算子集合为空;若所获取的输入依赖算子与所述当前算子不可以融合,则再次从所述输入依赖算子集合中获取输入依赖算子,直至所述输入依赖算子集合中为空,进行下一轮迭代过程;对所述第一融合结果中的各个子图进行拓扑排序,得到第二排序结果;基于所述第二排序结果从所述第一融合结果中依次获取子图,将获取的子图记为当前子图;执行以下迭代步骤:获取所述当前子图的输出依赖子图集合,所述输出依赖子图集合中包括所述当前子图的所有输出依赖子图;依次从所述输出依赖子图集合中获取输出依赖子图;基于所获取的输出依赖子图与所述输出依赖子图集合中除所获取的输出依赖子图外的其他输出依赖子图之间的依赖关系,确定第一子图集合;对所述第一子图集合中的各个子图进行分类和融合,得到第二子图集合;响应于确定所述第二子图集合中仅包含一个子图,基于预设的子图融合规则判断所述第二子图集合中包含的子图与所述当前子图是否可以融合,若可以融合,则将所述第二子图集合中包含的子图与所述当前子图进行融合,得到第二融合结果,并进行下一轮迭代过程,直至所述第一融合结果为空;根据所述第二融合结果的输入与输出进行编译,得到代码编译结果;将所述代码编译结果加载至目标处理器,以使所述目标处理器根据所述代码编译结果进行推理,得到对应的推理结果,所述推理结果包括语音识别结果、图像分类结果或图像识别结果。
全文数据:
权利要求:
百度查询: 北京百度网讯科技有限公司 算子融合方法、装置、设备以及存储介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。