CN114723976A - 计算图的子图模式匹配方法及装置 - Google Patents
计算图的子图模式匹配方法及装置 Download PDFInfo
- Publication number
- CN114723976A CN114723976A CN202210268967.2A CN202210268967A CN114723976A CN 114723976 A CN114723976 A CN 114723976A CN 202210268967 A CN202210268967 A CN 202210268967A CN 114723976 A CN114723976 A CN 114723976A
- Authority
- CN
- China
- Prior art keywords
- node
- subgraph
- graph
- sub
- pattern matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种计算图的子图模式匹配方法及装置,方法包括:根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级;根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码;根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,并根据所述结构描述编码进行不同子图间的模式匹配;本申请能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率。
Description
技术领域
本申请涉及人工智能领域,具体涉及一种计算图的子图模式匹配方法及装置。
背景技术
随着人工智能技术的迅速发展,人工智能算力不断提升,各种人工智能力推计算框架不断出现,基于人工智能技术的图像、视频、语音应用迅速落地,在提高生产效率方面发挥了巨大的作用。
由于人工智能推理模型的日益复杂,模型计算成本也越来越高,基于计算图的优化方式也层出不穷,例如将相同结构的子图做融合处理,或是图算融合,把出现频率高的子图作为一个大算子去做整体计算处理。这时候如何识别可融合的子图和识别图算融合的子图模式就成为了一个不得不解决的问题。
现有技术中的人工智能推理框架并没有子图模式识别的相关功能,大多数无子图模式识别的框架无法具备子图融合前验证的功能,很多公司做子图融合或图算融合多为人工去做子图拓扑结构的提取与比对,图解析格式不统一导致融合流程无法实现通用性,人工做比对存在风险高的问题,如果计算图结构复杂,需要融合的子图数量大,还会造成模型优化人员开发量大的问题。
发明内容
针对现有技术中的问题,本申请提供一种计算图的子图模式匹配方法及装置,能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种计算图的子图模式匹配方法,包括:
根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级;
根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码;
根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,并根据所述结构描述编码进行不同子图间的模式匹配。
进一步地,所述根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级,包括:
对子图中的最终输出节点设定一默认所属层级,其中,所述最终输出节点为所述子图中没有输出张量的节点;
根据所述子图中各节点与所述最终输出节点之间的节点输入关系和所述最终输出节点的默认所属层级,确定所述各节点的所属层级。
进一步地,所述根据所述子图中各节点与所述最终输出节点之间的节点输入关系和所述最终输出节点的默认所属层级,确定所述各节点的所属层级,包括:
根据所述子图中各节点的节点输出链路数量、所述各节点与所述最终输出节点的节点输入链路上途经节点的节点输出链路数量以及所述最终输出节点的默认所属层级,计算得到所述各节点的所属层级。
进一步地,所述根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码,包括:
以子图中的最终输出节点为起始对各节点进行顺序编号;
根据各节点与相邻节点的顺序编号、各节点与相邻节点的节点输出关系以及各节点的节点类型,确定所述各节点的路径编码。
进一步地,所述根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,包括:
若同一所属层级中两相邻节点的路径编码相同,则只保留两相邻节点中较前的顺序编号;
根据各所属层级保留的顺序编号组建而得所述子图的结构描述编码。
进一步地,所述根据所述结构描述编码进行不同子图间的模式匹配,还包括:
判断不同子图的结构描述编码是否相同,若是,则判定两子图所属同一子图类别,并对该两子图进行融合归并计算。
第二方面,本申请提供一种计算图的子图模式匹配装置,包括:
节点层级划分模块,用于根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级;
节点路径编码模块,用于根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码;
子图结构描述模块,用于根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,并根据所述结构描述编码进行不同子图间的模式匹配。
进一步地,所述节点层级划分模块包括:
默认层级设定单元,用于对子图中的最终输出节点设定一默认所属层级,其中,所述最终输出节点为所述子图中没有输出张量的节点;
节点层级计算单元,用于根据所述子图中各节点与所述最终输出节点之间的节点输入关系和所述最终输出节点的默认所属层级,确定所述各节点的所属层级。
进一步地,所述节点层级计算单元包括:
输出链路计算子单元,用于根据所述子图中各节点的节点输出链路数量、所述各节点与所述最终输出节点的节点输入链路上途经节点的节点输出链路数量以及所述最终输出节点的默认所属层级,计算得到所述各节点的所属层级。
进一步地,所述节点路径编码模块包括:
顺序编号单元,用于以子图中的最终输出节点为起始对各节点进行顺序编号;
对应编码单元,用于根据各节点与相邻节点的顺序编号、各节点与相邻节点的节点输出关系以及各节点的节点类型,确定所述各节点的路径编码。
进一步地,所述子图结构描述模块包括:
编号归纳单元,用于若同一所属层级中两相邻节点的路径编码相同,则只保留两相邻节点中较前的顺序编号;
编号整编单元,用于根据各所属层级保留的顺序编号组建而得所述子图的结构描述编码。
进一步地,所述子图结构描述模块包括:
子图模式匹配单元,用于判断不同子图的结构描述编码是否相同,若是,则判定两子图所属同一子图类别,并对该两子图进行融合归并计算。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的计算图的子图模式匹配方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的计算图的子图模式匹配方法的步骤。
第五方面,本申请提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述的计算图的子图模式匹配方法的步骤。
由上述技术方案可知,本申请提供一种计算图的子图模式匹配方法及装置,通过确定子图中各节点的层级关系、实际路径,以此构建子图的结构描述编码,用于准确表征子图的详细结构特征,由此进行子图间模式匹配,进而能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的计算图的子图模式匹配方法的流程示意图之一;
图2为本申请实施例中的计算图的子图模式匹配方法的流程示意图之二;
图3为本申请实施例中的计算图的子图模式匹配方法的流程示意图之三;
图4为本申请实施例中的计算图的子图模式匹配方法的流程示意图之四;
图5为本申请实施例中的计算图的子图模式匹配装置的结构图之一;
图6为本申请实施例中的计算图的子图模式匹配装置的结构图之二;
图7为本申请实施例中的计算图的子图模式匹配装置的结构图之三;
图8为本申请实施例中的计算图的子图模式匹配装置的结构图之四;
图9为本申请实施例中的计算图的子图模式匹配装置的结构图之五;
图10为本申请实施例中的计算图的子图模式匹配装置的结构图之六;
图11为现有技术中的子图结构描述示意图之一;
图12为现有技术中的子图结构描述示意图之二;
图13为本申请一具体实施例中的所属层级划分示意图;
图14为本申请一具体实施例中的路径编码示意图;
图15为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有技术中的子图模式识别多采用人工对比,或者面对复杂子图无法准确识别内部详细结构的问题,本申请提供一种计算图的子图模式匹配方法及装置,通过确定子图中各节点的层级关系、实际路径,以此构建子图的结构描述编码,用于准确表征子图的详细结构特征,由此进行子图间模式匹配,进而能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率。
可以理解的是,现有技术中也存在子图模式识别的方法,例如人工智能推理框架PaddleLite中提出了一套针对子图自己的识别模式,通过记录每个节点的类型和所在层数的结构来识别子图,其原理举例来说,参见图11,A和A1是两个相同的输入节点,B、B1和B2是三个相同的卷积算子节点,A的输出会成为B和B1的输入张量,A1的输出会成为B1和B2的输如张量。在PaddleLite中该子图会被识别为:1层含有两个为A输入节点,2层含有三个为B的卷积节点。这些信息会以一定的格式描述方式被放在内存中,当访问该子图模式种类时被调用用来和其他子图描述格式进行比对,但是这种子图模式无法区分记录两层节点之间的输入输出关系。
尤其在子图结构较为复杂时更容易识别错误,举例来说,参见图12,当子图11做算子融合的计算过程中,当遍历到子图12做模式识别再融合过程中,会被认作同一种子图模式。在做算子融合中A的输出应该进入到B和B2的输入中,但会被融合识别为子图11的模式,在计算图中就会被识别为A输出为B和B1的输入中,也就是说PaddleLite框架中对计算图的模式识别是有局限的,当计算图结构复杂,目前市面上常见的推理框架,有很多相似但不相同的子图做融合计算时会有较高的风险,还不支持规模较大结构复杂的静态图子图模式识别场景。
为了能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率,本申请提供一种计算图的子图模式匹配方法的实施例,参见图1,所述计算图的子图模式匹配方法具体包含有如下内容:
步骤S101:根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级。
可以理解的是,所述最终输出节点为子图中没有输出张量的节点,即除最终输出节点外的其他节点都有输出,例如将各节点按照连接关系进行连接,则可以得到一树状图结构,而最终输出节点即为最末端/最下端的节点。
可选的,由于最终输出节点在子图中的特殊位置(树状结构的最末端),因此本申请可以基于各个节点与最终输出节点之间的连接关系(例如两者之间途经的节点数量),将各个节点划分所属层级。
可选的,本申请通过将各个节点准确划分所属层级,以此能够明确各节点在子图中的具***置,即明确子图的基本结构。
步骤S102:根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码。
为了提高不同子图间模式识别的准确度,本申请还可以基于子图更详细的特征进行模式识别,可选的,本申请可以确定各节点的路径编码,即各节点在子图中所表现的输出关系。
可选的,所述路径编码用于表征各节点在子图中的输出关系,因此路径编码的构成需要基于各节点的节点输出关系,即该节点向哪一节点进行输出。
为了便于通过编码体现节点输出关系,本申请可以对各节点进行顺序编号,顺序编号需要遵循一定规则,例如从可以明确的最终输出节点或初始输入节点最为起始进行顺序编号,进行顺序编号后在路径编码中既可以通过数字体现节点之间的输出关系。
同时,本申请的路径编码还可以包含节点类型信息,并将其作为路径编码的组成部分。
由此,本申请通过路径编码明确了各节点在子图中的输出关系,即明确了子图内部最详细的构成特征。
步骤S103:根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,并根据所述结构描述编码进行不同子图间的模式匹配。
可选的,为了在后续模式识别匹配时更加精简,本申请可以对各个节点的路径编码进行归纳,即将两个相邻的、具有相同路径编码的节点归纳为/视为一个,仅保留其中一个的顺序编号即可。
可理解的是,本申请在进行相同路径编码的归纳时只针对同一所属层级中包含的节点进行归纳,因为不同所属层级的节点其路径编码必然不同。
可选的,本申请将各所属层级中路径编码不同的节点的顺序编号组合而得的数字串作为子图的结构描述编码,并可以据此进行不同子图间的模式识别匹配操作,其匹配更加准确、可靠。
从上述描述可知,本申请实施例提供的计算图的子图模式匹配方法,能够通过确定子图中各节点的层级关系、实际路径,以此构建子图的结构描述编码,用于准确表征子图的详细结构特征,由此进行子图间模式匹配,进而能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率。
为了能够准确确定子图内各节点的层级结构,在本申请的计算图的子图模式匹配方法的一实施例中,参见图2,上述步骤S101还可以具体包含如下内容:
步骤S201:对子图中的最终输出节点设定一默认所属层级,其中,所述最终输出节点为所述子图中没有输出张量的节点。
步骤S202:根据所述子图中各节点与所述最终输出节点之间的节点输入关系和所述最终输出节点的默认所属层级,确定所述各节点的所属层级。
为了能够准确对各节点进行层级划分,在本申请的计算图的子图模式匹配方法的一实施例中,上述步骤S202还可以具体包含如下内容:
根据所述子图中各节点的节点输出链路数量、所述各节点与所述最终输出节点的节点输入链路上途经节点的节点输出链路数量以及所述最终输出节点的默认所属层级,计算得到所述各节点的所属层级。
参见图13,可选的,本申请可以首先对子图中的最终输出节点设定一默认所属层级(level:0),然后对最终输出节点(level:0)的每个输入节点的level值进行加一操作,即对level值为i的所有节点进行遍历,将节点的每个输入节点的level值设置为i+1,例如图13中最终输出节点C1(level:0)的输入节点B1的level值为level:0+1=1。
此时为了更加精准、深入的体现节点的层级结构,在本申请中,如果一个节点输入到了两个不同的节点,那么该节点的level值在此时会被设置两次,即节点B2输入分别输入到了节点C2和节点C3,那么节点B2的level值为level:(0+1)+(0+1)=2。
为了能够准确确定子图内各节点之间流转的路径,在本申请的计算图的子图模式匹配方法的一实施例中,参见图3,上述步骤S102还可以具体包含如下内容:
步骤S301:以子图中的最终输出节点为起始对各节点进行顺序编号。
步骤S302:根据各节点与相邻节点的顺序编号、各节点与相邻节点的节点输出关系以及各节点的节点类型,确定所述各节点的路径编码。
参见图14,可选的,为了便于通过编码体现节点输出关系,本申请可以对各节点进行顺序编号,顺序编号需要遵循一定规则,例如从可以明确的最终输出节点最为起始进行顺序编号,进行顺序编号后在路径编码中既可以通过数字体现节点之间的输出关系。
可选的,本申请的路径编码(即path)还可以包含节点类型信息,并将其作为路径编码的组成部分,例如图14中,节点A被顺序编号为id:5,且其分别输出至节点B1和节点B2,节点A为conv节点类型,则节点A的路径编码可以为:path:conv#3:0+4:0,其中,conv是节点类型,符号“#”为间隔符,“3:0”表示节点A的输出是编号为3的节点的第一个输入,“4:0”表示节点A的输出是编号为4的节点的第一个输入。
同理,节点B2被顺序编号为id:4,且其分别输出至节点C2和节点C3,节点B2为conv节点类型,则节点B2的路径编码可以为:path:conv#1:1+2:0,其中,conv是节点类型,符号“#”为间隔符,“1:1”表示节点B2的输出是编号为1的节点的第二个输入,“2:0”表示节点B2的输出是编号为2的节点的第一个输入。
由此,本申请通过路径编码明确了各节点在子图中的输出关系,即明确了子图内部最详细的构成特征。
为了能够准确描述子图内部结构,在本申请的计算图的子图模式匹配方法的一实施例中,参见图4,上述步骤S103还可以具体包含如下内容:
步骤S401:若同一所属层级中两相邻节点的路径编码相同,则只保留两相邻节点中较前的顺序编号。
步骤S402:根据各所属层级保留的顺序编号组建而得所述子图的结构描述编码。
可选的,为了在后续模式识别匹配时更加精简,本申请可以对各个节点的路径编码进行归纳,即将两个相邻的、具有相同路径编码的节点归纳为/视为一个,仅保留其中一个的顺序编号即可。
可理解的是,本申请在进行相同路径编码的归纳时只针对同一所属层级中包含的节点进行归纳,因为不同所属层级的节点其路径编码必然不同。
为了能够准确应用结构描述编码,在本申请的计算图的子图模式匹配方法的一实施例中,上述步骤S103还可以具体包含如下内容:
判断不同子图的结构描述编码是否相同,若是,则判定两子图所属同一子图类别,并对该两子图进行融合归并计算。
可选的,本申请将各所属层级中路径编码不同的节点的顺序编号组合而得的数字串作为子图的结构描述编码,并可以据此进行不同子图间的模式识别匹配操作,其匹配更加准确、可靠。
为了能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率,本申请提供一种用于实现所述计算图的子图模式匹配方法的全部或部分内容的计算图的子图模式匹配装置的实施例,参见图5,所述计算图的子图模式匹配装置具体包含有如下内容:
节点层级划分模块10,用于根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级。
节点路径编码模块20,用于根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码。
子图结构描述模块30,用于根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,并根据所述结构描述编码进行不同子图间的模式匹配。
从上述描述可知,本申请实施例提供的计算图的子图模式匹配装置,能够通过确定子图中各节点的层级关系、实际路径,以此构建子图的结构描述编码,用于准确表征子图的详细结构特征,由此进行子图间模式匹配,进而能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率。
为了能够准确确定子图内各节点的层级结构,在本申请的计算图的子图模式匹配装置的一实施例中,参见图6,所述节点层级划分模块10包括:
默认层级设定单元11,用于对子图中的最终输出节点设定一默认所属层级,其中,所述最终输出节点为所述子图中没有输出张量的节点。
节点层级计算单元12,用于根据所述子图中各节点与所述最终输出节点之间的节点输入关系和所述最终输出节点的默认所属层级,确定所述各节点的所属层级。
为了能够准确对各节点进行层级划分,在本申请的计算图的子图模式匹配装置的一实施例中,参见图7,所述节点层级计算单元12包括:
输出链路计算子单元121,用于根据所述子图中各节点的节点输出链路数量、所述各节点与所述最终输出节点的节点输入链路上途经节点的节点输出链路数量以及所述最终输出节点的默认所属层级,计算得到所述各节点的所属层级。
为了能够准确确定子图内各节点之间流转的路径,在本申请的计算图的子图模式匹配装置的一实施例中,参见图8,所述节点路径编码模块20包括:
顺序编号单元21,用于以子图中的最终输出节点为起始对各节点进行顺序编号。
对应编码单元22,用于根据各节点与相邻节点的顺序编号、各节点与相邻节点的节点输出关系以及各节点的节点类型,确定所述各节点的路径编码。
为了能够准确描述子图内部结构,在本申请的计算图的子图模式匹配装置的一实施例中,参见图9,所述子图结构描述模块30包括:
编号归纳单元31,用于若同一所属层级中两相邻节点的路径编码相同,则只保留两相邻节点中较前的顺序编号。
编号整编单元32,用于根据各所属层级保留的顺序编号组建而得所述子图的结构描述编码。
为了能够准确应用结构描述编码,在本申请的计算图的子图模式匹配装置的一实施例中,参见图10,所述子图结构描述模块30包括:
子图模式匹配单元33,用于判断不同子图的结构描述编码是否相同,若是,则判定两子图所属同一子图类别,并对该两子图进行融合归并计算。
从硬件层面来说,为了能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率,本申请提供一种用于实现所述计算图的子图模式匹配方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现计算图的子图模式匹配装置与核心业务***、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的计算图的子图模式匹配方法的实施例,以及计算图的子图模式匹配装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,计算图的子图模式匹配方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图15为本申请实施例的电子设备9600的***构成的示意框图。如图15所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图15是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,计算图的子图模式匹配方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤S101:根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级。
步骤S102:根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码。
步骤S103:根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,并根据所述结构描述编码进行不同子图间的模式匹配。
从上述描述可知,本申请实施例提供的电子设备,通过确定子图中各节点的层级关系、实际路径,以此构建子图的结构描述编码,用于准确表征子图的详细结构特征,由此进行子图间模式匹配,进而能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率。
在另一个实施方式中,计算图的子图模式匹配装置可以与中央处理器9100分开配置,例如可以将计算图的子图模式匹配装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现计算图的子图模式匹配方法功能。
如图15所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图15中所示的所有部件;此外,电子设备9600还可以包括图15中没有示出的部件,可以参考现有技术。
如图15所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的计算图的子图模式匹配方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的计算图的子图模式匹配方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级。
步骤S102:根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码。
步骤S103:根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,并根据所述结构描述编码进行不同子图间的模式匹配。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过确定子图中各节点的层级关系、实际路径,以此构建子图的结构描述编码,用于准确表征子图的详细结构特征,由此进行子图间模式匹配,进而能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的计算图的子图模式匹配方法中全部步骤的一种计算机程序产品,该计算机程序/指令被处理器执行时实现所述的计算图的子图模式匹配方法的步骤,例如,所述计算机程序/指令实现下述步骤:
步骤S101:根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级。
步骤S102:根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码。
步骤S103:根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,并根据所述结构描述编码进行不同子图间的模式匹配。
从上述描述可知,本申请实施例提供的计算机程序产品,通过确定子图中各节点的层级关系、实际路径,以此构建子图的结构描述编码,用于准确表征子图的详细结构特征,由此进行子图间模式匹配,进而能够准确描述子图构造和各节点之间的关系,进而提高子图模式识别和匹配的准确率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种计算图的子图模式匹配方法,其特征在于,所述方法包括:
根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级;
根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码;
根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,并根据所述结构描述编码进行不同子图间的模式匹配。
2.根据权利要求1所述的计算图的子图模式匹配方法,其特征在于,所述根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级,包括:
对子图中的最终输出节点设定一默认所属层级,其中,所述最终输出节点为所述子图中没有输出张量的节点;
根据所述子图中各节点与所述最终输出节点之间的节点输入关系和所述最终输出节点的默认所属层级,确定所述各节点的所属层级。
3.根据权利要求2所述的计算图的子图模式匹配方法,其特征在于,所述根据所述子图中各节点与所述最终输出节点之间的节点输入关系和所述最终输出节点的默认所属层级,确定所述各节点的所属层级,包括:
根据所述子图中各节点的节点输出链路数量、所述各节点与所述最终输出节点的节点输入链路上途经节点的节点输出链路数量以及所述最终输出节点的默认所属层级,计算得到所述各节点的所属层级。
4.根据权利要求1所述的计算图的子图模式匹配方法,其特征在于,所述根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码,包括:
以子图中的最终输出节点为起始对各节点进行顺序编号;
根据各节点与相邻节点的顺序编号、各节点与相邻节点的节点输出关系以及各节点的节点类型,确定所述各节点的路径编码。
5.根据权利要求1所述的计算图的子图模式匹配方法,其特征在于,所述根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,包括:
若同一所属层级中两相邻节点的路径编码相同,则只保留两相邻节点中较前的顺序编号;
根据各所属层级保留的顺序编号组建而得所述子图的结构描述编码。
6.根据权利要求1所述的计算图的子图模式匹配方法,其特征在于,所述根据所述结构描述编码进行不同子图间的模式匹配,还包括:
判断不同子图的结构描述编码是否相同,若是,则判定两子图所属同一子图类别,并对该两子图进行融合归并计算。
7.一种计算图的子图模式匹配装置,其特征在于,包括:
节点层级划分模块,用于根据子图中各节点与最终输出节点之间的连接关系,确定子图中各节点的所属层级;
节点路径编码模块,用于根据所述各节点的顺序编号、节点类型以及节点输出关系,确定所述各节点的路径编码;
子图结构描述模块,用于根据各所属层级中路径编码不同的节点的顺序编号,确定所述子图的结构描述编码,并根据所述结构描述编码进行不同子图间的模式匹配。
8.根据权利要求7所述的计算图的子图模式匹配装置,其特征在于,所述节点层级划分模块包括:
默认层级设定单元,用于对子图中的最终输出节点设定一默认所属层级,其中,所述最终输出节点为所述子图中没有输出张量的节点;
节点层级计算单元,用于根据所述子图中各节点与所述最终输出节点之间的节点输入关系和所述最终输出节点的默认所属层级,确定所述各节点的所属层级。
9.根据权利要求8所述的计算图的子图模式匹配装置,其特征在于,所述节点层级计算单元包括:
输出链路计算子单元,用于根据所述子图中各节点的节点输出链路数量、所述各节点与所述最终输出节点的节点输入链路上途经节点的节点输出链路数量以及所述最终输出节点的默认所属层级,计算得到所述各节点的所属层级。
10.根据权利要求7所述的计算图的子图模式匹配装置,其特征在于,所述节点路径编码模块包括:
顺序编号单元,用于以子图中的最终输出节点为起始对各节点进行顺序编号;
对应编码单元,用于根据各节点与相邻节点的顺序编号、各节点与相邻节点的节点输出关系以及各节点的节点类型,确定所述各节点的路径编码。
11.根据权利要求7所述的计算图的子图模式匹配装置,其特征在于,所述子图结构描述模块包括:
编号归纳单元,用于若同一所属层级中两相邻节点的路径编码相同,则只保留两相邻节点中较前的顺序编号;
编号整编单元,用于根据各所属层级保留的顺序编号组建而得所述子图的结构描述编码。
12.根据权利要求7所述的计算图的子图模式匹配装置,其特征在于,所述子图结构描述模块包括:
子图模式匹配单元,用于判断不同子图的结构描述编码是否相同,若是,则判定两子图所属同一子图类别,并对该两子图进行融合归并计算。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的计算图的子图模式匹配方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的计算图的子图模式匹配方法的步骤。
15.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任一项所述的计算图的子图模式匹配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210268967.2A CN114723976A (zh) | 2022-03-18 | 2022-03-18 | 计算图的子图模式匹配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210268967.2A CN114723976A (zh) | 2022-03-18 | 2022-03-18 | 计算图的子图模式匹配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114723976A true CN114723976A (zh) | 2022-07-08 |
Family
ID=82236744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210268967.2A Pending CN114723976A (zh) | 2022-03-18 | 2022-03-18 | 计算图的子图模式匹配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114723976A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230229741A1 (en) * | 2022-01-05 | 2023-07-20 | International Business Machines Corporation | Cognitive method to split monolithic architecture into microservice architecture |
-
2022
- 2022-03-18 CN CN202210268967.2A patent/CN114723976A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230229741A1 (en) * | 2022-01-05 | 2023-07-20 | International Business Machines Corporation | Cognitive method to split monolithic architecture into microservice architecture |
US11860980B2 (en) * | 2022-01-05 | 2024-01-02 | International Business Machines Corporation | Cognitive method to split monolithic architecture into microservice architecture |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111815169B (zh) | 业务审批参数配置方法及装置 | |
CN108388988A (zh) | 基于区块链的协同办公方法、***及计算机可读存储介质 | |
CN109886699A (zh) | 行为识别方法及装置、电子设备、存储介质 | |
CN110166276A (zh) | 一种帧同步异常的定位方法、装置、终端设备和介质 | |
CN105719221A (zh) | 针对多任务的路径协同规划方法和装置 | |
CN112965710A (zh) | 计算图的处理方法、装置和*** | |
CN106375360A (zh) | 一种图数据更新方法、装置及*** | |
CN112784112A (zh) | 报文校验方法及装置 | |
CN114723976A (zh) | 计算图的子图模式匹配方法及装置 | |
CN115145938A (zh) | 企业用户身份标识体系构建方法、装置、设备、介质 | |
CN105786941A (zh) | 一种信息挖掘方法和装置 | |
CN114218265A (zh) | 离线模型的处理方法、装置、存储介质和处理器 | |
CN113688542A (zh) | 智能优化水资源配置方法、装置、计算机设备及存储介质 | |
CN112396511A (zh) | 分布式风控变量数据处理方法、装置及*** | |
CN116823984A (zh) | 元素布局信息生成方法、装置、设备、介质和程序产品 | |
CN110765350A (zh) | 一种会员积分的数据融合方法和装置 | |
CN114374614A (zh) | 网络拓扑配置方法及装置 | |
CN112507676B (zh) | 能源报表生成方法、装置、电子设备和计算机可读介质 | |
CN114648442A (zh) | 图像风格迁移方法及装置 | |
CN114189518A (zh) | 应用于计算机集群的通信方法及通信装置 | |
CN114528893A (zh) | 机器学习模型训练方法、电子设备及存储介质 | |
CN112102058A (zh) | 管会***参数配置方法及装置 | |
CN115237980B (zh) | 一种互联网数据交互处理方法、***及云平台 | |
CN112766698B (zh) | 应用业务压力确定方法及装置 | |
CN111949938B (zh) | 异动信息的确定方法、装置、电子设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |