CN112558938A - 一种基于有向无环图的机器学习工作流调度方法及*** - Google Patents

一种基于有向无环图的机器学习工作流调度方法及*** Download PDF

Info

Publication number
CN112558938A
CN112558938A CN202011490334.3A CN202011490334A CN112558938A CN 112558938 A CN112558938 A CN 112558938A CN 202011490334 A CN202011490334 A CN 202011490334A CN 112558938 A CN112558938 A CN 112558938A
Authority
CN
China
Prior art keywords
component
machine learning
connection
components
directed acyclic
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.)
Granted
Application number
CN202011490334.3A
Other languages
English (en)
Other versions
CN112558938B (zh
Inventor
孙显
于泓峰
付琨
李硕轲
臧倩
祝阳光
闫志远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aerospace Information Research Institute of CAS
Original Assignee
Aerospace Information Research Institute of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aerospace Information Research Institute of CAS filed Critical Aerospace Information Research Institute of CAS
Priority to CN202011490334.3A priority Critical patent/CN112558938B/zh
Publication of CN112558938A publication Critical patent/CN112558938A/zh
Application granted granted Critical
Publication of CN112558938B publication Critical patent/CN112558938B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供了一种基于有向无环图的机器学习工作流调度方法,包括:S1,采用与组件类别相对应的组件封装模版对所述组件进行封装,其中,每个组件至少对应一个机器学习任务;S2,获取机器学习工作流所包含的机器学习任务及任务顺序,并按照该任务顺序对机器学习任务所对应组件进行连接;S3,根据连接后的组件生成有向无环工作流图,并根据该有向无环工作流图执行机器学习工作流。本公开还提供了一种基于有向无环图的机器学习工作流调度***。

Description

一种基于有向无环图的机器学习工作流调度方法及***
技术领域
本公开涉及人工智能领域,具体涉及一种基于有向无环图的机器学习工作流调度方法及***。
背景技术
近年来,机器学习(Machine Learning,ML)算法已经取得了飞速的发展与广泛的应用,因其算法的简洁性和强可解释性,在目标识别、目标检测等任务上都取得了显著的成果,并成功应用于金融交易、商品推荐、交通预测等领域。现有的机器学习算法大多都是从代码层进行构建和测试的,通常需要环境配置、算法流程设计、数据接口设计、程序编写、程序调试、部署服务等工序。对于机器学习领域的初级开发人员,进行代码层算法的开发与测试存在一定的难度。同时,对于比较紧急的应用项目,机器学习算法开发与测试的时间成本也过于高昂,不利于机器学习算法的应用与推广。而且,现有的开发模式对于机器学习算法的复用性不高,对于开发测试环境也有很强的依赖性,同一机器学习模型在面对不同的应用数据或应用到不同的任务时,大多需要重新配置操作环境、规划底层接口、调整程序结构等,这需要消耗开发人员大量的时间和精力,对人力资源造成了极大的浪费。
Flask是一个用Python语言编写的轻量级Web应用框架,因其简洁性和易于扩展性,通常也被称为微框架(microframework)。Flask的功能十分强大,基于该框架可以将一些个人应用发布到网页端,使得用户能够通过浏览器便轻松地访问这些程序。本申请实施例将基于Flask框架,为不同领域不同程度的开发人员,提供一种更加简单方便的机器学习算法开发与测试模式,简化设计流程,提升开发效率。
发明内容
本公开的主要目的在于提供一种基于有向无环图的机器学习工作流调度方法及***、电子设备、计算机可读存储介质,通过将底层代码进行了标准化的封装,对于初级开发人员,算法构建测试更加容易,且大大节省了模型构建与测试的时间成本,有利于机器学习算法的快速普及与大范围的应用。
本公开的第一方面提供了一种基于有向无环图的机器学习工作流调度方法,包括:S1,采用与组件类别相对应的组件封装模版对组件进行封装,其中,每个组件至少对应一个机器学习任务;S2,获取机器学习工作流所包含的机器学习任务及任务顺序,并按照该任务顺序对机器学习任务所对应组件进行连接;S3,根据连接后的组件生成有向无环工作流图,并根据该有向无环工作流图执行机器学习工作流。
可选地,S1中采用与组件类别相对应的组件封装模版对组件进行封装包括:采用与组件类别相对应的组件封装模版对组件进行封装,将组件的数据输入接口、数据输出接口及组件参数接口暴露出来,用于将每个组件对应进行顺序连接。
可选地,该方法还包括:S2I,按照该任务顺序对机器学习任务所对应组件进行连接后,根据组件的规范性输入类型、输入数量、输出类型及输出数量对前后连接的两个组件进行是否符合连接规范检查;其中,若符合,进行S3步骤;否则,拒绝不符合连接规范的连接组件并报错提示,重复执行S1~S2I步骤直至组件连接符合连接规范并执行S3步骤。
可选地,S3包括:S31,将连接后的组件进行编号,并根据组件的连接关系生成对应的连接元组,并标明连接元组的连接方向,其中,每个连接元组包含两个有连接关系的组件;S32,基于连接元组生成有向无环工作流图,并执行机器学习任务流程。
可选地,S31中该编号及连接元组具备唯一性,以使组件索引具有唯一性。
可选地,S2I中报错提示方式为弹框提示所述机器学习任务流程中组件的连接错误信息。
本公开的第二方面提供了一种基于有向无环图的机器学习工作流调度***,包括:组件封装模块,用于将与组件类别相对应的组件封装模版对组件进行封装,其中,每个组件至少对应一个机器学习任务;组件连接模块,用于获取机器学习工作流所包含的机器学习任务及任务顺序,并按照该任务顺序对机器学习任务所对应组件进行连接;有向无环工作流图构建模块,用于根据连接后的组件生成有向无环工作流图,并根据该有向无环工作流图执行机器学习工作流。
可选地,该***还包括:组件连接规范检查模块,用于根据组件的规范性输入类型、输入数量、输出类型及输出数量对组件连接模块输出的连接后的组件中前后连接的两个组件进行连接规范检查。
本公开的第三方面提供了一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时,实现本公开的第一方面提供的基于有向无环图的机器学习工作流调度方法。
本公开的第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本公开的第一方面提供的基于有向无环图的机器学习工作流调度方法。
本公开与现有技术相比,具备以下有益效果:
1)无需进行底层代码编写,实现机器学习算法的构建与测试;
2)对组件化的机器学习流程构建,进行连接合法性检查,并给出提示;
3)对构建的机器学习有向无环工作流图,自动按照连接关系与逻辑运行;
4)降低了机器学习算法开发、测试的难度,减少了算法构建与测试的时间成本。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1和图2示意性示出了根据本公开一实施例的基于有向无环图的机器学习工作流调度方法的流程图;
图3示意性示出了根据本公开一实施例的提供的模块化组件封装示意图;
图4示意性示出了根据本公开一实施例的基于有向无环图的机器学习工作流调度方法中生成有向无环工作流图的流程图;
图5示意性示出了根据本公开一实施例的基于有向无环图的机器学习工作流调度方法生成的多支路有向无环工作流图;
图6和图7示意性示出了根据本公开一实施例的基于有向无环图的机器学习工作流调度***的框图;
图8示意性示出了根据本公开一实施例的电子设备的硬件结构图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行***使用或者结合指令执行***使用。
图1示意性示出了根据本公开一实施例的基于有向无环图的机器学习工作流调度方法的流程图。
如图1所示,该方法包括:S1~S3步骤。
S1,采用与组件类别相对应的组件封装模版对组件进行封装,其中,每个组件至少对应一个机器学习任务。
根据本公开的实施例,将组件类别及组件的封装模板先按照组件功能进行定义,以便后续的新建组件操作以及不同组件间能够进行有效的连接,然后根据定义的组件模块化封装规范对组件进行封装,封装后的组件为同等级别的组件。其中,组件包括数据组件、数据预处理组件、机器学习模型组件及评估算法组件等,每个组件至少对应一个机器学习任务。
具体地,组件封装定义如图3所示,组件定义包括:输入类型、输入数据、输出类型、输出数量、组件参数及组件功能实现定义等。对不同的类型的组件,其输入和输出并不一样,如:数据集组件只有输出并没有输入,其输出数据类型可为图像分类、目标检测、命名实体识别等;特征提取组件,其输入类型为数据集,输出类型为提取的特征。另外,不同的组件具有不同的组件参数,因此将组件参数进行定义规范,以字典键值对的方式保存每个参数的名称、参数默认值、参数类型等信息,使其可以自由扩展。对于不同的组件,其具体的功能实现也不同,这里进行了模块化的封装,只暴露出组件的数据输入、数据输出以及组件参数定,以使一组件的输出对应其连接的另一组件的输入。
具体地,组件模块化封装,需要对每个组件建立一个对应的类,其中定义该组件的所有参数,包括:输入类型、输入数量、输出类型及输出数量,并在组件功能的入口方法中调用具体组件实现具体的机器学习任务,将获取的组件参数传递给组件功能实现组件内的程序,完成对组件功能的执行。
S2,获取机器学习工作流所包含的机器学习任务及任务顺序,并按照该任务顺序对机器学习任务所对应组件进行连接。
根据本公开的实施例,按照规范封装后的数据集、数据预处理、特征提取、机器学习算法(如分类、检测等)、性能评估的组件类型顺序对机器学习任务所对应组件进行顺序连接。
S3,根据连接后的组件生成有向无环工作流图,并根据该有向无环工作流图执行机器学习工作流。
根据本公开的实施例,如图4所示为生成有向无环工作流图的流程示意图,其包括:S31,将连接后的组件进行编号,并根据组件的连接关系生成对应的连接元组,并标明连接元组的连接方向,其中,每个连接元组包含两个有连接关系的组件;S32,基于连接元组生成有向无环工作流图,并执行机器学习任务流程。
具体地,连接元组为带有连接方向的元组,其二端分别连接不同类型的组件,以使对应的连接关系有效。其中,每个组件编号及连接元组方向具备唯一性,以使组件索引具有唯一性,以免相同类型的组件重复连接,导致其连接关系无效等问题。
如图2所示,该方法还包括:S2I,按照该任务顺序对机器学习任务所对应组件进行连接后,根据组件的规范性输入类型、输入数量、输出类型及输出数量对前后连接的两个组件进行是否符合连接规范检查;其中,若符合,进行S3步骤;否则,拒绝不符合连接规范的连接组件并报错提示,重复执行S1~S2I步骤直至组件连接符合连接规范并执行S3步骤。
根据本公开的实施例,对S2中机器学习任务所对应组件进行连接后,得到连接好的机器学习任务流程,并对其进行自动化检查,以排除可能存在的连接错误,包括组件类型连接错误、逻辑错误等,需要进行组件连接规范检查。根据每个组件的输入、输出类型和数量,判断前后两个组件的连接是否符合要求,如输入类型或数量不符合要求,前一个组件的输出类型与后一个组件的输入类型不匹配,则不符合组件连接规范。此外,还应对逻辑错误进行判断,如:性能评估组件不能位于机器学习算法组件之前,不能只有数据集组件而没有数据处理或机器学习算法组件,不能缺失数据集组件。按照组件连接规范对构建的机器学习任务流程进行检查,确保后续的任务运行没有逻辑性的错误,并对发现的不符合规范的组件连接给出对应的提示。
具体地,本公开实施例中采取的报错提示方式为弹框提示所述机器学习任务流程中所述组件的连接错误信息。
图5示意性示出了根据本公开一实施例的基于有向无环图的机器学习工作流调度方法生成的多支路有向无环工作流图。
如图5所示,该多支路有向无环工作流图其中每一个单支路为一机器学习工作流,即图5对应的是两个机器学习工作流示意图,其中,每个组件间通过连接元组550相连,每个连接元组550具有连接方向且包含两个有连接关系的组件。如图5所示,第一支路对应的有向无环工作流图训练过程:用户首先选定所需要训练的数据集(如图像数据),将目标任务的训练数据集输入到数据集组件510的入口,通过数据集组件510加载输入的图像数据,并将其输出输入到第一数据预处理组件521的入口,通过第一数据预处理组件521对图像数据进行预处理,并输出符合第一机器学习模型组件531输入规范的数据,将第一数据预处理组件521输出数据输入到特定任务的第一机器学习模型组件531中,该第一机器学习模型组件531推理得到目标任务的输出,该输出是符合结果评估组件540输入规范的分类、分割和检测的输出,结果评估组件540对第一机器学习模型组件531输出结果进行机器学习模型性能评估。对了对比不同机器学习模型组件在训练过程中的结果,可通过构建多支路的有向无环工作流图并行的结构进行训练集数据的输入,即对同一训练数据集根据上述流程的输入,通过数据集组件510加载相同的输入数据,输出到第二数据预处理组件522入口,通过第二数据预处理组件522对图像数据进行预处理,并输出符合第二机器学习模型组件532输入规范的数据,将第二数据预处理组件522输出数据输入到特定任务的第二机器学习模型组件532中,该第二机器学习模型组件532推理得到新的目标任务的输出,结果评估组件540对第二机器学习模型组件532输出的新的目标任务进行机器学习模型性能评估,其同时可以将不同机器学习模型性能的评估结构进行对比,之后可以综合不同机器学习模型的表现,输出该流程的性能结果。在上述训练结束后,用户可自行选择不同的机器学习模型组件进行测试数据集测试,同理,测试数据集经过数据集组件510加载并输出,输入到与所选机器学习模型组件531或机器学习模型组件532对应的数据预处理组件,输出符合所选机器学习模型组件531或机器学习模型组件532输入规范的数据,所选机器学习模型组件531或机器学习模型组件532推理得到符合结果评估组件输入规范的测试任务输出结果,结果评估组件540对测试结果进行评估。
需说明的是,该多支路有向无环工作流图并不仅限于本公开实施例中公开的两支路的有向无环工作流图,根据实际需求,用户可根据本公开实施例的方法构建更多支路的机器学习工作流来训练测试集数据,以达到实际应用目的,且该有向无环工作流图中的组件也并不仅限于实施例中列举的组件连接方式,其可以为其他功能类型的组件连接构成的机器学习工作流。
图6示意性示出了根据本公开一实施例的基于有向无环图的机器学习工作流调度***的框图。
如图6所示,该基于有向无环图的机器学习工作流调度***600包括:组件封装模块610、组件连接模块620及有向无环工作流图构建模块630,该***可以用于实现参考图1~图2所描述的基于有向无环图的机器学习工作流调度方法。
组件封装模块610用于将与组件类别相对应的组件封装模版对组件进行封装,其中,每个组件至少对应一个机器学习任务;
组件连接模块620用于获取机器学习工作流所包含的机器学习任务及任务顺序,并按照该任务顺序对机器学习任务所对应组件进行连接。
有向无环工作流图构建模块630用于根据连接后的组件生成有向无环工作流图,并根据该有向无环工作流图执行机器学习工作流。
如图7所示,该装置还包括:组件连接规范检查模块620’,该模块用于根据组件的规范性输入类型、输入数量、输出类型及输出数量对所述组件连接模块输出的连接后的组件中前后连接的两个组件进行连接规范检查。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,组件封装模块610、组件连接模块620、组件连接规范检查模块620’及有向无环工作流图构建模块630中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,组件封装模块610、组件连接模块620、组件连接规范检查模块620’及有向无环工作流图构建模块630中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,组件封装模块610、组件连接模块620、组件连接规范检查模块620’及有向无环工作流图构建模块630中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图8示意性示出了根据本公开一实施例的电子设备的硬件结构图。
如图8所示,本实施例中所描述的电子设备800,包括:存储器810、处理器820及存储在存储器810上并可在处理器上运行的计算机程序,处理器执行该程序时实现前述图1至图2中所示实施例中描述的基于有向无环图的机器学习工作流调度方法。
根据本公开的实施例,该电子设备还包括:至少一个输入设备830;至少一个输出设备840。上述存储器810、处理器820输入设备830和输出设备840通过总线850连接。
其中,输入设备830具体可为触控面板、物理按键或者鼠标等等。输出设备840具体可为显示屏。存储器810可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器810用于存储一组可执行程序代码,处理器820与存储器810耦合。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的终端中,该计算机可读存储介质可以是前述图8所示实施例中的存储器。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图1至图2中所示实施例中描述的基于有向无环图的机器学习工作流调度方法。其中,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
需要说明的是,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (8)

1.一种基于有向无环图的机器学习工作流调度方法,其特征在于,包括:
S1,采用与组件类别相对应的组件封装模版对所述组件进行封装,其中,每个所述组件至少对应一个机器学习任务;
S2,获取机器学习工作流所包含的机器学习任务及任务顺序,并按照该任务顺序对所述机器学习任务所对应组件进行连接;
S3,根据连接后的组件生成有向无环工作流图,并根据该有向无环工作流图执行机器学习工作流。
2.根据权利要求1所述的基于有向无环图的机器学习工作流调度方法,其特征在于,所述S1中采用与组件类别相对应的组件封装模版对所述组件进行封装包括:
采用与组件类别相对应的组件封装模版对所述组件进行封装,将所述组件的数据输入接口、数据输出接口及组件参数接口暴露出来,用于将每个所述组件对应进行顺序连接。
3.根据权利要求1所述的基于有向无环图的机器学习工作流调度方法,其特征在于,该方法还包括:
S2I,按照该任务顺序对所述机器学习任务所对应组件进行连接后,根据所述组件的规范性输入类型、输入数量、输出类型及输出数量对前后连接的两个组件进行是否符合连接规范检查;其中,若符合,进行S3步骤;否则,拒绝不符合连接规范的连接组件并报错提示,重复执行S1~S2I步骤直至所述组件连接符合连接规范并执行S3步骤。
4.根据权利要求1所述的基于有向无环图的机器学习工作流调度方法,其特征在于,所述S3包括:
S31,将所述连接后的组件进行编号,并根据所述组件的连接关系生成对应的连接元组,并标明所述连接元组的连接方向,其中,每个连接元组包含两个有连接关系的组件;
S32,基于所述连接元组生成有向无环工作流图,并执行所述机器学习任务流程。
5.根据权利要求4所述的基于有向无环图的机器学习工作流调度方法,其特征在于,所述S31中所述编号及所述连接元组具备唯一性,以使所述组件索引具有唯一性。
6.根据权利要求3所述的基于有向无环图的机器学习工作流调度方法,其特征在于,所述S2I中所述报错提示方式为弹框提示所述机器学习任务流程中所述组件的连接错误信息。
7.一种基于有向无环图的机器学习工作流调度***,其特征在于,包括:
组件封装模块,用于将与组件类别相对应的组件封装模版对所述组件进行封装,其中,每个所述组件至少对应一个机器学习任务;
组件连接模块,用于获取机器学习工作流所包含的机器学习任务及任务顺序,并按照该任务顺序对所述机器学习任务所对应组件进行连接;
有向无环工作流图构建模块,用于根据连接后的组件生成有向无环工作流图,并根据该有向无环工作流图执行机器学习工作流。
8.根据权利要求7所述的基于有向无环图的机器学习工作流调度***,其特征在于,该***还包括:
组件连接规范检查模块,用于根据所述组件的规范性输入类型、输入数量、输出类型及输出数量对所述组件连接模块输出的连接后的组件中前后连接的两个组件进行连接规范检查。
CN202011490334.3A 2020-12-16 2020-12-16 一种基于有向无环图的机器学习工作流调度方法及*** Active CN112558938B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011490334.3A CN112558938B (zh) 2020-12-16 2020-12-16 一种基于有向无环图的机器学习工作流调度方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011490334.3A CN112558938B (zh) 2020-12-16 2020-12-16 一种基于有向无环图的机器学习工作流调度方法及***

Publications (2)

Publication Number Publication Date
CN112558938A true CN112558938A (zh) 2021-03-26
CN112558938B CN112558938B (zh) 2021-11-09

Family

ID=75064283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011490334.3A Active CN112558938B (zh) 2020-12-16 2020-12-16 一种基于有向无环图的机器学习工作流调度方法及***

Country Status (1)

Country Link
CN (1) CN112558938B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893509A (zh) * 2016-03-30 2016-08-24 电子科技大学 一种大数据分析模型的标记与解释***及方法
WO2017146816A1 (en) * 2016-02-26 2017-08-31 Google Inc. Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform
CN107450972A (zh) * 2017-07-04 2017-12-08 阿里巴巴集团控股有限公司 一种调度方法、装置以及电子设备
CN108985367A (zh) * 2018-07-06 2018-12-11 中国科学院计算技术研究所 计算引擎选择方法和基于该方法的多计算引擎平台
CN110728371A (zh) * 2019-09-17 2020-01-24 第四范式(北京)技术有限公司 用于执行自动机器学习方案的***、方法及电子设备
CN110956272A (zh) * 2019-11-01 2020-04-03 第四范式(北京)技术有限公司 实现数据处理的方法和***
CN111124387A (zh) * 2018-11-01 2020-05-08 百度在线网络技术(北京)有限公司 机器学习平台的建模***、方法、计算机设备及存储介质
CN111310936A (zh) * 2020-04-15 2020-06-19 光际科技(上海)有限公司 机器学***台、装置、设备及存储介质
CN111488211A (zh) * 2020-04-09 2020-08-04 北京嘀嘀无限科技发展有限公司 基于深度学习框架的任务处理方法、装置、设备及介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017146816A1 (en) * 2016-02-26 2017-08-31 Google Inc. Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform
CN108541321A (zh) * 2016-02-26 2018-09-14 谷歌有限责任公司 将程序代码映射到高性能、高功效的可编程图像处理硬件平台的编译技术
CN105893509A (zh) * 2016-03-30 2016-08-24 电子科技大学 一种大数据分析模型的标记与解释***及方法
CN107450972A (zh) * 2017-07-04 2017-12-08 阿里巴巴集团控股有限公司 一种调度方法、装置以及电子设备
CN108985367A (zh) * 2018-07-06 2018-12-11 中国科学院计算技术研究所 计算引擎选择方法和基于该方法的多计算引擎平台
CN111124387A (zh) * 2018-11-01 2020-05-08 百度在线网络技术(北京)有限公司 机器学习平台的建模***、方法、计算机设备及存储介质
CN110728371A (zh) * 2019-09-17 2020-01-24 第四范式(北京)技术有限公司 用于执行自动机器学习方案的***、方法及电子设备
CN110956272A (zh) * 2019-11-01 2020-04-03 第四范式(北京)技术有限公司 实现数据处理的方法和***
CN111488211A (zh) * 2020-04-09 2020-08-04 北京嘀嘀无限科技发展有限公司 基于深度学习框架的任务处理方法、装置、设备及介质
CN111310936A (zh) * 2020-04-15 2020-06-19 光际科技(上海)有限公司 机器学***台、装置、设备及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CARL WITT等: ""Predictive performance modeling for distributed batch processing using black box monitoring and machine learning"", 《INFORMATION SYSTEMS》 *
RICHARDLEEH: ""中科院计算所开源Easy Machine Learning:让机器学习应用开发简单快捷"", 《HTTPS://BLOG.CSDN.NET/LIHUINIHAO/ARTICLE/DETAILS/73175856》 *
TIANYOU GUO等: ""Ease the Process of Machine Learning with Dataflow"", 《CIKM "16: PROCEEDINGS OF THE 25TH ACM INTERNATIONAL ON CONFERENCE ON INFORMATION AND KNOWLEDGE MANAGEMENT》 *
杨成伟: ""云计算环境下动态流程优化调度问题研究"", 《中国优秀博硕士学位论文全文数据库(博士) 信息科技辑》 *
赵玲玲 等: ""基于Spark的流程化机器学习分析方法"", 《计算机***应用》 *

Also Published As

Publication number Publication date
CN112558938B (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
González et al. Atltest: A white-box test generation approach for ATL transformations
CN102598001B (zh) 用于执行对逻辑设计的分析的方法和***
US20130145347A1 (en) Automatic modularization of source code
EP3432229A1 (en) Ability imparting data generation device
CN109857641A (zh) 对程序源文件进行缺陷检测的方法及装置
WO2021036697A1 (zh) 投产方法、装置、设备和存储介质
CN110297760A (zh) 测试数据的构造方法、装置、设备及计算机可读存储介质
JP2022540871A (ja) ニューラルネットワークの動作を視覚化するための手法
US10970449B2 (en) Learning framework for software-hardware model generation and verification
González et al. Test data generation for model transformations combining partition and constraint analysis
Nicholson et al. Automated verification of design patterns: A case study
US20210311729A1 (en) Code review system
Johansson Lemma discovery for induction: a survey
Cabanillas et al. Automatic generation of a data-centered view of business processes
CN114385512B (zh) 软件源代码缺陷检测方法及装置
US11610134B2 (en) Techniques for defining and executing program code specifying neural network architectures
CN112783513B (zh) 一种代码风险检查方法、装置及设备
US20110265050A1 (en) Representing binary code as a circuit
US12001823B2 (en) Systems and methods for building and deploying machine learning applications
CN112558938B (zh) 一种基于有向无环图的机器学习工作流调度方法及***
Dechsupa et al. An automated framework for BPMN model verification achieving branch coverage
Kavitha et al. Explainable AI for Detecting Fissures on Concrete Surfaces Using Transfer Learning
Karwa et al. Android based application for fruit quality analysis
CN113221126B (zh) 一种TensorFlow程序漏洞检测方法、装置及电子设备
EP4280120A1 (en) Method for processing decision data, device and computer program corresponding

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
GR01 Patent grant
GR01 Patent grant