System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 对神经网络模型进行编译得到可执行指令的方法及装置制造方法及图纸_技高网

对神经网络模型进行编译得到可执行指令的方法及装置制造方法及图纸

技术编号:39958966 阅读:10 留言:0更新日期:2024-01-08 23:53
公开了一种对神经网络模型进行编译得到可执行指令的方法及装置,其中,方法包括:确定神经网络模型中第一算子支持的第一数据分组存储方式和第二算子支持的第二数据分组存储方式;基于神经网络加速器支持的用于数据分组存储方式转换的转换操作,确定用于将第一数据分组存储方式转化为第二数据分组存储方式的目标转换方式信息;生成输入为第一算子的输出、输出为第二算子的输入、且用于按照目标转换方式信息进行数据分组存储方式转换的转换算子;基于神经网络模型中的算子以及转换算子,通过编译处理生成神经网络模型对应的可执行指令。本公开实施例可以保证算子的正确运行,确保神经网络模型在神经网络加速器上正常可靠地运行。

【技术实现步骤摘要】

本公开涉及人工智能(artificial intelligence,ai)技术,尤其是一种对神经网络模型进行编译得到可执行指令的方法及装置


技术介绍

1、在人工智能
中,神经网络模型的应用非常广泛。神经网络模型中可能存在相邻的算子支持的数据分组存储方式不匹配的情况,容易导致相邻的算子中排序在后的算子的运算出错。如何有效地应对该情况,以保证算子的正确运行对于本领域技术人员而言是一个值得关注的问题。


技术实现思路

1、为了解决上述技术问题,本公开提供了一种对神经网络模型进行编译得到可执行指令的方法及装置,以保证算子的正确运行,确保神经网络模型在神经网络加速器上正常可靠地运行。

2、根据本公开的一个方面,提供了一种对神经网络模型进行编译得到可执行指令的方法,包括:

3、确定神经网络模型中第一算子支持的第一数据分组存储方式和第二算子支持的第二数据分组存储方式;其中,所述第一算子为所述第二算子的前一算子;

4、基于神经网络加速器支持的用于数据分组存储方式转换的转换操作,确定用于将所述第一数据分组存储方式转化为所述第二数据分组存储方式的目标转换方式信息;

5、生成输入为所述第一算子的输出、输出为所述第二算子的输入、且用于按照所述目标转换方式信息进行数据分组存储方式转换的转换算子;

6、基于所述神经网络模型中的算子以及所述转换算子,通过编译处理生成所述神经网络模型对应的可执行指令。

7、根据本公开的另一个方面,提供了一种对神经网络模型进行编译得到可执行指令的装置,包括:

8、第一确定模块,用于确定神经网络模型中第一算子支持的第一数据分组存储方式和第二算子支持的第二数据分组存储方式;其中,所述第一算子为所述第二算子的前一算子;

9、第二确定模块,用于基于神经网络加速器支持的用于数据分组存储方式转换的转换操作,确定用于将所述第一确定模块确定的所述第一数据分组存储方式转化为所述第一确定模块确定的所述第二数据分组存储方式的目标转换方式信息;

10、第一生成模块,用于生成输入为所述第一算子的输出、输出为所述第二算子的输入、且用于按照所述第二确定模块确定的所述目标转换方式信息进行数据分组存储方式转换的转换算子;

11、第二生成模块,用于基于所述神经网络模型中的算子以及所述第一生成模块生成的所述转换算子,通过编译处理生成所述神经网络模型对应的可执行指令。

12、根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述对神经网络模型进行编译得到可执行指令的方法。

13、根据本公开实施例的又一个方面,提供了一种电子设备,所述电子设备包括:

14、处理器;

15、用于存储所述处理器可执行指令的存储器;

16、所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述对神经网络模型进行编译得到可执行指令的方法。

17、根据本公开实施例的又一个方面,提供了一种计算机程序产品,当所述计算机程序产品中的指令被处理器执行时,执行上述对神经网络模型进行编译得到可执行指令的方法。

18、基于本公开上述实施例提供的对神经网络模型进行编译得到可执行指令的方法、装置、存储介质、电子设备及产品,神经网络模型可以涉及两个阶段,分别是编译阶段和运行阶段。在编译阶段,对于神经网络模型中任意相邻的两个算子,例如第一算子和第二算子,如果第一算子支持的第一数据分组存储方式和第二算子支持的第二数据分组存储方式不相同,则可以基于神经网络加速器支持的用于数据分组存储方式转换的转换操作,确定用于将第一数据分组存储方式转化为第二数据分组存储方式的目标转换方式信息,并生成输入为第一算子的输出、输出为第二算子的输入、且用于按照目标转换方式信息进行数据分组存储方式转换的转换算子,且将转换算子与神经网络模型中的各个算子一并用于神经网络模型的编译处理。在运行阶段,通过神经网络加速器执行编译阶段生成的可执行指令,即相当于在神经网络加速器上运行神经网络模型,在此过程中,在第一算子的输出按照第一数据分组存储方式存储至片上存储器之后,转换算子可以按照目标转换方式信息,对片上存储器中第一算子的输出进行数据分组存储方式的转换,转换结果可以作为第二算子的输入。如此,能够使第二算子的输入符合第二算子支持的第二数据分组存储方式,从而有利于保证第二算子的正确运行,进而确保神经网络模型在神经网络加速器上正常可靠地运行。

本文档来自技高网...

【技术保护点】

1.一种对神经网络模型进行编译得到可执行指令的方法,包括:

2.根据权利要求1所述的方法,其中,所述基于神经网络加速器支持的用于数据分组存储方式转换的转换操作,确定用于将所述第一数据分组存储方式转化为所述第二数据分组存储方式的目标转换方式信息,包括:

3.根据权利要求2所述的方法,其中,所述基于神经网络加速器支持的用于数据分组存储方式转换的转换操作,确定用于将所述第一数据分组存储方式转化为所述第二数据分组存储方式的至少一种候选转换方式信息,包括:

4.根据权利要求2所述的方法,其中,所述从至少一种所述候选转换方式信息中,筛选所述目标转换方式信息,包括:

5.根据权利要求1所述的方法,其中,所述基于神经网络加速器支持的用于数据分组存储方式转换的转换操作,确定用于将所述第一数据分组存储方式转化为所述第二数据分组存储方式的目标转换方式信息,包括:

6.根据权利要求1所述的方法,其中,所述生成输入为所述第一算子的输出、输出为所述第二算子的输入、且用于按照所述目标转换方式信息进行数据分组存储方式转换的转换算子,包括:

7.根据权利要求1-6中任一所述的方法,其中,数据分组存储方式表示在包括多个分区的片上存储器中进行数据的分组存储时,单个分组分别对应于多个数据维度的尺寸值以及多个所述数据维度的遍历顺序;每个分组存储于一个所述分区;每个所述分区包括多个切片,每个切片包括多个存放位置。

8.根据权利要求7所述的方法,其中,所述神经网络加速器支持的用于数据分组存储方式转换的转换操作包括:

9.一种对神经网络模型进行编译得到可执行指令的装置,包括:

10.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-8中任一所述的对神经网络模型进行编译得到可执行指令的方法。

11.一种电子设备,所述电子设备包括:

...

【技术特征摘要】

1.一种对神经网络模型进行编译得到可执行指令的方法,包括:

2.根据权利要求1所述的方法,其中,所述基于神经网络加速器支持的用于数据分组存储方式转换的转换操作,确定用于将所述第一数据分组存储方式转化为所述第二数据分组存储方式的目标转换方式信息,包括:

3.根据权利要求2所述的方法,其中,所述基于神经网络加速器支持的用于数据分组存储方式转换的转换操作,确定用于将所述第一数据分组存储方式转化为所述第二数据分组存储方式的至少一种候选转换方式信息,包括:

4.根据权利要求2所述的方法,其中,所述从至少一种所述候选转换方式信息中,筛选所述目标转换方式信息,包括:

5.根据权利要求1所述的方法,其中,所述基于神经网络加速器支持的用于数据分组存储方式转换的转换操作,确定用于将所述第一数据分组存储方式转化为所述第二数据分组存储方式的目标转换方式信息,包括:

6.根据权利要求1所述...

【专利技术属性】
技术研发人员:林永迪
申请(专利权)人:北京地平线信息技术有限公司
类型:发明
国别省市:

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

1