任务执行方法、装置、电子设备、存储介质和程序产品制造方法及图纸

技术编号:30021239 阅读:16 留言:0更新日期:2021-09-11 06:42
本公开提供了一种任务执行方法、装置、电子设备、存储介质和程序产品,涉及人工智能领域,具体涉及计算机视觉技术,可应用于基础架构和视频流场景下。具体实现方案为:从算子构架的配置文件中读取第一算子的算子信息,其中,所述配置文件包括已经注册的所述第一算子的算子信息;基于所述算子信息调用所述第一算子执行第一任务。本公开可以降低工作量。本公开可以降低工作量。本公开可以降低工作量。

【技术实现步骤摘要】
任务执行方法、装置、电子设备、存储介质和程序产品


[0001]本公开涉及人工智能领域,具体涉及计算机视觉技术,可应用于基础架构和视频流场景下。

技术介绍

[0002]在计算机程序中算子被广泛应用,目前在添加算子时,在架构中代码文件中添加算子,且在调用算子时,需要先对其进行声明,再调用。

技术实现思路

[0003]本公开提供了一种任务执行方法、装置、电子设备、存储介质和程序产品。
[0004]根据本公开的一方面,提供了一种任务执行方法,包括:
[0005]从算子构架的配置文件中读取第一算子的算子信息,其中,所述配置文件包括已经注册的所述第一算子的算子信息;
[0006]基于所述算子信息调用所述第一算子执行第一任务。
[0007]根据本公开的另一方面,提供了一种任务执行装置,包括:
[0008]读取模块,用于从算子构架的配置文件中读取第一算子的算子信息,其中,所述配置文件包括已经注册的所述第一算子的算子信息;
[0009]第一执行模块,用于基于所述算子信息调用所述第一算子执行第一任务。
[0010]根据本公开的另一方面,提供了一种电子设备,包括:
[0011]至少一个处理器;以及
[0012]与所述至少一个处理器通信连接的存储器;其中,
[0013]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开提供的任务执行方法。
[0014]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开提供的任务执行方法。
[0015]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开提供的任务执行方法。
[0016]本公开中,由于调用已注册的算子执行任务,在调用时不需要对算子进行声明,从而可以降低工作量。
[0017]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0018]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0019]图1是本公开提供的一种任务执行方法的流程图;
[0020]图2是本公开提供的一种算子注册的示意图;
[0021]图3是本公开提供的一种算子调用的示意图;
[0022]图4是本公开提供的一种线程池的示意图;
[0023]图5是本公开提供的一种任务执行方法的示意图;
[0024]图6是本公开提供的一种任务执行装置的结构图;
[0025]图7是本公开提供的另一种任务执行装置的结构图;
[0026]图8是本公开提供的另一种任务执行装置的结构图;
[0027]图9是本公开提供的另一种任务执行装置的结构图;
[0028]图10是用来实现本公开实施例的任务执行方法的电子设备的框图。
具体实施方式
[0029]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0030]请参见图1,图1是本公开提供的一种任务执行方法的流程图,如图1所示,包括以下步骤:
[0031]步骤S101、从算子构架的配置文件中读取第一算子的算子信息,其中,所述配置文件包括已经注册的所述第一算子的算子信息。
[0032]其中,上述配置文件可以包括已经注册的一个或者多个算子的算子信息,这些算子可以是在步骤S101之前已经注册的。另外,上述配置文件与上述算子构架的工程代码可以是两个独立的程序内容,工程代码可以通过配置文件中的算子信息调用算子。
[0033]本公开中,注册可以是在注册函数中注册的算子。算子在注册后即可成为算子架构中可被调用的一个算子,算子架构可以在各个节点调用这些算子。
[0034]上述算子信息可以包括算子名,以实现通过算子名对算子进行调用。本公开中,在一些实施方式中,算子信息也可以包括算子的标识,以通过算子标识来确定算子,并调用算子。
[0035]步骤S102、基于所述算子信息调用所述第一算子执行第一任务。
[0036]上述基于所述算子信息调用所述第一算子执行第一任务可以是,基于上述算子信息使用注册函数获取上述第一算子对应的实现,并调用上述第一算子对应的实现执行上述第一任务,其中,第一算子对应的实现可以是第一算子对应的代码或者函数。
[0037]需要说明的是,本公开中,上述第一算子可以是计算机程序中可应用的任一算子,上述第一任务可以是计算机程序中第一算子可处理的任一任务,具体可以根据实际需求进行设定。
[0038]本公开中,通过上述步骤可以实现调用已注册的算子执行任务,这样在调用时不需要对算子进行声明,从而可以降低工作量。
[0039]本公开中,上述方法可以应用于电子设备,例如:计算机、手机、平板电脑、服务器等电子设备。
[0040]作为一种可选的实施方式,所述方法还包括:
[0041]将所述第一算子的代码进行封装,得到算子类;
[0042]将所述第一算子的算子名和算子指针以键值对的方式加入无序图中,并在所述算子类中添加所述无序图对应的注册代码,以完成所述第一算子的注册;
[0043]在所述配置文件中添加所述第一算子的算子名,其中,所述算子信息包括所述算子名。
[0044]上述将所述第一算子的代码进行封装可以是,对上述第一算子的代码按照统一接口进行封装,得到上述算子类。
[0045]在得到上述算子类后,将上述第一算子的算子名和算子指针以键值对的方式加入无序图中,该无序图中包括算子名和算子指针的对应关系。
[0046]上述在所述算子类中添加所述无序图对应的注册代码可以是,在上述算子类的最后一行中添加上述注册代码,将第一算子添加到注册表中。例如:如图2所示,将第一算子的代码按照统一接口封装得到算子类,之后,在算子类中添加注册代码,将第一算子添加到注册表中。
[0047]该实施方式中,由于将算子名和算子指针以键值对的方式加入无序图中,这样可以实现以算子名对第一算子进行调用,以简化算子调用过程。
[0048]另外,上述实施方式中,还可以通过模板类支持创建不同类型算子的注册,实现算子架构的灵活扩展。进一步的,可以通过一个注册类管理已经注册的算子,如管理算子的注册名,以及用于对算子进行解注册等管理。
[0049]需要说明的是,本公开中并不限定上述算子注册方式,例如:还可以直接基于非键值对的方式对算子进行注册。
[0050]在一些实施方式中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务执行方法,包括:从算子构架的配置文件中读取第一算子的算子信息,其中,所述配置文件包括已经注册的所述第一算子的算子信息;基于所述算子信息调用所述第一算子执行第一任务。2.根据权利要求1所述的方法,所述方法还包括:将所述第一算子的代码进行封装,得到算子类;将所述第一算子的算子名和算子指针以键值对的方式加入无序图中,并在所述算子类中添加所述无序图对应的注册代码,以完成所述第一算子的注册;在所述配置文件中添加所述第一算子的算子名,其中,所述算子信息包括所述算子名。3.根据权利要求1或2所述的方法,其中,所述第一算子包括未就绪状态、就绪状态和正在运行状态,所述基于所述算子信息调用所述第一算子执行第一任务,包括:在所述第一算子处于所述就绪状态的情况下,将所述第一任务添加到调度程序队列;在所述第一任务为所述调度程序队列的最高优先级的情况下,所述调度程序队列的执行器基于所述算子信息调用所述第一算子执行所述第一任务。4.根据权利要求1至3中任一项所述的方法,所述方法还包括:调度已经注册的第二算子针对第一数据执行第二任务,得到第三数据,所述第一数据为调用所述第一算子执行所述第一任务输出的第一数据;调度已经注册的第三算子针对第二数据执行第三任务,得到第四数据,所述第一数据为调用所述第一算子执行所述第一任务输出的第二数据;将所述第三数据和第四数据进行时间同步处理,并调用已经注册的第四算子对所述时间同步处理后的所述第三数据和第四数据执行第四任务。5.根据权利要求1至4中任一项所述的方法,所述方法还包括:对所述第一算子执行解注册,并删除所述配置文件中所述第一算子的算子信息。6.一种任务执行装置,包括:读取模块,用于从算子构架的配置文件中读取第一算子的算子信息,其中,所述配置文件包括已经注册的所述第一算子的算子信息;第一执行模块,用于基于所述算子信息调用所述第一算子执行第一任务。7.根据权利要求6所述的装置,所述装置还包括:封装模块,用于将所述第一算子的代码进行封装,得到算子类;注册模块,用于将所述第一算子的算子名和算子指...

【专利技术属性】
技术研发人员:王亚男曹璨刘洋慕正锋王晖李永博
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1