本申请涉及机器学习,尤其涉及一种网络拓扑结构解析方法和电子设备。
背景技术:
1、深度学习框架是一种常用的构建网络模型的工具,它包括多个定义完成的算子,通过对算子进行组合即能够快速地构建网络模型。网络模型的网络拓扑结构即为该网络模型中的算子之间的拓扑连接关系。其中,算子也称作深度学习网络计算单元,是网络模型的基础组成节点。
2、对网络模型进行分析与优化时,通常需要根据网络模型的代码解析网络模型的网络拓扑结构。然而,由于不同的深度学习框架下构建的网络模型所采用的框架语言不同,因此在解析网络模型的网络拓扑结构之前,先需要确定网络模型的代码所采用的框架语言。其中,框架语言通常是指编写该深度学习框架所采用的代码语言。
3、相关技术中,为了确定网络模型所采用的框架语言,通常需要为网络模型配置深度学习框架的运行环境。然而,这种配置过程十分耗费人力和计算资源,导致针对网络拓扑结构的解析效率较为低下。
技术实现思路
1、本申请实施例提供一种网络拓扑结构解析方法和电子设备,用于解决针对网络拓扑结构的解析效率较为低下的问题。
2、为达到上述目的,本申请的实施例采用如下技术方案:
3、第一方面,提供一种网络拓扑结构解析方法,用于确定网络模型的网络拓扑结构,方法包括:获取网络模型的代码,作为目标代码。在目标代码中查找第一关键字,第一关键字用于指示目标代码的框架语言,第一关键字包括在预设的关键字数据库中。根据第一关键字,确定目标代码的第一框架语言。根据第一框架语言,确定网络模型的网络拓扑结构。
4、基于该方案,可以通过预设的关键字数据库确定网络模型的框架语言,采用该框架语言对应的解析方案对网络模型代码进行解析,从而确定该网络模型的网络拓扑结构。该方案无需配置深度学习框架的运行环境,解析效率较高。
5、在一种可能的设计中,在目标代码中查找第一关键字之前,方法还包括:生成目标代码的抽象语法树,目标代码的抽象语法树用于指示目标代码的语法结构。在目标代码中查找第一关键字,包括:在目标代码的抽象语法树中查找第一关键字。基于该方案,能够提高查找目标代码中的第一关键字时的查找效率。
6、在一种可能的设计中,根据第一框架语言,确定网络模型的网络拓扑结构,包括:根据第一框架语言对抽象语法树进行解析,确定网络模型的网络拓扑结构。基于该方案,能够提高网络拓扑结构的解析效率。
7、在一种可能的设计中,根据第一框架语言,确定网络模型的网络拓扑结构,包括:根据第一框架语言确定目标代码中各网络层的层类型,各网络层的输入以及各网络层的输出。根据各网络层的层类型,各网络层的输入以及各网络层的输出确定网络模型的网络拓扑结构。基于该方案,可以通过目标代码中各网络层的层类型,输入以及输出便捷地确定了网络模型的网络拓扑结构。
8、在一种可能的设计中,在目标代码中查找第一关键字之前,方法还包括:对目标代码进行预处理,生成第一代码,预处理包括以下至少一项:删除代码注释,删除无效代码。在目标代码中查找第一关键字,包括:在第一代码中查找第一关键字。基于该方案,可以提高查找关键字时的查找效率以及解析网络拓扑结构时的解析效率。
9、在一种可能的设计中,根据第一框架语言,确定网络模型的网络拓扑结构之后,方法还包括:存储网络模型的网络拓扑结构。基于该方案,可以便于开发人员后续查看该网络模型的网络拓扑结构,也便于后续对该网络拓扑结构进行优化。
10、第二方面,提供一种网络拓扑结构解析装置,用于确定网络模型的网络拓扑结构,装置包括:第一确定单元,查找单元,第二确定单元以及第三确定单元。其中,第一确定单元用于获取网络模型的代码,作为目标代码。查找单元,用于在目标代码中查找第一关键字,第一关键字用于指示目标代码的框架语言,第一关键字包括在预设的关键字数据库中。第二确定单元,用于根据第一关键字,确定目标代码的第一框架语言。第三确定单元,用于根据第一框架语言,确定网络模型的网络拓扑结构。
11、在一种可能的设计中,装置还包括:生成单元。生成单元用于生成目标代码的抽象语法树,目标代码的抽象语法树用于指示目标代码的语法结构。查找单元还用于在目标代码的抽象语法树中查找第一关键字。
12、在一种可能的设计中,第三确定单元具体用于根据第一框架语言对抽象语法树进行解析,确定网络模型的网络拓扑结构。
13、在一种可能的设计中,第三确定单元具体用于根据第一框架语言确定目标代码中各网络层的层类型,各网络层的输入以及各网络层的输出。根据各网络层的层类型,各网络层的输入以及各网络层的输出确定网络模型的网络拓扑结构。
14、在一种可能的设计中,装置还包括:预处理单元。预处理单元用于对目标代码进行预处理,生成第一代码,预处理包括以下至少一项:删除代码注释,删除无效代码。查找单元具体用于在第一代码中查找第一关键字。
15、在一种可能的设计中,装置还包括:存储单元。存储单元具体用于存储网络模型的网络拓扑结构。
16、第三方面,提供一种电子设备,电子设备包括一个或多个处理器和一个或多个存储器。一个或多个存储器与一个或多个处理器耦合,一个或多个存储器存储有计算机指令。当一个或多个处理器执行计算机指令时,使得电子设备执行如第一方面及其可能的设计中任一项的网络拓扑结构解析方法。
17、第四方面,提供一种芯片系统,芯片包括处理电路和接口。处理电路用于从存储介质中调用并运行存储介质中存储的计算机程序,以执行如第一方面及其可能的设计中任一项的网络拓扑结构解析方法。
18、第五方面,提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当该计算机指令运行时,执行如第一方面及其可能的设计中任一项所述的网络拓扑结构解析方法。
19、第六方面,提供一种计算机程序产品,该计算机程序产品中包括指令,当该计算机程序产品在计算机上运行时,使得计算机可以根据该指令执行如第一方面及其可能的设计中任一项所述的网络拓扑结构解析方法。
20、应当理解的是,上述第二方面,第三方面,第四方面,第五方面以及第六方面提供的技术方案,其技术特征均可对应到第一方面及其可能的设计中提供的网络拓扑结构解析方法,因此能够达到的有益效果类似,此处不再赘述。
1.一种网络拓扑结构解析方法,其特征在于,用于确定网络模型的网络拓扑结构,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述在所述目标代码中查找第一关键字之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一框架语言,确定所述网络模型的网络拓扑结构,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一框架语言,确定所述网络模型的网络拓扑结构,包括:
5.根据权利要求1所述的方法,其特征在于,所述在所述目标代码中查找第一关键字之前,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一框架语言,确定所述网络模型的网络拓扑结构之后,所述方法还包括:
7.一种网络拓扑结构解析装置,其特征在于,用于确定网络模型的网络拓扑结构,所述装置包括:第一确定单元,查找单元,第二确定单元以及第三确定单元;
8.一种电子设备,其特征在于,所述电子设备具有播放多媒体流的功能,所述电子设备包括一个或多个处理器和一个或多个存储器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器存储有计算机指令;
9.一种芯片系统,其特征在于,所述芯片包括处理电路和接口;所述处理电路用于从存储介质中调用并运行所述存储介质中存储的计算机程序,以执行如权利要求1-6中任一项所述的网络拓扑结构解析方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,当所述计算机指令运行时,执行如权利要求1-6中任一项所述的网络拓扑结构解析方法。