一种基于计算图的算子监测方法及系统技术方案

技术编号:33474011 阅读:12 留言:0更新日期:2022-05-19 00:50
本发明专利技术提供了一种基于计算图的算子监测方法及系统,包括:获取待监测网络的计算图;捕获中央处理器对待监测网络进行编译后返回的第一静态图;捕获人工智能处理器对待监测网络进行编译后返回的第二静态图;对比所述计算图和第一静态图,得到计算图中的每一个模块对应的第一静态图中的网络算子;对比第一静态图和第二静态图,得到未在人工智能处理器适配和实现的网络算子。能够快速定位出一个网络中所有的算子以及人工智能处理器上需要适配的算子。的算子以及人工智能处理器上需要适配的算子。的算子以及人工智能处理器上需要适配的算子。

【技术实现步骤摘要】
一种基于计算图的算子监测方法及系统


[0001]本专利技术属于人工智能芯片
,尤其涉及一种基于计算图的算子监测方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]由于深度学习编程框架,例如Pytorch,在实现时,由于编程语言的不同,造成了同一深度学习编程,最终实现时是不完全相同的,例如Python、C++就是两种不同的编程语言,Python端与C++端的实现不完全对应,中央处理器(CPU)的具体实现与人工智能处理器的具体实现不完全对应,所以无法简单的通过Python端得到具体需要实现的算子,这就造成了在对非CPU设备适配网络时难以快速定位需要实现的算子。

技术实现思路

[0004]为了解决上述
技术介绍
中存在的技术问题,本专利技术提供一种基于计算图的算子监测方法及系统,能够快速定位出一个网络中所有的算子以及人工智能处理器上需要适配的算子。
[0005]为了实现上述目的,本专利技术采用如下技术方案:
[0006]本专利技术的第一个方面提供一种基于计算图的算子监测方法,其包括:
[0007]获取待监测网络的计算图;
[0008]捕获中央处理器对待监测网络进行编译后返回的第一静态图;
[0009]捕获人工智能处理器对待监测网络进行编译后返回的第二静态图;
[0010]对比所述计算图和第一静态图,得到计算图中的每一个节点对应的第一静态图中的网络算子;对比第一静态图和第二静态图,得到未在人工智能处理器适配和实现的网络算子。
[0011]进一步的,所述第一静态图中的每一个节点为所述中央处理器支持的一个网络算子。
[0012]进一步的,所述第二静态图中的每一个节点为所述人工智能处理器或中央处理器支持的一个网络算子。
[0013]进一步的,每个网络算子均配置有异常捕获机制。
[0014]进一步的,对于所述人工智能处理器未实现的网络算子,若所述异常捕获机制正常工作,则可以生成中央处理器结点与人工智能处理器结点混合的静态图,并将该混合的静态图作为所述第二静态图。
[0015]本专利技术的第二个方面提供一种基于计算图的算子监测系统,其包括:
[0016]计算图获取模块,其被配置为:获取待监测网络的计算图;
[0017]第一静态图捕获模块,其被配置为:捕获中央处理器对待监测网络进行编译后返
回的第一静态图;
[0018]第二静态图捕获模块,其被配置为:捕获人工智能处理器对待监测网络进行编译后返回的第二静态图;
[0019]对比模块,其被配置为:对比所述计算图和第一静态图,得到计算图中的每一个节点对应的第一静态图中的网络算子;对比第一静态图和第二静态图,得到未在人工智能处理器适配和实现的网络算子。
[0020]进一步的,每个网络算子均配置有异常捕获机制。
[0021]进一步的,所述第二静态图捕获模块,还被配置为:对于所述人工智能处理器未实现的网络算子,若所述异常捕获机制正常工作,则可以生成中央处理器节点与人工智能处理器节点混合的静态图,并将该混合的静态图作为所述第二静态图。
[0022]本专利技术的第三个方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的一种基于计算图的算子监测方法中的步骤。
[0023]本专利技术的第四个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的一种基于计算图的算子监测方法中的步骤。
[0024]与现有技术相比,本专利技术的有益效果是:
[0025]本专利技术提供了一种基于计算图的算子监测方法,其通过对比待监测网络的计算图和第一静态图,得到计算图中的每一个模块对应的CPU算子;对比第一静态图和第二静态图,得到未在人工智能处理器适配和实现的算子,避免了人为的确认一个网络中所有的算子以及人工智能处理器上需要适配的算子,提高了为非CPU设备统计算子的效率,提高了对非CPU设备中未适配和实现的算子的监测效率。
附图说明
[0026]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0027]图1是本专利技术实施例一的一种基于计算图的算子监测方法的流程图;
[0028]图2是本专利技术实施例二的一种基于计算图的算子监测系统的结构图。
具体实施方式
[0029]下面结合附图与实施例对本专利技术作进一步说明。
[0030]应该指出,以下详细说明都是例示性的,旨在对本专利技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义。
[0031]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本专利技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0032]实施例一
[0033]本实施例提供了一种基于计算图的算子监测方法,如图1所示,包括以下步骤:
Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等通用或专用处理器。
[0046]第二静态图中的每一个节点为人工智能处理器或中央处理器支持的一个网络算子,即,第二静态图包括CPU支持的节点和人工智能处理器支持的节点,或者,第二静态图只包括人工智能处理器支持的节点。具体的,如果没有遇到人工智能处理器上未实现的算子,那么第二静态图只包括人工智能处理器支持的节点,即第二静态图中的每一个节点为一个人工智能处理器节点,即人工智能处理器支持的一个网络算子(一个人工智能处理器算子);如果遇到人工智能处理器上未实现的算子,第二静态图就存在CPU节点,也就是包括CPU和人工智能处理器两种节点,进一步,如果遇到人工智能处理器上未实现的算子且能生成第二静态图成功,那么就是包括CPU和人工智能处理器两种节点,如果不能生成第二静态图,定位到导致失败的算子,该算子为CPU节点,后面的继续按照上述方法判断。
[0047]用人工智能处理器类型的输入进行即时编译(jit.trace),捕获人工智能处理器得到的第二静态图。
[0048]每个网络算子配置有异常捕获机制(try

catch机制),对于每个人工智能处理器算子的异常捕获机制,在遇到部分人工智能处理器算子异常的情况时也可以正常生成静态图。
[0049]如果遇到人工智能处理器设备上未实现的算子,若异常捕获机制正常工作,则可以生成CPU节点与人工智能处理器节点混合的静态图,并将该CPU节点与人工智能处理器节点混合的静态图作为第二静态图。
[0050本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于计算图的算子监测方法,其特征在于,包括:获取待监测网络的计算图;捕获中央处理器对待监测网络进行编译后返回的第一静态图;捕获人工智能处理器对待监测网络进行编译后返回的第二静态图;对比所述计算图和第一静态图,得到计算图中的每一个节点对应的第一静态图中的网络算子;对比第一静态图和第二静态图,得到未在人工智能处理器适配和实现的网络算子。2.如权利要求1所述的一种基于计算图的算子监测方法,其特征在于,所述第一静态图中的每一个节点为所述中央处理器支持的一个网络算子。3.如权利要求1所述的一种基于计算图的算子监测方法,其特征在于,所述第二静态图中的每一个节点为所述人工智能处理器或中央处理器支持的一个网络算子。4.如权利要求1所述的一种基于计算图的算子监测方法,其特征在于,每个网络算子均配置有异常捕获机制。5.如权利要求4所述的一种基于计算图的算子监测方法,其特征在于,对于所述人工智能处理器未实现的网络算子,若所述异常捕获机制正常工作,则可以生成中央处理器节点与人工智能处理器节点混合的静态图,并将该混合的静态图作为所述第二静态图。6.一种基于计算图的算子监测系统,其特征在于,包括:计算图获取模块,其被配置为:获取待监测网络的计算图;第一静态图捕获模块,其被配置为:捕获中央处理...

【专利技术属性】
技术研发人员:陈益强张泰安郭崎任姗
申请(专利权)人:山东产业技术研究院智能计算研究院
类型:发明
国别省市:

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

1