一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种任务处理方法、装置、设备及存储介质与流程

2022-02-22 07:14:46 来源:中国专利 TAG:
一种任务处理方法、装置、设备及存储介质与流程

本申请实施例涉及计算机视觉领域,涉及但不限于一种任务处理方法、装置、设备及存储介质。

背景技术

在计算机视觉领域中,相关技术采用单个算法模块的技术解决现实场景中的问题。但是在复杂场景下,通过构造全景图解决复杂场景中的问题。但是由于全景图中包括的模型较多,使得对全景图的更新较慢。



技术实现要素:

本申请实施例提供一种全景图更新技术方案。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种任务处理方法,所述方法包括:

获取的待处理任务对应的第一全景图;其中,所述第一全景图包括至少两个操作单元和每一所述操作单元对应的资源单元;所述至少两个操作单元对应的网络模型在所述待处理任务的处理过程中具有依赖关系;

响应于获取的所述待处理任务的至少一个子任务,在所述至少两个操作单元和每一所述操作单元对应的资源单元中,确定与处理每一子任务的网络模型相关的目标单元;

对所述至少一个子任务的对应的目标单元中的网络模型进行训练,得到第二全景图,以对所述待处理任务进行处理。

在一些实施例中,所述响应于获取的所述待处理任务的至少一个子任务,在所述至少两个操作单元和每一所述操作单元对应的资源单元中,确定与处理每一子任务的网络模型相关的目标单元,包括:基于每一所述子任务,在所述第一全景图中确认对该子任务对应的目标单元训练流程的全景子图;基于所述全景子图,在所述至少两个操作单元和所述资源单元中,确定所述目标单元。如此,通过在所述第一全景图中确认对该子任务对应的目标单元训练流程,能够在第一全景图中快速快速构建全景子图以训练该子任务的网络模型。

在一些实施例中,所述基于每一所述子任务,在所述第一全景图中确认对该子任务对应的目标单元训练流程的全景子图之后,所述方法还包括:将前端的所述全景子图转换为后端的推理工作流;基于所述推理工作流,对所述全景子图对应的子任务进行处理,得到所述子任务的处理结果。如此,通过将前端的更新全景子图翻译成推理工作流,无缝连接子图中各个不同功能的节点,从而采用该子图能够独立完成对子任务的推理功能。

在一些实施例中,所述至少一个子任务包括第一子任务和第二子任务,所述第一子任务的网络模型和所述第二子任务的网络模型在所述待处理任务的处理过程中具有依赖关系;所述对所述至少一个子任务的对应的目标单元中的网络模型进行训练,得到第二全景图,包括:分别基于所述第一子任务的第一全景子图和所述第二子任务的第二全景子图对应的目标单元,使用所述目标单元中的资源单元对操作单元对应的网络模型进行训练,得到训练后的操作单元;使用所述训练后的操作单元对所述第一全景图进行更新,得到所述第二全景图。如此,将该已训练模型的工作流数据导入全景子图的训练后的操作单元,实现对第一全景图的更新,能够实现对第一全景图整个链条的更新,得到第二全景图。

在一些实施例中,所述第二子任务包括第一子任务;所述分别基于所述第一全景子图和所述第二全景子图对应的目标单元,使用所述目标单元中的资源单元对操作单元对应的网络模型进行训练,得到训练后的操作单元,包括:使用所述第一全景子图对应的目标单元中的第一资源单元的数据集对第一操作单元中的网络模型进行训练,得到训练后的第一操作单元;基于训练后的所述第一操作单元和所述第二全景子图对应的目标单元中的第二资源单元的数据集,对第二操作单元中的网络模型进行训练,得到训练后的第二操作单元。如此,通过在第二全景子图中导入第一子任务的已训练模型,能够加快对第二子任务的网络模型的训练过程,从而快速实现对整个第一全景图的更新。

在一些实施例中,所述使用所述第一全景子图对应的目标单元中的第一资源单元的数据集对第一操作单元中的网络模型进行训练,得到训练后的第一操作单元,包括:将前端的所述第一全景子图转换为后端的训练中间结果子图;基于所述训练中间结果子图中的每一操作单元对应的预设图模板,构建第一运行子图;其中,每一所述操作单元对应的预设图模板为前端基于任务设定的;将所述第一运行子图,转换为能够训练所述第一操作单元中的网络模型的训练工作流;基于所述训练工作流和所述第一资源单元的数据集,对所述第一操作单元中的网络模型进行训练,得到所述训练后的第一操作单元。如此,基于有向无化图中的操作单元,结合各个操作单元对应的预设图模板,生成最终可被后端运行的工作流,可以实现复杂场景下多个模型的有序训练。

在一些实施例中,在所述第一操作单元中包括其他网络模型的情况下,所述使用所述训练后的操作单元对所述第一全景图进行更新,得到所述第二全景图,包括:获取所述其他网络模型对应的其他已训练模型;基于所述其他已训练模型对应的操作单元,更新包括所述训练后的第一操作单元的第一全景子图,得到已更新第一全景子图;基于所述已更新第一全景子图,更新所述第一全景图,得到所述第二全景图。如此,将该已更新第一全景子图替换第一全景图中相应的资源单元和操作单元,得到第二全景图,能够提高该网络模型精度。

在一些实施例中,在所述待处理任务为分类识别任务,所述子任务为所述分类识别任务中的检测子任务的情况下,所述目标单元至少包括:用于进行检测数据集标注的资源单元和包括待训练检测模型的操作单元。如此,对分类识别任务中的检测子任务进行处理,在快速搭建对检测模型进行训练的处理流程的同时还能够高效的实现对检测子任务的处理。

本申请实施例提供一种全景图更新装置,所述装置包括:

第一获取模块,用于获取的待处理任务对应的第一全景图;其中,所述第一全景图包括至少两个操作单元和每一所述操作单元对应的资源单元;所述至少两个操作单元对应的网络模型在所述待处理任务的处理过程中具有依赖关系;

第一确定模块,用于响应于获取的所述待处理任务的至少一个子任务,在所述至少两个操作单元和每一所述操作单元对应的资源单元中,确定与处理每一子任务的网络模型相关的目标单元;

第一训练模块,用于对所述至少一个子任务的对应的目标单元中的网络模型进行训练,得到第二全景图,以对所述待处理任务进行处理。

对应地,本申请实施例提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令被执行后,能够实现上述的任务处理方法。

本申请实施例提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时能够实现上述的任务处理方法。

本申请实施例提供一种任务处理方法、装置、设备及存储介质,在待处理任务的第一全景图中,对于该待处理任务的任一子任务,首先,通过第一全景图中的操作单元和该操作单元对应的资源单元,确定出该子任务的网络模型相关的目标单元;这样,通过对子任务进行分析,能够在第一全景图中确认出处理该任务的目标单元;然后,通过对该目标单元中的网络模型进行训练,实现对第一全景图中的子模型的更新,得到第二全景图,进而采用该第二全景图可实现对待处理任务的处理;如此,对于待处理任务中的任一子任务,通过在第一全景图中选取合理的目标单元即可以实现对该子任务的网络模型的训练过程,从而实现对第一全景图的更新,进而能够提高对整个第一全景图进行更新的效率。

附图说明

图1为本申请实施例提供的任务处理方法的实现流程示意图;

图2为本申请实施例提供的任务处理方法的另一实现流程示意图;

图3为本申请实施例提供的全景图的组成结构示意图;

图4为本申请实施例提供的更新全景图的组成结构示意图;

图5为本申请实施例提供的更新全景图的另一组成结构示意图;

图6为本申请实施例任务处理装置的结构组成示意图;

图7为本申请实施例电子设备的组成结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一\\第二\\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\\第二\\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

1)串接,在本申请实施例中是指将不同任务的处理流程连接在一起。

2)应用容器引擎(Docker),是一个开源的应用容器引擎,让开发者可以打包其应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的操作系统机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

下面说明本申请实施例提供的任务处理设备的示例性应用,本申请实施例提供的设备可以实施为具有数据处理功能的笔记本电脑,平板电脑,台式计算机,移动设备(例如,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为终端或服务器时示例性应用。

该方法可以应用于电子设备,该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。

本申请实施例提供一种任务处理方法,如图1所示,结合如图1所示步骤进行说明:

步骤S101,获取的待处理任务对应的第一全景图。

在一些实施例中,该待处理任务可以是任意复杂场景的数据处理任务,需要多个不同的算法模块相结合来实现。比如,工业生产、航空航海、农产品包装等领域相关的场景。第一全景图所处理任务可以是对于复杂场景中的图像进行图像识别的任务,比如,在工业生产场景下,对于某些零部件缺陷的识别,该图片信息具有十分复杂的背景。或者,在航空航海场景下,待处理任务可以是对海上船只的分类和识别等。

所述第一全景图包括至少两个操作单元和每一所述操作单元对应的资源单元;所述至少两个操作单元对应的网络模型在所述待处理任务的处理过程中具有依赖关系。其中,第一全景图(raw graph)为用户在画布上构建的人工智能模型生成的完整解决方案,包括模型训练、评测、推理逻辑串联等功能。其中,画布是人工智能训练平台上用户拖拽不同组件,以构建模型生产全流程的版块。多个操作单元对应的网络模型在待处理任务的处理过程中具有逻辑上的依赖关系;比如,在任务处理过程中,运行第二操作单元对应的网络模型,需要先运行第一操作单元对应的网络模型;即第二操作单元对应的网络模型的输入,依赖于第一操作单元对应的网络模型的输出。

该第一全景图可以是在前端的画布上通过拖拽形成的。在前端的第一全景图文件包括的操作单元和资源单元中,确定实现待处理任务的操作单元和资源单元;并按照操作单元和资源单元之间的执行顺序,确定这多个操作单元和资源单元之间的连接关系。按照该连接关系,在前端的画布上,通过拖拽操作,将多个操作单元和资源单元进行连接,形成全景图。

第一全景图以文件的形式存储在人工智能训练平台中。在一些实施方式中,所述第一全景图包括操作单元和数据资源单元;在另一些实施方式中,所述第一全景图包括操作单元、数据资源单元以及操作单元和数据资源单元之间的连接关系,如连接线。所述操作单元可以包括对应算法模块的训练、推理、评测等功能,也可以包括与该操作单元连接的资源单元名称。所述资源单元的属性可以包括模型训练或推理过程中的数据实体,也可以包括数据集接口函数、输入输出数据的格式、图片尺寸等。

步骤S102,响应于获取的所述待处理任务的至少一个子任务,在所述至少两个操作单元和每一所述操作单元对应的资源单元中,确定与处理每一子任务的网络模型相关的目标单元。

在一些实施例中,待处理任务可以是主动获取的,比如,待处理任务为对工业生产场景中的图像进行零部件缺陷的识别,那么该待处理任务的子任务可以是进行缺陷识别过程中的子任务;比如,图像检测子任务或者图像识别子任务等。子任务可以是采用图像采集器进行采集获取的图像,还可以是其他设备发送的图像。待处理任务的至少一个子任务在处理过程中子任务之间具有依赖关系,比如,对第二子任务的处理依赖于第一子任务的处理结果。

该网络模型可以是用于处理子任务的网络模型;目标单元为与该网络模型相关的操作单元或资源单元。比如,子任务为检测任务,那么网络模型可以是待训练的检测模型。该目标单元至少包括一个操作单元和一个资源单元,其中该操作单元中包括待训练的检测模型,资源单元中包括训练数据集。目标单元为与该待训练的检测模型相关的包括待训练的检测模型的操作单元和作为该操作单元的输入的资源单元,比如,资源单元包括已标注样本数据。

在一个具体例子中,在所述第一全景图所处理的任务为分类识别任务,所述子任务为所述分类识别任务中的检测子任务的情况下,所述目标单元至少包括:用于进行检测数据集标注的资源单元和包括待训练检测模型的操作单元。

在所述第一全景图所处理的任务为分类识别任务,所述子任务为所述分类识别任务中的识别子任务的情况下,所述目标单元至少包括:作为起点的包括已训练检测模型的操作单元以及作为终点的包括待训练缺陷分类模型的操作单元。

步骤S103,对所述至少一个子任务的对应的目标单元中的网络模型进行训练,得到第二全景图,以对所述待处理任务进行处理。

在一些实施例中,首先,通过确定目标单元包括的操作单元和资源单元在第一全景图中的位置;然后,按照该位置,在第一全景图中提取出实现网络模型的训练流程的全景子图。这样,对于子任务,通过确定该子任务相关的目标单元,可以快速搭建对网络模型进行训练的全景子图,从而能够通过对全景子图进行训练,实现对第一全景图中的网络模型进行训练。将训练后的网络模型导入第一全景图中个,即可得到第二全景图。并通过将第二全景图转换为推理工作流,基于该工作流对待处理任务进行处理。

在本申请实施例中,在待处理任务的第一全景图中,多个操作单元对应的网络模型在待处理任务的处理过程中具有依赖关系;对于该待处理任务的任一子任务,首先,通过第一全景图中的操作单元和该操作单元对应的资源单元,确定出该子任务的网络模型相关的目标单元;这样,通过对子任务进行分析,能够在第一全景图中确认出处理该任务的目标单元;然后,通过对该目标单元中的网络模型进行训练,实现对第一全景图中的子模型的更新,得到第二全景图,进而采用该第二全景图可实现对待处理任务的处理;如此,对于待处理任务中的任一子任务,通过在第一全景图中选取合理的目标单元即可以实现对该子任务的网络模型的训练过程,从而实现对第一全景图的更新,进而能够提高对整个第一全景图进行更新的效率。

在一些实施例中,通过在第一全景图的操作单元和资源单元中,选择与子任务的目标单元训练流程的全景子图,从而确定出实现该子任务的目标单元,即上述步骤S102可以通过以下步骤S121和S122(图示未示出)实现:

步骤S121,基于每一所述子任务,在所述第一全景图中确认对该子任务对应的目标单元训练流程的全景子图。

在一些实施例中,对于每一子任务,确定该子任务对应的目标单元训练流程,即该子任务的网络模型的训练流程。网络模型的训练流程为训练该模型的过程中涉及到的操作和数据集,以及操作和数据集之间的输入输出关系等;比如,模型为待训练检测模型,那么训练流程为先是已标注的样本数据集,然后是待训练的检测模型;二者之间的输入输出关系为,将该样本数据集作为待训练的检测模型的输入,实现对该模型的训练。

在一些可能的实现方式中,在一些实施例中,通过确定出对该子任务对应的目标单元训练流程之后,在第一全景图中,确认实现该训练流程的全景子图。按照该训练流程的起点,在第一全景图的操作单元和资源单元中,选择该起点所匹配的单元,可以是操作单元,还可以是资源单元。比如,网络模型为待训练检测子模型,待训练检测子模型的处理流程的起点为已标注的样本数据集,终点是待训练的检测模型;基于此,在第一全景图的操作单元和资源单元中,确定包括已标注的样本数据集的资源单元作为起点,确定包括待训练的检测模型的操作单元作为终点。

在一个具体例子中,如果网络模型为待训练识别子模型,由于待训练识别子模型的处理流程中涉及到检测模型,所以采用已训练检测模型作为起点,终点为分类模型;基于此,在第一全景图的操作单元和资源单元中,确定包括已训练的检测模型操作单元作为起点,确定包括待训练的分类模型的操作单元作为终点,通过在第一全景图中,将起点对应的单元与终点对应的单元进行连接,即可得到该子任务对应的目标单元训练流程的全景子图。

步骤S122,基于所述全景子图,在所述至少两个操作单元和所述资源单元中,确定所述目标单元。

在一些实施例中,在第一全景图中通过子任务的目标单元训练流程,确认出全景子图;将该全景子图的起点单元和终点单元作为目标单元,或者将该全景子图中涉及到的操作单元以及资源单元作为该子任务的目标单元。

以目标单元为全景子图中的起点和终点为例,以网络模型为待训练识别子模型,目标单元为包括已训练的检测模型操作单元,以及包括待训练的分类模型的操作单元。在第一全景图中,将包括已训练的检测模型操作单元作为起点,包括待训练的分类模型的操作单元作为终点,由该起点和终点所形成的全景子图包括:已训练的检测模型的操作单元、包括已训练的检测模型的输出数据的资源单元、包括部件筛选器的操作单元、包括部件筛选器的输出数据的资源单元以及待训练的分类模型的操作单元。

在本申请实施例中,通过在所述第一全景图中确认对该子任务对应的目标单元训练流程,能够在第一全景图中快速快速构建全景子图以训练该子任务的网络模型。

在其他实施例中,以目标单元为全景子图中的全部操作单元和资源单元为例,通过按照该子任务对应的目标单元训练流程在第一全景图的操作单元和资源单元中,确定出与网络模型相关的多个操作单元和相应的资源单元,通过连接这些操作单元和资源单元,搭建对该子任务的网络模型进行更新的全景子图。如此,通过将训练流程涉及到的操作单元和资源单元,作为构建对网络模型进行训练的全景图子图的目标单元。比如,网络模型为待训练识别子模型,将待训练识别子模型的训练流程中涉及到的:已训练的检测模型的操作单元、包括已训练的检测模型的输出数据的资源单元、包括部件筛选器的操作单元、包括部件筛选器的输出数据的资源单元以及待训练的分类模型的操作单元作为目标单元。在该第一全景图中,确定出与训练流程相关的所有操作单元和资源单元之后,即可得到该目标单元,按照目标单元之间的连接关系,即这些目标单元形成的全景子图,对目标单元中的网络模型进行训练。

本申请实施例中提供了另一种确定目标单元的过程,在该实现方式中,首先,通过分析目标单元训练流程,在第一全景图中确定实现该训练流程的全景子图;然后,将该全景子图中相关的操作单元和资源单元,作为目标单元;最后,基于该全景子图中的目标单元对其中的网络模型进行训练,进而能够快速构建不同的全景子图以更新相应的网络模型。

在一些实施例中,对网络模型进行训练之后,将已训练模型的数据导入全景子图中,实现对全景子图的更新,通过更新的全景子图,独立完成对子任务的处理,可以通过以下步骤实现:

第一步,将前端的所述全景子图转换为后端的推理工作流。

这里,将前端的全景子图转换为后端的推理工作流。即,首先,将前端的所述全景子图转换为后端的推理中间结果子图;然后,基于中间结果子图中的每一操作单元对应的预设图模板,构建推理运行子图;最后,采用推理转换器,将该推理运行子图转换为推理工作流,以便于采用该推理工作流对子任务进行处理。

第二步,基于所述推理工作流,对所述全景子图对应的子任务进行处理,得到所述子任务的处理结果。

这里,在后端采用转换后的推理工作流对子任务进行独立处理,得到处理结果。比如,后端的调度工具,通过调用转换后的推理工作流,实现对子任务的处理。如此,通过将前端的更新全景子图翻译成推理工作流,无缝连接子图中各个不同功能的节点,从而采用该子图能够独立完成对子任务的推理功能。

在一些实施例中,通过运行子任务的全景子图,对实现该子任务的网络模型进行训练,从而实现对第一全景图的更新,即步骤S103,可以通过图2所示的步骤实现:

步骤S201,分别基于所述第一子任务的第一全景子图和第二子任务的第二全景子图对应的目标单元,使用所述目标单元中的资源单元对操作单元对应的网络模型进行训练,得到训练后的操作单元。

在一些实施例中,至少一个子任务包括第一子任务和第二子任务,所述第一子任务的网络模型和所述第二子任务的网络模型在所述待处理任务的处理过程中具有依赖关系;比如,第二子任务的网络模型的训练过程依赖于第一子任务的网络模型。分别基于第一子任务的第一全景子图中的资源单元和操作单元,以及第二子任务的第二全景子图中的资源单元和操作单元,使用资源单元中的样本数据对操作单元中的网络模型进行训练,得到包括已训练网络模型的训练后的操作单元。

在一些可能的实现方式中,如果第二子任务包括第一子任务,那么对第一子任务的网络模型进行训练的过程为:使用该第一子任务的第一全景子图中的资源单元的数据集对操作单元中的网络模型进行训练,得到已训练的网络模型。

对第二子任务的网络模型进行训练的过程为:依赖于第一子任务的已训练网络模型,结合第二全景子图中资源单元的数据集以及该第一子任务的已训练网络模型,对对操作单元中的网络模型进行训练,得到第二子任务的已训练的网络模型。

步骤S202,使用所述训练后的操作单元对所述第一全景图进行更新,得到所述第二全景图。

在一些实施例中,首先,通过将前端的全景子图转换为后端的训练工作流;然后,基于该训练工作流对网络模型进行训练,从而得到已训练模型,并将该已训练模型的工作流数据导入全景子图的训练后的操作单元,实现对第一全景图的更新,如此,能够实现对第一全景图整个链条的更新,得到第二全景图。

在一些可能的实现方式中,在第二子任务包括第一子任务的情况下,训练后的操作单元包括训练后的第一操作单元和训练后的第二操作单元;通过采用已训练操作单元分别对所属的全景子图进行更新,实现对第一全景图的更新,首先,通过训练后的第一操作单元,更新第一全景子图,得到已更新第一全景子图。比如,将该训练后的第一操作单元替换第一全景子图中的第一操作单元,得到已更新第一全景子图。然后,基于训练后的第二操作单元替换第二全景子图中的第二操作单元,以及基于已更新第一全景子图替换第二全景子图中与之相应的操作单元和资源单元,得到已更新第二全景子图。最后,将该已更新第二全景子图替换到第一全景图中,得到第二全景图。

在一些实施例中,在第二子任务包括第一子任务的情况下,对第二子任务的网络模型的训练依赖于第一子任务的网络模型,即上述步骤S201可以通过以下步骤实现:

步骤S211,使用所述第一全景子图对应的目标单元中的第一资源单元的数据集对第一操作单元中的网络模型进行训练,得到训练后的第一操作单元。

在一些实施例中,第一全景子图对应的目标单元中的第一资源单元为,第一全景子图中的包括训练样本数据集的资源单元,可以是该第一全景子图的起点;第一操作单元为第一全景子图中包括该第一子任务的网络模型的操作单元。通过使用该第一资源单元的数据集作为样本数据,对第一操作单元中的网络模型进行训练,得到已训练网络模型,将该已训练网络模型导入第一操作单元,即可得到训练后的第一操作单元。

步骤S212,基于训练后的所述第一操作单元和所述第二全景子图对应的目标单元中的第二资源单元的数据集,对第二操作单元中的网络模型进行训练,得到训练后的第二操作单元。

在一些可能的实现方式中,基于训练后的第一操作单元以及第二全景子图对应的目标单元中的第二资源单元的数据集,对所述第二操作单元中的网络模型进行训练;该第二全景子图中的第二资源单元的数据集至少包括用于训练第二操作单元的网络模型的样本数据集,还可以包括用于训练第一操作单元的网络模型的样本数据集以及已训练的第一操作单元中的网络模型输出的数据集。

在一个具体例子中,以待处理任务为零部件缺陷的识别任务,第一子任务为部件检测任务,第二子任务为零部件缺陷的分类任务为例,第一全景子图中包括用于训练部件检测模型的样本数据集D1的第一资源单元和包括待训练部件检测模型的第一操作单元;采用该样本数据集D1对该待训练部件检测模型进行训练,得到已训练部件检测模型,进而得到包括已训练部件检测模型的训练后的第一操作单元。

由于部件检测任务为实现零部件缺陷的分类任务的部分任务,所以对零部件缺陷的分类模型的训练依赖于部件检测模型。第二全景子图中包括:包括用于训练部件检测模型的样本数据集D1的第一资源单元、包括已训练部件检测模型的训练后的第一操作单元、包括已训练部件检测模型输出的数据集D2的资源单元、包括部件筛选器的操作单元、包括用于训练分类模型的样本数据集D3的资源单元以及包括待训练分类模型的操作单元。这样,基于第二全景子图中第一资源单元的样本数据集D1、已训练部件检测模型、已训练部件检测模型输出的数据集D2、部件筛选器和样本数据集D3对待训练分类模型进行训练,从而得到包括已训练分类模型的操作单元。

在一些实施例中,如果第二子任务与第一子任务是并列执行或者,第一子任务与第二子任务为待处理任务中分别独立执行的子任务,那么对第二子任务的网络模型的训练可以不依赖于第一子任务的网络模型,即使用第二全景子图对应的目标单元中的第二资源单元的数据集,即可完成对第二子任务的网络模型的训练。

在本申请实施例中,在第二子任务包括第一子任务的情况下,在第二子任务的网络模型的训练过程中,结合第一子任务的已训练模型,通过在第二全景子图中导入第一子任务的已训练模型,能够加快对第二子任务的网络模型的训练过程,从而快速实现对整个第一全景图的更新。

在一些实施例中,为提高对网络模型的更新速率,通过将前端的全景子图翻译为后端的训练工作流,完成对网络模型的训练,即上述步骤S211可以通过以下步骤实现:

第一步,将前端的所述第一全景子图转换为后端的训练中间结果子图。

训练中间结果图以中间文件的形式进行存储,中间文件中每一操作单元、与每一所述操作单元具有输入关系和/或输出关系的资源单元。

一种可能的实现方式是,对于全景子图的文件中的所有操作单元,将每一操作单元的输入资源单元或输出资源单元并入相应操作单元中;同时基于前端展示图中各个操作单元之间的连接关系,确定与同一资源单元有输入输出关系的两个操作单元之间的连接关系,保存全景子图的文件中所有操作单元和每两个操作单元之间的连接关系,得到转换后的中间文件。这样,转换后的中间文件可以方便存储全景子图的内容,并为后续其他功能图的转换提供支持。

一种可能的实现方式是,对于全景子图中的所有操作单元,将每一操作单元的输入资源单元或输出资源单元并入相应的操作单元中;同时基于全景子图中各个操作单元之间的连接关系,确定与同一资源单元有输入输出关系的两个操作单元之间的连接关系,将该连接关系也合入对应操作单元的属性中,直接存储所有操作单元的属性,得到转换后的中间文件。这样,转换后的中间文件可以方便存储全景子图的内容,可以衔接全景子图并且可以满足转换成其他图的需要,解决了全景子图到后端可运行的工作流图难以转换翻译的问题。

第二步,基于所述训练中间结果子图中的每一操作单元对应的预设图模板,构建第一运行子图。

这里,每一所述操作单元对应的预设图模板为前端基于任务设定的;所述第一运行图的起始点为所述训练中间结果图中的任一操作单元。中间结果图为有向无环图(Directed Acyclic Graph,DAG),表明所述中间结果图中的所有操作单元各自完成整个任务的一部分,且各操作单元之间满足特定执行顺序的约束,其中一些操作单元的开始必须是另一些操作单元执行完成之后。这样,能够确定由所有操作单元组成的任务能够在有效时间内顺利进行。第一运行图的起始点可以是依据需要进行的子任务设定的;比如,需要进行的子任务为对检测模型进行训练,起始点为样本数据集输入节点。

第三步,将所述第一运行子图,转换为能够训练所述第一操作单元中的网络模型的训练工作流。

以子任务为对于工业场景中的缺陷识别任务中的识别子任务为例,用户需要先检测出部件,然后对部件中是否有缺陷分别进行分类。这样全景子图中包括已训练的检测模型和待训练的分类模型,训练分类模型的数据依赖于检测模型的推理结果。从而针对识别子任务的情况下,模型训练平台的前端预留物体检测模型相关的已训练检测模型工作流模板、检测评估工作流模板,以及图像分类模型相关的检测训练工作流模板、检测评估工作流模板。

第四步,基于所述训练工作流和所述第一资源单元的数据集,对所述第一操作单元中的网络模型进行训练,得到所述训练后的第一操作单元。

在对前端的全景子图进行翻译为后端的训练工作流之后,按照各个操作单元之间的逻辑关系,训练多个操作单元,这样得到包括已训练网络模型的训练后的第一操作单元。如此,基于有向无化图中的操作单元,结合各个操作单元对应的预设图模板,生成最终可被后端运行的工作流,可以实现复杂场景下多个模型的有序训练。

在一些可能的实现方式中,首先,基于所述训练工作流,确定所述第一运行图中的不同操作单元之间的逻辑关系。比如,第一运行图中的操作单元包括:检测数据集标注单元和检测模型训练单元等,按照检测数据集标注单元和检测模型训练单元之间在训练过程中的执行的先后顺序关系,基于检测数据集标注单元对样本数据集进行标注;然后,采用标注好的样本数据集,对检测模型训练单元中的待训练的检测模型进行训练,进而实现对网络模型的操作单元的训练。如此,通过分析多个操作单元之间的逻辑关系,能够更加准确且合理的实现对操作单元中网络模型的训练。

上述第一步至第四步提供了一种实现“使用所述第一全景子图对应的目标单元中的第一资源单元的数据集对第一操作单元中的网络模型进行训练,得到训练后的第一操作单元”的过程,在该方式中,通过将前端的全景子图翻译为后端的训练工作流,基于该训练工作流独立完成对网络模型的训练过程,进而实现对完整的第一全景图的更新。

在一些实施例中,为提高对待训练的模型的训练速度以及该网络模型的精度,在所述第一操作单元中包括其他网络模型的情况下,可以通过以下步骤实现对网络模型的更新:

第一步,获取所述其他网络模型对应的其他已训练模型。

在一些实施例中,第一全景子图的第一操作单元中包括其他网络模型,该其他网络模型可以是与第一操作单元中的网络模型互相独立,还可以是第一操作单元的网络模型的训练过程依赖于该其他网络模型。

第二步,基于所述其他已训练模型对应的操作单元,更新包括所述训练后的第一操作单元的第一全景子图,得到已更新第一全景子图。

在一些实施例中,可以采用该其他已训练模型对训练后的第一操作单元中的网络模型进行调整,得到调整后的网络模型,将包括调整后的网络模型的第一全景子图,作为已更新第一全景子图。

第三步,基于所述已更新第一全景子图,更新所述第一全景图,得到所述第二全景图。

在一些实施例中,将该已更新第一全景子图替换第一全景图中相应的资源单元和操作单元,得到第二全景图;如此,以提高该网络模型精度,

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用,以针对复杂场景下快速构建算法解决流程,以该复杂场景下的子任务进行处理为例,进行说明。

近年来,深度学习算法在各个领域都取得了巨大的进展,也在很多工业领域取得了落地。然而,对于工业场景中的复杂问题,由于整个流程(pipeline)的复杂性、多样化、多模块以及多模态等问题,在算法解决方案上通常也需要适配多个不同模块算法的串接与融合,以下称作全景图。对于一整套算法解决方案,通过构建一张全景图来描述,但是具体到每个子任务,可以通过分阶段自动化来运行相应的子任务。

需要说明的是,很多场景问题并不能转化为单一的基本任务,也无法使用一个基本任务模型解决问题。在实施中,对复杂任务进行功能拆分,对每个功能进行抽象定义,划分成彼此独立的模块,模块与模块之间相互连接,前一个模块的输出是后一个模块的输入,最后一个模块产生任务结果。也就是说,将复杂问题拆解的若干算法模块和相应数据处理模块,这样通过用户在人工智能训练平台的前端交互界面上拖拽不同算法模块和数据处理模块形成第一全景图,用于描述一个实际场景下完整的人工智能解决方案,包括模型训练、评测、推理逻辑串联等功能。

基于此,本申请实施提出了一种全链条多模块分阶段自动化训练的方法。基于全景图的概念,不同的算法模块在图中称作为算法节点,不同的数据处理模块称作为处理节点,不同模块之间的串接在全景图中称作为边。基于全景图,能够快速串接不同的算法模块,达到整体构建整个算法方案的效果,为不同的复杂场景构建专门的全景图算法方案。通过选取合适的起点和终点,即可从全景图中构建对应的子图,分阶段自动化的运行。

在大工业场景,比如,部件的缺陷识别场景下,通过先检测出具体的部件,然后对具体部件的缺陷进行分类识别,以实现缺陷识别。因此检测 分类是常用的算法组合方案。在本申请实施例中,同样以检测模块 分类模块的串接为例,对本申请实施例进行阐述。如图3所示,图3为本申请实施例提供的全景图的组成结构示意图,从图3可以看出,该全景图中包括:数据集D1、一个部件检测模型M1、数据集D2、部件筛选器301、数据集D3-1和数据集D3-2,以及两个部件的缺陷识别模型分为别部件缺陷分类模型M2和部件缺陷分类模型M3等。

结合图3进行以下说明,实现缺陷识别的全景图包括:

数据集D1:用于表示初始的数据输入,可以用来训练一个初始的部件检测模型。

部件检测模型M1:使用D1数据集训练产生的部件检测模型。

数据集D2:经过部件检测模型M1后带有各种部件Bbox信息的数据集。

部件筛选器301:用于筛选形成不同的数据集。

数据集D3-1和D3-2:部件筛选器301对数据集筛选后,形成的部件数据集。

部件缺陷分类模型M1和M2:用于针对不同的部件的缺陷分类模型。

在初始构建整个算法解决方案时,通过构建一张如图3所示完整的全景图来分阶段运行和训练各个阶段的模型,从而实现一个完整的流程基础管线。随着模型的上线应用和数据的日益积累,以及不同模型精度要求和差异,本申请实施例还可以自适应地来迭代更新其中的子模型。如图4所示,可以选合适的起点和终点来更新检测子模型。图4为本申请实施例提供的更新全景图的组成结构示意图,结合图4进行以下说明:

在图4中,如果对图4中的部件检测模型M1进行更新,那么选择数据集D1为起点,部件检测模型M1为终点;以数据集D1为训练数据,对部件检测模型M1进行训练,从而得到已训练的部件检测模型。在图3提供的全景图的基础上,选择数据集D1和部件检测模型M1构建对检测子模型进行训练的全景子图401。如此,通过在前端全景图中选择合适的起点和终点,就可以从整张全景图中构建相应的子图来运行子任务和子工作流,从而用于更新子模型。这样,通过在全景图中的各个模型,不需要全部更新,通过完成子模型的更新,即可完成全链条的更新。

如果想仅更新某个部件的缺陷识别模型,也可以选择合理的起点和终点来构建子模型。但是如果依赖上游的任务中包含模型,比如,包含部件检测模型M1,则将部件检测模型M1替换成已训练的模型,在这种情况下不需要对部件检测模型M1进行训练,通过采用已训练的部件检测模型运行相应的推理即可。如图5所示,图5为本申请实施例提供的更新全景图的另一组成结构示意图,结合图5进行以下说明:

如果更新任务为对部件缺陷分类模型M2进行更新;由于在对部件缺陷分类模型M2进行更新的过程中,依赖上游的部件检测模型M1;分析部件检测模型M1是否为已训练的模型,如果部件检测模型M1不是已训练的模型,那么在图5中,将部件检测模型M1替换为已训练的检测模型;这样,将数据集D1作为起点,将部件缺陷分类模型M2作为终点,形成全景子图501。该全景子图501中包括:数据集M1、已训练的检测模型、数据集D2、部件筛选器、数据集D3-1和部件分类模型M2;通过翻译器,将前端的子图翻译成不同算法模块、数据处理模块之间的连接关系工作流,将前端构建的子图翻译成训练子工作流通过对该子图进行训练,从而实现了对整个全景图的更新。

在本申请实施例中,针对复杂的工业场景,可以直接在前端拖拽构建整个算法解决方案的一张完整的全景图,在该全景图中通过选取合理的起点和终点,可以构建不同的子图来更新相应的子模型;如此,通过完成子模型的更新即可完成整个全景图的更新。

本申请实施例提供一种任务处理装置,图6为本申请实施例任务处理装置的结构组成示意图,如图6所示,所述任务处理装置600包括:

第一获取模块601,用于获取的待处理任务对应的第一全景图;其中,所述第一全景图包括至少两个操作单元和每一所述操作单元对应的资源单元;所述至少两个操作单元对应的网络模型在所述待处理任务的处理过程中具有依赖关系;

第一确定模块602,用于响应于获取的所述待处理任务的至少一个子任务,在所述至少两个操作单元和每一所述操作单元对应的资源单元中,确定与处理每一子任务的网络模型相关的目标单元;

第一训练模块603,用于对所述至少一个子任务的对应的目标单元中的网络模型进行训练,得到第二全景图,以对所述待处理任务进行处理。

在一些实施例中,所述第一确定模块602,包括:

第一确认子模块,用于基于每一所述子任务,在所述第一全景图中确认对该子任务对应的目标单元训练流程的全景子图;

第一确定子模块,用于基于所述全景子图,在所述至少两个操作单元和所述资源单元中,确定所述目标单元。

在一些实施例中,所述装置还包括:

第一转换模块,用于将前端的所述全景子图转换为后端的推理工作流;

第一处理模块,用于基于所述推理工作流,对所述全景子图对应的子任务进行处理,得到所述子任务的处理结果。

在一些实施例中,所述至少一个子任务包括第一子任务和第二子任务,所述第一子任务的网络模型和所述第二子任务的网络模型在所述待处理任务的处理过程中具有依赖关系;所述第一训练模块603,包括:

第一训练子模块,用于分别基于所述第一子任务的第一全景子图和所述第二子任务的第二全景子图对应的目标单元,使用所述目标单元中的资源单元对操作单元对应的网络模型进行训练,得到训练后的操作单元;

第一更新子模块,用于使用所述训练后的操作单元对所述第一全景图进行更新,得到所述第二全景图。

在一些实施例中,所述第一训练子模块,包括:

第一训练单元,用于使用所述第一全景子图对应的目标单元中的第一资源单元的数据集对第一操作单元中的网络模型进行训练,得到训练后的第一操作单元;

第二训练单元,用于基于训练后的所述第一操作单元和所述第二全景子图对应的目标单元中的第二资源单元的数据集,对第二操作单元中的网络模型进行训练,得到训练后的第二操作单元。

在一些实施例中,所述第一训练单元,包括:

第一转换子单元,用于将前端的所述第一全景子图转换为后端的训练中间结果子图;

第一构建子单元,用于基于所述训练中间结果子图中的每一操作单元对应的预设图模板,构建第一运行子图;其中,每一所述操作单元对应的预设图模板为前端基于任务设定的;

第二转换子单元,用于将所述第一运行子图,转换为能够训练所述第一操作单元中的网络模型的训练工作流;

第三训练单元,用于基于所述训练工作流和所述第一资源单元的数据集,对所述第一操作单元中的网络模型进行训练,得到所述训练后的第一操作单元。

在一些实施例中,在所述第一操作单元中包括其他网络模型的情况下,所述第一更新子模块,包括:

第一获取单元,用于获取所述其他网络模型对应的其他已训练模型;

第一更新单元,用于基于所述其他已训练模型对应的操作单元,更新包括所述训练后的第一操作单元的第一全景子图,得到已更新第一全景子图;

第二更新单元,用于基于所述已更新第一全景子图,更新所述第一全景图,得到所述第二全景图。

在一些实施例中,在所述待处理任务为分类识别任务,所述子任务为所述分类识别任务中的检测子任务的情况下,所述目标单元至少包括:用于进行检测数据集标注的资源单元和包括待训练检测模型的操作单元。

需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的任务处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是终端、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、运动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

对应地,本申请实施例再提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令被执行后,能够实现本申请实施例提供的任务处理方法中的步骤。

相应的,本申请实施例再提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,所述该计算机可执行指令被处理器执行时实现上述实施例提供的任务处理方法的步骤。

相应的,本申请实施例提供一种电子设备,图7为本申请实施例电子设备的组成结构示意图,如图7所示,所述电子设备700包括:一个处理器701、至少一个通信总线、通信接口702、至少一个外部通信接口和存储器703。其中,通信接口702配置为实现这些组件之间的连接通信。其中,通信接口702可以包括显示屏,外部通信接口可以包括标准的有线接口和无线接口。其中所述处理器701,配置为执行存储器中图像处理程序,以实现上述实施例提供的任务处理方法的步骤。

以上任务处理装置、电子设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同相应方法实施例相似的技术描述和有益效果,限于篇幅,可案件上述方法实施例的记载,故在此不再赘述。对于本申请任务处理装置、电子设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献