模型的生成方法、装置、电子设备及存储介质与流程

文档序号:37158197发布日期:2024-02-26 17:23阅读:15来源:国知局
模型的生成方法、装置、电子设备及存储介质与流程

本公开涉及数据处理,尤其涉及一种模型的生成方法、装置、电子设备及存储介质。


背景技术:

1、随着图形通用计算和人工智能(artificial intelligence,ai)领域的发展,集成电路和ai模型的规模也越来越大,涉及的模块越来越多,导致开发、建模耗费的时间越来越多。以集成电路建模开发为例,在电路建模过程中,现有技术通常会通过解析工具先解析出模块的特定形式的接口信息,然后编写各个模块代码,通过建模工程师人工操作将各个模块连接上。

2、由于模块众多,接口众多,因此一般是每个建模工程师负责固定区域的模块代码编写和连接。如果涉及到自身负责的模块和其他建模工程师负责的区域中的模块的连接,还要求建模工程师熟知其他建模工程师负责的区域中的模块的接口,对于建模工程师来说工作量很大。同时需要建模工程师对接口定义、连接方式、标准规范要求有比较深入的了解,这提高了建模工程师的门槛。对于ai模型的开发也存在着类似的问题。

3、综上所述,现有技术的方式使得建模需要大量的资源投入,同时人工操作错误率较高,容易导致建模出现漏洞。且生成的模型包括的模块通常是固定的,不能灵活选择,在一些应用场景中与用户的需求的适应性较差。


技术实现思路

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、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

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