一种数据流图处理方法、设备以及计算机可读存储介质技术

技术编号:36732355 阅读:14 留言:0更新日期:2023-03-04 10:00
本申请实施例公开了基于人工智能的一种数据流图处理方法、设备以及计算机可读存储介质,其中,方法包括:若原始数据流图包括分裂操作节点以及N个子矩阵乘法操作节点,则检测分裂操作节点在原始数据流图中的位置;若分裂操作节点与N个子矩阵乘法操作节点分别相连,且分裂操作节点在原始数据流图中的位置处于N个子矩阵乘法操作节点之前,则将N个子矩阵乘法操作节点更新为总矩阵乘法操作节点,将分裂操作节点更新为第一变形操作节点;在总矩阵乘法操作节点之前添加合并操作节点,在总矩阵乘法操作节点之后添加去合并操作节点,得到优化数据流图。采用本申请,可以提高数据流图系统资源的利用率。本申请可以应用于多媒体数据分析场景。场景。场景。

【技术实现步骤摘要】
一种数据流图处理方法、设备以及计算机可读存储介质


[0001]本申请涉及互联网
,尤其涉及一种数据流图处理方法、设备以及计算机可读存储介质。

技术介绍

[0002]数据流图(Data Flow Diagram,DFD)是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。从数据传递和加工角度来说,数据流图以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
[0003]在应用场景上,数据流图的应用可以为,用户先编写数据流图,再将编写好的数据流图提交到流计算平台上,流计算平台可以解析数据流图,然后调度到不同的物理机器上分布式执行,进而实现不同的业务场景。对于现有的数据流图,存在具有相同操作方式的节点,由于每个节点都需要进行资源分配,所以对于具有相同操作方式的节点就可能会导致资源冗余分配,从而造成系统资源浪费。

技术实现思路

[0004]本申请实施例提供一种数据流图处理方法、设备以及计算机可读存储介质,可以提高数据流图系统资源的利用率。
[0005]本申请实施例一方面提供了一种数据流图处理方法,包括:
[0006]获取原始数据流图,解析原始数据流图;
[0007]若解析出原始数据流图包括分裂操作节点以及N个子矩阵乘法操作节点,则检测分裂操作节点在原始数据流图中的位置;N为正整数,且N等于或大于2;r/>[0008]若在原始数据流图中,分裂操作节点与N个子矩阵乘法操作节点分别相连,且分裂操作节点在原始数据流图中的位置处于N个子矩阵乘法操作节点之前,则将N个子矩阵乘法操作节点更新为总矩阵乘法操作节点,将分裂操作节点更新为用于对总输入张量进行变形操作的第一变形操作节点;
[0009]在总矩阵乘法操作节点之前添加用于对N个子输入张量进行合并操作的合并操作节点,在总矩阵乘法操作节点之后添加去合并操作节点,得到优化数据流图;合并操作节点与第一变形操作节点之间的节点关系为并行节点关系;总输入张量与N个子输入张量之间存在尺寸关联关系。
[0010]本申请实施例一方面提供了一种数据流图处理装置,包括:
[0011]获取数据模块,用于获取原始数据流图,解析原始数据流图;
[0012]检测位置模块,用于若解析出原始数据流图包括分裂操作节点以及N个子矩阵乘法操作节点,则检测分裂操作节点在原始数据流图中的位置;N为正整数,且N等于或大于2;
[0013]更新节点模块,用于若在原始数据流图中,分裂操作节点与N个子矩阵乘法操作节
点分别相连,且分裂操作节点在原始数据流图中的位置处于N个子矩阵乘法操作节点之前,则将N个子矩阵乘法操作节点更新为总矩阵乘法操作节点,将分裂操作节点更新为用于对总输入张量进行变形操作的第一变形操作节点;
[0014]添加节点模块,用于在总矩阵乘法操作节点之前添加用于对N个子输入张量进行合并操作的合并操作节点,在总矩阵乘法操作节点之后添加去合并操作节点,得到优化数据流图;合并操作节点与第一变形操作节点之间的节点关系为并行节点关系;总输入张量与N个子输入张量之间存在尺寸关联关系。
[0015]其中,第一变形操作节点包括前置输入变形操作节点或后置输入变形操作节点;总输入张量包括前置输入张量或后置输入张量;
[0016]更新节点模块,包括:
[0017]第一确定单元,用于确定分裂操作节点的输出结果针对N个子矩阵乘法操作节点的输入属性,以及分裂操作节点的分裂操作属性;
[0018]第一更新单元,用于若输入属性为前置输入属性,且分裂操作属性为行分裂操作属性,则将分裂操作节点更新为用于对前置输入张量进行变形操作的前置输入变形操作节点;前置输入变形操作节点的变形操作属性为行变形操作属性;
[0019]第二更新单元,用于若输入属性为后置输入属性,且分裂操作属性为列分裂操作属性,则将分裂操作节点更新为用于对后置输入张量进行变形操作的后置输入变形操作节点;后置输入变形操作节点的变形操作属性为列变形操作属性。
[0020]其中,N个子输入张量包括与前置输入张量存在尺寸关联关系,且分别携带不同序号的N个后置输入子张量;合并操作节点包括堆叠操作节点,去合并操作节点包括与堆叠操作节点相关联的去堆叠操作节点;
[0021]添加节点模块,具体用于当第一变形操作节点为前置输入变形操作节点时,在总矩阵乘法操作节点之前,添加用于对N个后置输入子张量进行堆叠操作的堆叠操作节点,在总矩阵乘法操作节点之后添加去堆叠操作节点,得到优化数据流图。
[0022]其中,N个后置输入子张量分别对应的张量维度均相同,且N个张量维度分别对应的尺寸均相同;前置输入张量对应的张量维度等于N个张量维度,前置输入张量对应的张量列维度的尺寸等于N个后置输入子张量分别对应的张量行维度的尺寸;
[0023]数据流图处理装置,还包括:
[0024]第一操作模块,用于将前置输入张量输入至优化数据流图中的前置输入变形操作节点,通过前置输入变形操作节点,对前置输入张量进行变形操作,得到前置输入增维张量;
[0025]第一操作模块,还用于按照序号顺序,将N个后置输入子张量输入至优化数据流图中的堆叠操作节点,通过堆叠操作节点,对N个后置输入子张量进行堆叠操作,得到后置输入堆叠张量;后置输入堆叠张量包括尺寸等于N的张量批维度,且后置输入堆叠张量对应的张量维度中除了尺寸等于N的张量批维度之外的张量维度的尺寸,等于N个张量维度分别对应的尺寸;
[0026]第一操作模块,还用于将前置输入增维张量以及后置输入堆叠张量分别输入至总矩阵乘法操作节点,通过总矩阵乘法操作节点,对前置输入增维张量以及后置输入堆叠张量进行矩阵乘法操作,得到第一总输出张量;
[0027]第一操作模块,还用于将第一总输出张量输入至去堆叠操作节点,通过去堆叠操作节点,对第一总输出张量中属于张量批维度的张量进行去堆叠操作,得到N个第一输出子张量。
[0028]其中,第一操作模块,包括:
[0029]第二确定单元,用于根据前置输入变形操作节点的行变形操作属性,将前置输入张量中属于张量行维度的张量确定为第一待变形张量;
[0030]第一操作单元,用于根据N对第一待变形张量进行变形操作,得到第一增维张量;第一增维张量对应的第一维度的尺寸等于N,第一待变形张量的尺寸等于第一增维张量对应的第二维度的尺寸的N倍;
[0031]第三更新单元,用于将前置输入张量中的第一待变形张量更新为第一增维张量,得到前置输入增维张量。
[0032]其中,N个子输入张量包括与后置输入张量存在尺寸关联关系,且分别携带不同序号的N个前置输入子张量;合并操作节点包括堆叠操作节点,去合并操作节点包括与堆叠操作节点相关联的去堆叠操作节点;
[0033]添加节点模块,具体用于当第一变形操作节点为后置输入本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据流图处理方法,其特征在于,包括:获取原始数据流图,解析所述原始数据流图;若解析出所述原始数据流图包括分裂操作节点以及N个子矩阵乘法操作节点,则检测所述分裂操作节点在所述原始数据流图中的位置;N为正整数,且N等于或大于2;若在所述原始数据流图中,所述分裂操作节点与所述N个子矩阵乘法操作节点分别相连,且所述分裂操作节点在所述原始数据流图中的位置处于所述N个子矩阵乘法操作节点之前,则将所述N个子矩阵乘法操作节点更新为总矩阵乘法操作节点,将所述分裂操作节点更新为用于对总输入张量进行变形操作的第一变形操作节点;在所述总矩阵乘法操作节点之前添加用于对N个子输入张量进行合并操作的合并操作节点,在所述总矩阵乘法操作节点之后添加去合并操作节点,得到优化数据流图;所述合并操作节点与所述第一变形操作节点之间的节点关系为并行节点关系;所述总输入张量与所述N个子输入张量之间存在尺寸关联关系。2.根据权利要求1所述的方法,其特征在于,所述第一变形操作节点包括前置输入变形操作节点或后置输入变形操作节点;所述总输入张量包括前置输入张量或后置输入张量;所述将所述分裂操作节点更新为用于对总输入张量进行变形操作的第一变形操作节点,包括:确定所述分裂操作节点的输出结果针对所述N个子矩阵乘法操作节点的输入属性,以及所述分裂操作节点的分裂操作属性;若所述输入属性为前置输入属性,且所述分裂操作属性为行分裂操作属性,则将所述分裂操作节点更新为用于对所述前置输入张量进行变形操作的所述前置输入变形操作节点;所述前置输入变形操作节点的变形操作属性为行变形操作属性;若所述输入属性为后置输入属性,且所述分裂操作属性为列分裂操作属性,则将所述分裂操作节点更新为用于对所述后置输入张量进行变形操作的所述后置输入变形操作节点;所述后置输入变形操作节点的变形操作属性为列变形操作属性。3.根据权利要求2所述的方法,其特征在于,所述N个子输入张量包括与所述前置输入张量存在尺寸关联关系,且分别携带不同序号的N个后置输入子张量;所述合并操作节点包括堆叠操作节点,所述去合并操作节点包括与所述堆叠操作节点相关联的去堆叠操作节点;所述在所述总矩阵乘法操作节点之前添加用于对N个子输入张量进行合并操作的合并操作节点,在所述总矩阵乘法操作节点之后添加去合并操作节点,得到优化数据流图,包括:当所述第一变形操作节点为所述前置输入变形操作节点时,在所述总矩阵乘法操作节点之前,添加用于对所述N个后置输入子张量进行堆叠操作的所述堆叠操作节点,在所述总矩阵乘法操作节点之后添加所述去堆叠操作节点,得到所述优化数据流图。4.根据权利要求3所述的方法,其特征在于,所述N个后置输入子张量分别对应的张量维度均相同,且N个张量维度分别对应的尺寸均相同;所述前置输入张量对应的张量维度等于所述N个张量维度,所述前置输入张量对应的张量列维度的尺寸等于所述N个后置输入子张量分别对应的张量行维度的尺寸;所述方法还包括:
将所述前置输入张量输入至所述优化数据流图中的所述前置输入变形操作节点,通过所述前置输入变形操作节点,对所述前置输入张量进行变形操作,得到前置输入增维张量;按照序号顺序,将所述N个后置输入子张量输入至所述优化数据流图中的所述堆叠操作节点,通过所述堆叠操作节点,对所述N个后置输入子张量进行堆叠操作,得到后置输入堆叠张量;所述后置输入堆叠张量包括尺寸等于N的张量批维度,且所述后置输入堆叠张量对应的张量维度中除了尺寸等于N的张量批维度之外的张量维度的尺寸,等于所述N个张量维度分别对应的尺寸;将所述前置输入增维张量以及所述后置输入堆叠张量分别输入至所述总矩阵乘法操作节点,通过所述总矩阵乘法操作节点,对所述前置输入增维张量以及所述后置输入堆叠张量进行矩阵乘法操作,得到第一总输出张量;将所述第一总输出张量输入至所述去堆叠操作节点,通过所述去堆叠操作节点,对所述第一总输出张量中属于张量批维度的张量进行去堆叠操作,得到N个第一输出子张量。5.根据权利要求4所述的方法,其特征在于,所述通过所述前置输入变形操作节点,对所述前置输入张量进行变形操作,得到前置输入增维张量,包括:根据所述前置输入变形操作节点的行变形操作属性,将所述前置输入张量中属于张量行维度的张量确定为第一待变形张量;根据N对所述第一待变形张量进行变形操作,得到第一增维张量;所述第一增维张量对应的第一维度的尺寸等于N,所述第一待变形张量的尺寸等于所述第一增维张量对应的第二维度的尺寸的N倍;将所述前置输入张量中的所述第一待变形张量更新为所述第一增维张量,得到所述前置输入增维张量。6.根据权利要求2所述的方法,其特征在于,所述N个子输入张量包括与所述后置输入张量存在尺寸关联关系,且分别携带不同序号的N个前置输入子张量;所述合并操作节点包括堆叠操作节点,所述去合并操作节点包括与所述堆叠操作节点相关联的去堆叠操作节点;所述在所述总矩阵乘法操作节点之前,添加用于对N个子输入张量进行合并操作的合并操作节点,在所述总矩阵乘法操作节点之后添加去合并操作节点,得到优化数据流图,包括:当所述第一变形操作节点为所述后置输入变形操作节点时,在所述总矩阵乘法操作节点之前,添加用于对所述N个前置输入张量进行堆叠操作的所述堆叠操作节点,在所述总矩阵乘法操作节点以及所述后置输入变形操作节点之间添加后置输入转置操作节点,在所述总矩阵乘法操作节点之后添加所述去堆叠操作节点,得到所述优化数据流图。7.根据权利要求6所述的方法,其特征在于,所述N个前置输入子张量分别对应的张量维度均相同,且N个张量维度分别对应的尺寸均相同;所述后置输入张量对应的张量维度等于所述N个张量维度,所述后置输入张量对应的张量行维度的尺寸等于所述N个前置输入子张量分别对应的张量列维度的尺寸;所述方法还包括:将所述后置输入张量输入至所述优化数据流图中的所述后置输入变形操作节点,通过所述后置输入变形操作节点,对所述后置输入张量进行变形操作,得到后置输入增维张量;
将所述后置输入增维张量输入至所述后置输入转置操作节点,通过所述后置输入转置操作节点,对所述后置输入增维张量中属于待转置张量维度的张量进行转置操作,得到后置输入转置张量;所述待转置张量维度包括所述后置输入增维张量对应的张量行维度以及张量批维度;按照序号顺序,将所述N个前置输入子张量输入至所述优化数据流图中的所述堆叠操作节点,通过所述堆叠操作节点,对所述N个前置输入子张量进行堆叠操作,得到前置输入堆叠张量;所述前置输入堆叠张量包括尺寸等于N的张量批维度,且所述前置输入堆叠张量对应的张量维度中除了尺寸等于N的张量批维度之外的张量维度的尺寸,等于所述N个张量维度分别对应的尺寸;将所述后置输入转置张量以及所述前置输入堆叠张量分别输入至所述总矩阵乘法操作节点,通过所述总矩阵乘法操作节点,对所述后置输入转置张量以及所述前置输入堆叠张量进行矩阵乘法操作,得到第二总输出张量;将所述第二总输出张量输入至所述去堆叠操作节点,通过所述去堆叠操作节点,对所述第二总输出张量中属于张量批维度的张量进行去堆叠操作,得到N个第二输出子张量。8.根据权利要求7所述的方法,其特征在于,所述通过所述后置输入变形操作节点,对所述后置输入张量进行变形操作,得到后置输入增维张量,包括:根据所述后置输入变形操作节点的列变形操作属性,将所述后置输入张量中属于张量列维度的张量确定为第二待变形张量;根据N对所述第二待变形张量进行变形操作,得到第二增维张量;所述第二增维张量对应的第一维度的尺寸等于N,所述第二待变形张量的尺寸等于所述第二增维张量对应的第二维度的尺寸的N倍;将所述后置输入张量中的所述第二待变形张量更新为所述第二增维张量,得到所述后置输入增维张量。9.根据权利要求2所述的方法,其特征在于,所述N个子输入张量包括与所述前置输入张量存在尺寸关联关系,且分别携带不同序号的N个后置输入子张量;所述合并操作节点包括拼接操作节点,所述去合并操作节点包括与所述拼接操作节点相关联的去拼接操作节点;所述在所述总矩阵乘法操作节点之前添加用于对N个子输入张量进行合并操作的合并操作节点,在所述总矩阵乘法操作节点之后添加去合并操作节点,得到优化数据流图,包括:当所述第一变形操作节点为所述前置输入变形操作节点时,在所述总矩阵乘法操作节点之前添加第二变形操作节点,在所述第二变形操作节点之前添加用于对所述N个后置输入子张量进行拼接操作的所述拼接操作节点;在所述总矩阵乘法操作节点之后添加与所述第二变形操作节点相关联的第三变形操作节点,在所述第三变形操作节点之后添加所述去拼接操作节点,得到所述优化数据流图;所述第二变形操作节点与所述前置输入变形操作节点之间的节点关系为并行节点...

【专利技术属性】
技术研发人员:姜曦楠袁鹏周飞虎郭振宇
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1