基于人工智能模型的数据处理方法、装置、设备及介质与流程

文档序号:35918441发布日期:2023-11-03 22:19阅读:27来源:国知局
基于人工智能模型的数据处理方法、装置、设备及介质与流程

本技术涉及人工智能,具体而言,本技术涉及一种基于人工智能模型的数据处理方法、装置、设备及介质。


背景技术:

1、计算图是一种用于描述数学计算的图形模型,其是许多深度学习框架(如tensorflow和pytorch)的核心模块。计算图提供了一种高效的、灵活的、可扩展的方式来实现ai(artificial intelligence,人工智能)模型的计算和优化。

2、然而在实际应用中,部分计算图存在非必要的转置算子(transpose算子,用于转换张量的数据格式(也称维度转换))。这些非必要的转置算子增加了中间数据的读写过程,因此,容易导致模型的运行缓慢,模型的推理性能差。


技术实现思路

1、本技术实施例提供了一种基于人工智能模型的数据处理方法、装置、设备及介质,可以解决现有人工智能模型的计算图存在非必要的转置算子,容易导致模型的运行缓慢,推理性能差的问题。为了实现该目的,本技术实施例提供了如下几个方案。

2、根据本技术实施例的一个方面,提供了一种基于人工智能模型的数据处理方法,该方法包括:

3、获取人工智能模型的计算图,基于获取到的第一子图替换所述计算图中对应的待优化子图,并根据替换结果编辑优化标记,所述第一子图与所述待优化子图的功能相对应,且均包括转置算子;

4、若确定所述计算图中存在预设类型的转置算子,处理所述预设类型的转置算子,并根据处理结果修改所述优化标记,所述预设类型的转置算子包括相连的转置算子或无用转置算子,所述处理包括所述预设类型的转置算子的融合或消除;

5、根据所述优化标记更新所述人工智能模型的计算图,以用于通过更新后的所述人工智能模型执行数据处理操作。

6、在一个可能的实现方式中,所述基于获取到的第一子图替换所述计算图中对应的待优化子图,包括:

7、将所述计算图中预设结构的子图确定为待优化子图,并获取所述预设结构的待优化子图对应的第一子图,利用所述第一子图替换所述待优化子图,所述预设结构为所述转置算子与x算子形成的结构,包括串行子图结构、带分支子图结构、第一带分支结构以及第二带分支结构中的至少一种,所述x算子为所述计算图中除转置算子以外的算子。

8、在一个可能的实现方式中,所述获取所述预设结构的待优化子图对应的第一子图,包括以下至少一项:

9、若所述预设结构为串行子图结构,则基于所述待优化子图中的转置算子及x算子得到新的x算子,并根据所述新的x算子生成第一子图,所述串行子图结构表征一个转置算子和一个x算子组成的子图结构;

10、若确定所述预设结构为带分支子图结构,则基于所述待优化子图中x算子的类型及转置算子的参数生成第一子图,所述带分支子图结构表征两个转置算子和一个x算子组成的结构,且所述两个转置算子的输出对象为所述结构中的x算子;

11、若确定所述待优化子图为第一带分支结构,则根据所述待优化子图中x算子的类型及转置算子的参数生成第一子图,所述第一带分支结构中x算子的一个输入对象和一个输出对象均为转置算子;

12、若确定所述待优化子图为第二带分支结构,则根据所述待优化子图中转置算子的参数生成第一子图,所述第二带分支结构中包括具有相同输入对象的一个转置算子和一个x算子,且所述相同输入对象为转置算子。

13、在一个可能的实现方式中,所述优化标记包括第一优化标记和第二优化标记,所述根据替换结果编辑优化标记,包括:

14、若确定发生替换操作,设置所述优化标记为第一优化标记;

15、所述若确定所述计算图中存在预设类型的转置算子,处理所述预设类型的转置算子,并根据处理结果修改所述优化标记,包括:

16、若存在相连的转置算子,根据所述相连的转置算子的结构以及所述转置算子的参数进行融合处理,并根据处理结果设置当前的优化标记为第二优化标记;

17、若确定存在无用转置算子,根据所述无用转置算子的参数进行消除处理,并根据处理结果设置当前的优化标记为第二优化标记。

18、在一个可能的实现方式中,所述根据所述相连的转置算子的结构以及所述转置算子的参数进行融合处理,包括:

19、若确定所述相连的转置算子中转置算子的数量为预设数量,则根据所述转置算子中预设参数的维度信息融合生成新的转置算子,所述预设数量包括两个,所述预设参数包括perm参数。

20、在一个可能的实现方式中,所述根据无用转置算子的参数进行消除处理,包括:

21、若确定所述无用转置算子的预设参数的维度数量与预设值不同,则在确定每个维度的所述预设参数均满足预设条件后,对所述无用转置参数进行消除处理,所述预设条件包括所述预设参数中每个参数的值与该参数的排序值相等。

22、可选地,所述根据所述优化标记更新所述人工智能模型中的计算图,包括:

23、若所述优化标记为第一优化标记,确定所述计算图更新完成;或

24、若确定所述优化标记为第二优化标记,确定所述计算图未更新完成,基于获取到的第一子图替换所述计算图中对应的待优化子图。

25、本技术提供一种基于人工智能模型的数据处理装置,包括:

26、等效转换模块,用于获取人工智能模型的计算图,基于获取到的第一子图替换所述计算图中对应的待优化子图,并根据替换结果编辑优化标记,所述第一子图与所述待优化子图的功能相对应,且均包括转置算子;

27、预设类型转置算子处理模块,用于在确定所述计算图中存在预设类型的转置算子后,处理所述预设类型的转置算子,并根据处理结果修改所述优化标记,所述预设类型的转置算子包括相连的转置算子或无用转置算子,所述处理包括所述预设类型的转置算子的融合或消除;

28、数据处理模块,用于根据所述优化标记更新所述人工智能模型中的计算图,以用于通过更新后的所述人工智能模型执行数据处理操作。

29、本技术提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如上所述方法的步骤。

30、根据本技术实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。

31、本技术实施例提供的技术方案带来的有益效果是:

32、本技术提供一种基于人工智能模型的数据处理方法,获取人工智能模型的计算图,利用获取到的第一子图替换计算图中的待优化子图,根据替换结果编辑优化标记,若确定计算图中还存在预设类型的转置算子,对该类型的转置算子进行融合或消除处理,根据处理结果修改优化标记,根据该优化标记更新计算图,以通过更新计算图后的人工智能模型执行数据处理操作。本技术实施例利用第一子图替换计算图中的待优化子图,对该待优化子图中预设类型的转置算子进行融合或消除处理,并根据优化标记进行计算图的更新,从而有效降低计算图中转置算子的数量。因此,本技术实施例能够通过待优化子图的替换以及预设类型转置算子的融合或消除实现转置算子数量的降低,从而尽量减少中间数据的读写,提升模型的数据处理速度和模型的推理性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1