一种基于图算法的AI建模流程编排方法和系统与流程

文档序号:28423104发布日期:2022-01-11 23:15阅读:131来源:国知局
一种基于图算法的AI建模流程编排方法和系统与流程
一种基于图算法的ai建模流程编排方法和系统
技术领域
1.本技术涉及计算机技术领域,更具体地,涉及一种基于图算法的ai建模流程编排方法和系统。


背景技术:

2.图算法指利用特制的线条算图求得答案的一种简便算法,可以用来描述不同结点之间的相关关系。无向图、有向图和网络能运用很多常用的图算法,这些算法包括:各种遍历算法,寻找最短路径的算法,寻找网络中最低代价路径的算法。可应用到多种场合,例如:优化管道、路由表、快递服务、通信网站等。现在大多数图算法的应用场景都是寻找最短路径,寻求最优解,也有少部分使用图算法来做流程的编排工作图算法。
3.近年来,ai(artificial intelligence,人工智能)技术快速发展,越来越多元化的ai技术成果竞相涌现并运用到生活中,如图像识别、语音识别等。ai就其本质而言,是对人的思维的信息处理过程的模拟。现代电子计算机中利用统计学等方法对特定场景下记录的特征数据经过特征分析后,选择模型及算法建立ai模型并进行训练,评估并生成一个预测模型,在相似场景下使用预测模型进行场景预测,这样的过程称为ai建模,ai建模分为数据处理和建立模型以及训练模型三个阶段。
4.目前,ai建模的流程编排中,数据处理和建模的流程之间相互独立,只是编排流程执行的先后顺序,数据并不在系统之间流通而是保存在固定的位置,流程编排缺乏灵活性,另外,由于图算法的特性和树结构不同,只能从头执行,存在一些成功执行的节点被重复执行,浪费了计算资源。
5.因此,如何提高ai建模流程编排的灵活性并降低计算资源的利用,是目前有待解决的技术问题。


技术实现要素:

6.本发明提供一种基于图算法的ai建模流程编排方法,用以解决现有技术中ai建模的流程编排缺乏灵活性和存在计算资源浪费的技术问题。
7.该方法包括:根据从前端获取的图数据生成包括多个节点的图结构;按照所述图结构中各节点的执行顺序遍历各所述节点并将需要执行的目标节点加入待执行列表;按照所述执行顺序再次遍历各所述节点,在当前节点处于所述待执行列表时执行当前节点并记录输出,否则跳过当前节点并记录输出,并在遍历完成后将各所述节点的状态和执行结果写入数据库;其中,所述图数据包括ai建模流程中各节点的节点信息,所述节点信息包括输入输出和参数。
8.在本技术一些实施例中,按照所述图结构中各节点的执行顺序遍历各所述节点并
将需要执行的目标节点加入待执行列表,具体为:按照所述执行顺序依次判断当前节点是否符合预设规则,若是,将当前节点作为所述目标节点加入所述待执行列表;其中,所述预设规则包括当前节点为重新提交过参数的节点,或当前节点为上次执行未成功的节点,或当前节点的父节点处于所述待执行列表。
9.在本技术一些实施例中,在按照所述图结构中各节点的执行顺序遍历各所述节点并将需要执行的目标节点加入待执行列表之前,所述方法还包括:基于深度优先搜索函数对所述图结构进行搜索;根据搜索结果确定所述执行顺序。
10.在本技术一些实施例中,所述图结构包括节点的输入输出节点、节点的输入输出参数、节点的参数信息、节点是否需要记录参数信息、节点的名字、节点调用的函数。
11.在本技术一些实施例中,所述图数据为json格式的数据。
12.相应的,本发明还提出了一种基于图算法的ai建模流程编排系统,所述系统包括:生成模块,用于根据从前端获取的图数据生成包括多个节点的图结构;第一遍历模块,用于按照所述图结构中各节点的执行顺序遍历各所述节点并将需要执行的目标节点加入待执行列表;第二遍历模块,用于按照所述执行顺序再次遍历各所述节点,在当前节点处于所述待执行列表时执行当前节点并记录输出,否则跳过当前节点并记录输出,并在遍历完成后将各节点的状态和执行结果写入数据库;其中,所述图数据包括ai建模流程中各节点的节点信息,所述节点信息包括输入输出和参数。
13.在本技术一些实施例中,所述第一遍历模块,具体用于:按照所述执行顺序依次判断当前节点是否符合预设规则,若是,将当前节点作为所述目标节点加入所述待执行列表;其中,所述预设规则包括当前节点为重新提交过参数的节点,或当前节点为上次执行未成功的节点,或当前节点的父节点处于所述待执行列表。
14.在本技术一些实施例中,所述系统还包括搜索模块,用于:基于深度优先搜索函数对所述图结构进行搜索;根据搜索结果确定所述执行顺序。
15.在本技术一些实施例中,所述图结构包括节点的输入输出节点、节点的输入输出参数、节点的参数信息、节点是否需要记录参数信息、节点的名字、节点调用的函数。
16.在本技术一些实施例中,所述图数据为json格式的数据。
17.通过应用以上技术方案,根据从前端获取的图数据生成包括多个节点的图结构;按照所述图结构中各节点的执行顺序遍历各所述节点并将需要执行的目标节点加入待执行列表;按照所述执行顺序再次遍历各所述节点,在当前节点处于所述待执行列表时执行当前节点并记录输出,否则跳过当前节点并记录输出,并在遍历完成后将各所述节点的状态和执行结果写入数据库;其中,所述图数据包括ai建模流程中各节点的节点信息,所述节点信息包括输入输出和参数,从而可使数据处理和模型编排结合在一起,提高了ai建模流程编排的灵活性,对于已经执行成功的节点不再重复执行,避免了计算资源的浪费。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地 ,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1示出了本发明实施例提出的一种基于图算法的ai建模流程编排方法的流程示意图;图2示出了本发明另一实施例提出的一种基于图算法的ai建模流程编排方法的流程示意图;图3示出了本发明实施例提出的一种基于图算法的ai建模流程编排系统的结构示意图。
具体实施方式
20.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.本技术实施例提供一种基于图算法的ai建模流程编排方法,如图1所示,包括以下步骤:步骤s101,根据从前端获取的图数据生成包括多个节点的图结构,该图结构代表了ai流程。
22.本实施例中,前端可以是浏览器访问webui(website user interface,网络产品界面设计),前端可通过拖拽对流程进行编排,执行流程后可获取后端流程的执行状态以及执行的日志。图数据包括ai建模流程中各节点的节点信息,节点信息包括输入输出和参数,根据图数据可生成包括多个节点的图结构,图结构可以是按照预先定义的类型的图结构,例如,预先定义的类型为有向图,则该图结构为有向图的图结构,是有向无环图。
23.为了生成准确的图结构并为了准确执行流程,在本技术一些实施例中,所述图结构包括节点的输入输出节点、节点的输入输出参数、节点的参数信息、节点是否需要记录参数信息、节点的名字、节点调用的函数。
24.本领域技术人员可根据实际需要选择其他不同的图结构,这并不影响本技术的保护范围。
25.为了生成准确的图结构,在本技术一些实施例中,所述图数据为json格式的数据。
26.本实施例中,图数据为json格式,为一串包含了流程各个节点信息的字符串。
27.本领域技术人员可根据实际需要选择其他格式的图数据,这并不影响本技术的保护范围。
28.步骤s102,按照所述图结构中各节点的执行顺序遍历各所述节点并将需要执行的目标节点加入待执行列表。
29.本实施中,图结构中各节点存在先后的执行顺序,基于该执行顺序遍历各节点,将需要执行的目标节点加入待执行列表。
30.为了可靠的将目标节点加入待执行列表,在本技术一些实施例中,按照所述图结构中各节点的执行顺序遍历各所述节点并将需要执行的目标节点加入待执行列表,具体为:按照所述执行顺序依次判断当前节点是否符合预设规则,若是,将当前节点作为所述目标节点加入所述待执行列表;其中,所述预设规则包括当前节点为重新提交过参数的节点,或当前节点为上次执行未成功的节点,或当前节点的父节点处于所述待执行列表。
31.本实施例中,按照执行顺序依次对当前节点进行判断,若当前节点负荷预设规则,则将当前节点作为目标节点加入待执行列表。
32.本领域技术人员可根据实际情况设置不同的预设规则,这并不影响本技术的保护范围。
33.为了准确的确定图结构中各节点的执行顺序,在本技术一些实施例中,在按照所述图结构中各节点的执行顺序遍历各所述节点并将需要执行的目标节点加入待执行列表之前,所述方法还包括:基于深度优先搜索函数对所述图结构进行搜索;根据搜索结果确定所述执行顺序。
34.本实施中,采用深度优先搜索函数确定执行顺序,深度优先搜索属于图算法的一种,其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。基于深度优先搜索函数对图结构进行搜索的具体过程对于本领域技术人员是显而易见的,在此不再赘述。
35.本领域技术人员还可基于其他方式确定执行顺序,如广度优先搜索,这并不影响本技术的保护范围。
36.步骤s103,按照所述执行顺序再次遍历各所述节点,在当前节点处于所述待执行列表时执行当前节点并记录输出,否则跳过当前节点并记录输出,并在遍历完成后将各所述节点的状态和执行结果写入数据库。
37.本实施例中,按执行顺序对各节点进行两次遍历,初次遍历时将目标节点加入待执行列表,二次遍历时,在当前节点处于所述待执行列表时执行当前节点并记录输出,否则跳过当前节点并记录输出,在遍历完成后将各节点的状态和执行结果写入数据库,等待前端调取状态进行展示。
38.通过应用以上技术方案,根据从前端获取的图数据生成包括多个节点的图结构;按照所述图结构中各节点的执行顺序遍历各所述节点并将需要执行的目标节点加入待执行列表;按照所述执行顺序再次遍历各所述节点,在当前节点处于所述待执行列表时执行当前节点并记录输出,否则跳过当前节点并记录输出,并在遍历完成后将各所述节点的状态和执行结果写入数据库;其中,所述图数据包括ai建模流程中各节点的节点信息,所述节点信息包括输入输出和参数,从而可使数据处理和模型编排结合在一起,提高了ai建模流程编排的灵活性,对于已经执行成功的节点不再重复执行,避免了计算资源的浪费。
39.为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
40.本技术实施例提供一种基于图算法的ai建模流程编排方法,如图2所示,包括以下
步骤:步骤s201,开始。
41.步骤s202,前端传输图数据。
42.步骤s203,获取图数据。
43.步骤s204,基于图数据生成图结构,并确定节点的执行顺序。
44.本步骤中,基于深度优先搜索函数对图结构进行搜索后确定执行顺序。
45.步骤s205,父节点处于待执行列表,若是执行步骤s206,否则执行步骤s207。
46.本步骤中,按执行顺序对各节点进行初次遍历,判断当前节点的父节点是否处于待执行列表。
47.步骤s206,添加到待执行列表。
48.步骤s207,上次执行未成功,若是执行步骤s206,否则执行步骤s208。
49.本步骤中,判断当前节点是否是上次执行未成功的节点。
50.步骤s208,重新提交过参数,若是执行步骤s206,否则执行步骤s209。
51.本步骤中,判断当前节点是否为重新提交过参数的节点。
52.步骤s209,初次遍历完成,若是执行步骤s210,否则执行步骤s205。
53.步骤s210,处于待执行列表,若是执行步骤s211,否则执行步骤s212。
54.本步骤中,按执行顺序对各节点进行二次遍历,判断各节点是否处于待执行列表。
55.步骤s211,执行,并记录输出。
56.步骤s212,跳过,并记录输出。
57.步骤s213,二次遍历完成,若是执行步骤s214,否则执行步骤s210。
58.步骤s214,结束。
59.需要说明的是,步骤s205、s207、s208的执行顺序可以互换。
60.通过应用以上技术方案,能够使数据处理和模型编排结合在一起,从而数据能够在系统之间流通,提高了处理的灵活性;此外,不会重复执行成功执行的节点,能够判断每个节点的执行状态,对于数据节点可以查看数据,可以保存节点数据导出后拿到别的场景当中演示。
61.本技术实施例还提出了一种基于图算法的ai建模流程编排系统,如图3所示,所述系统包括:生成模块301,用于根据从前端获取的图数据生成包括多个节点的图结构,该图结构代表了ai流程;第一遍历模块302,用于按照所述图结构中各节点的执行顺序遍历各所述节点并将需要执行的目标节点加入待执行列表;第二遍历模块303,用于按照所述执行顺序再次遍历各所述节点,在当前节点处于所述待执行列表时执行当前节点并记录输出,否则跳过当前节点并记录输出,并在遍历完成后将各节点的状态和执行结果写入数据库;其中,所述图数据包括ai建模流程中各节点的节点信息,所述节点信息包括输入输出和参数。
62.在本技术具体的应用场景中,所述第一遍历模块302,具体用于:按照所述执行顺序依次判断当前节点是否符合预设规则,若是,将当前节点作为
所述目标节点加入所述待执行列表;其中,所述预设规则包括当前节点为重新提交过参数的节点,或当前节点为上次执行未成功的节点,或当前节点的父节点处于所述待执行列表。
63.在本技术具体的应用场景中,所述系统还包括搜索模块,用于:基于深度优先搜索函数对所述图结构进行搜索;根据搜索结果确定所述执行顺序。
64.在本技术具体的应用场景中,所述图结构包括节点的输入输出节点、节点的输入输出参数、节点的参数信息、节点是否需要记录参数信息、节点的名字、节点调用的方式。
65.在本技术具体的应用场景中,所述图数据为json格式的数据。
66.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1