System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据处理方法、装置、设备及可读存储介质制造方法及图纸_技高网

一种数据处理方法、装置、设备及可读存储介质制造方法及图纸

技术编号:40807095 阅读:4 留言:0更新日期:2024-03-28 19:30
本申请公开了计算机技术领域内的一种数据处理方法、装置、设备及可读存储介质。本申请参照处理模块的片上内存进行神经网络的划分,能够以贪心算法思路在满足处理模块的片上内存的特点的前提下,使单一计算子图中的算子个数尽可能多,可提高处理模块对单一计算子图的编译及相关处理效率。该方案无需设计复杂的模板,也无需进行全局的迭代测试,只需对神经网络的局部算子进行片上内存占用量的判断,因此能够节约资源,缩短划分时长,实现了高效且准确地划分神经网络。

【技术实现步骤摘要】

本申请涉及计算机,特别涉及一种数据处理方法、装置、设备及可读存储介质


技术介绍

1、当前,一般基于人工先验知识进行模板匹配或以迭代划分方式划分神经网络。基于人工先验知识的模板匹配是指:一些有经验的技术人员根据ai处理器特性,预先将一些算子节点划分在一起,形成高效的计算子图。后期在ai模型的编译阶段,依次查找模型中的算子节点是否满足预先设计的模板结构,若满足,则将这些满足的算子节点替换为更加高效的匹配模板,从而实现ai处理器在推理阶段的高效执行。基于人工先验知识的模板匹配,ai处理器的运行效率往往取决于编译模板的技术人员技术水平,同时,匹配模板编写工作十分繁重,并且随着新的ai模型不断出现,各种模板难以穷尽,并且难以管理。以迭代划分方式划分时,需要不断的进行全局的迭代,并通过运行来测试性能,会消耗较多资源,耗时长。

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、可见,本申请参照处理模块的片上内存进行神经网络的划分,能够将神经网络中存在运算关系的各个算子划分在同一计算子图中。在待定子图在处理模块(如ai处理器)中运行时的片上内存占用量与片上内存占用阈值的对比结果符合输出条件时,按照该对比结果输出计算子图,由此可保证每次输出的计算子图都参照了处理模块的片上内存的特点;在对比结果不符合输出条件时迭代往待定子图中继续添加新的未划分算子,由此以贪心算法思路能够在满足处理模块的片上内存的特点的前提下,使单一计算子图中的算子个数尽可能多,可提高处理模块对单一计算子图的编译及相关处理效率。该方案无需设计复杂的模板,也无需进行全局的迭代测试,只需对神经网络的局部算子进行片上内存占用量的判断,因此能够节约资源,缩短划分时长,实现了高效且准确地划分神经网络,同时提高处理模块的处理效率。

39、相应地,本申请提供的一种数据处理装置、设备及可读存储介质,也同样具有上述技术效果。

本文档来自技高网...

【技术保护点】

1.一种数据处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述输出条件为:所述片上内存占用量不小于所述片上内存占用阈值;

3.根据权利要求1所述的方法,其特征在于,在神经网络中选择与目标子图存在运算关系的未划分算子之前,还包括:

4.根据权利要求1所述的方法,其特征在于,输出所述计算子图之后,还包括:

5.根据权利要求1所述的方法,其特征在于,所述在神经网络中选择与目标子图存在运算关系的未划分算子,包括:

6.根据权利要求1至5任一项所述的方法,其特征在于,输出所述计算子图之后,还包括:

7.根据权利要求1至5任一项所述的方法,其特征在于,所述片上内存占用量的计算过程包括:

8.一种数据处理装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。

【技术特征摘要】

1.一种数据处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述输出条件为:所述片上内存占用量不小于所述片上内存占用阈值;

3.根据权利要求1所述的方法,其特征在于,在神经网络中选择与目标子图存在运算关系的未划分算子之前,还包括:

4.根据权利要求1所述的方法,其特征在于,输出所述计算子图之后,还包括:

5.根据权利要求1所述的方法,其特征在于,所述在神经网络中选择与目标子图存在运算关系...

【专利技术属性】
技术研发人员:曾印权刘云飞禹治祥
申请(专利权)人:杭州国科微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1