CN110334436A - 一种数据处理方法以及设备 - Google Patents
一种数据处理方法以及设备 Download PDFInfo
- Publication number
- CN110334436A CN110334436A CN201910594905.9A CN201910594905A CN110334436A CN 110334436 A CN110334436 A CN 110334436A CN 201910594905 A CN201910594905 A CN 201910594905A CN 110334436 A CN110334436 A CN 110334436A
- Authority
- CN
- China
- Prior art keywords
- operator
- node
- vector
- operators
- time control
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 239000013598 vector Substances 0.000 claims abstract description 300
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000010586 diagram Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 48
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 230000000306 recurrent effect Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000006866 deterioration Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开一种数据处理方法以及设备,其中方法包括如下步骤:获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息;根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序。采用本申请,可以提高资源的复用性,降低计算复杂度。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种数据处理方法以及设备。
背景技术
随着集成电路性能的提高,规模和复杂度不断增大,但是设计周期越来越短,这主要归功于设计方法上的进步,如今集成电路设计,面临着功能强、性能高、规模大、成本低等一列的要求与挑战,高层次综合技术就是其中一个重要的、具有代表性的内容,高层次综合就是将编程语言转化为可综合硬件描述语言,用方便的软件语言来设计,用高效的硬件电路来实现,算子调度是高层次综合中最关键的一步,算子调度是将编译转换生成的控制数据流图中的每一个算子分配到各个控制步中,从而实现满足约束条件下最有或者较优的算子调度方案,目前,比较常用的算子调度算法包括:尽可能早(ASAP)和尽可能迟(ALAP)调度算法、列表调度算法和力量引导调度算法,但ASAP和ALAP调度算法给出的调度方案并不是真正实用化的方案,因为尽可能地将操作执行时间提前或推迟必然会使资源复用性变差;力量引导调度算法计算比较复杂,导致无法获取理想的算子调度方案。
发明内容
本申请实施例提供一种数据处理方法以及设备,可以提高资源的复用性,降低计算复杂度。
本申请实施例一方面提供了一种数据处理方法,可包括:
获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息;
根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;
根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序。
其中,所述获取数据流图中的节点算子的属性信息,包括:
获取数据流图中节点算子的算子标签;
获取节点算子的算子运算方式,根据所述算子运算方式确定所述节点算子对应的算子类型;
获取与所述节点算子连接的子节点算子的数量以及所述子节点算子的算子标签,将所述子节点算子的数量以及所述子节点算子的算子标签确定为所述节点算子的节点连接信息。
其中,所述根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量,包括:
根据节点算子的子节点信息确定算子向量的目标维度;
根据所述节点算子的算子标签,所述节点算子的算子类型以及与所述节点算子连接的子节点算子的子节点信息,生成长度为所述目标维度的算子向量。
其中,所述根据节点算子的子节点信息确定算子向量的目标维度,包括:
获取每个所述节点算子的子节点算子数量,将最大的子节点算子数量确定为算子向量的目标维度。
其中,所述根据所述算子向量生成每个节点算子对应的算子时间控制步,包括:
将所述算子向量在对应的时间步输入初始目标网络模型,采用初始目标网络模型输出每个节点算子对应的待预测算子时间控制步;
根据所述每个节点算子对应的待预测算子时间控制步,获取所述节点算子的奖励值;所述奖励值用于表征所述初始目标网络模型的收敛速度;
当所述奖励值满足收敛条件时,将所述初始目标网络模型确定为目标网络模型,将所述目标网络模型所输出的待预测算子时间控制步确定为算子时间控制步。
其中,所述将所述算子向量在对应的时间步输入初始目标网络模型,采用初始目标网络模型生成每个节点算子对应的待预测算子时间控制步,包括:
将所述节点算子aj对应的算子向量在对应的时间步输入初始目标网络模型,生成所述节点算子aj的算子向量的编码状态向量;所述编码状态向量是算子向量在初始目标网络模型中隐藏层中的状态信息;其中,j为小于M的正整数,M是指数据流图中节点算子的数量;
获取所述节点算子aj的算子向量在对应时间步的解码状态向量,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述解码状态向量生成注意力信息;
根据所述注意力信息和所述解码状态向量生成节点算子aj的待预测算子时间控制步。
其中,所述获取所述节点算子aj的算子向量在对应时间步的解码状态向量,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述解码状态向量生成注意力信息,包括:
当j=1时,根据最后一个时间步输入的节点算子对应的算子向量和开始标志符,生成所述节点算子aj的算子向量在对应时间步的解码状态向量,作为第一解码状态向量;所述开始标志符为所述初始目标网络模型中用于输出时间控制步的起始状态信息;
通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述第一解码状态向量生成第一注意力信息;
所述根据所述注意力信息和所述解码状态向量生成节点算子aj的待预测算子时间控制步,包括:
将所述第一注意力信息和所述第一解码状态向量进行向量合并,生成节点算子aj的待预测算子时间控制步。
其中,所述获取所述节点算子aj的算子向量在对应时间步的解码状态向量,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述解码状态向量生成注意力信息,包括:
当j>1时,根据节点算子aj-1的算子向量在对应时间步的解码状态向量和节点算子aj-1的待预测算子时间控制步,生成所述节点算子aj在对应时间步的解码状态向量,作为第二解码状态向量;
通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述第二解码状态向量生成第二注意力信息;
所述根据所述注意力信息和所述解码状态向量生成节点算子aj的待预测算子时间控制步,包括:
将所述第二注意力信息和所述第二解码状态向量进行向量合并,生成节点算子aj的待预测算子时间控制步。
其中,所述根据所述每个节点算子对应的待预测算子时间控制步,获取节点算子的奖励值,包括:
获取所述数据流图的关键路径,确定所述关键路径对应的时间控制步的长度信息;所述关键路径是数据流图对应的最短有效路径;
将目标时间控制步中的节点算子的算子类型确定为目标算子类型;所述目标时间控制步为所述关键路径对应的时间控制步的长度信息中的任意一个时间控制步;
获取每种所述目标算子类型中节点算子的数量,作为第一数量,获取每种所述目标算子类型的算子权重;
根据目标时间控制步中所述第一数量和所述算子权重生成目标时间控制步的资源占用量;
根据最大的资源占用量确定所述数据流图的节点算子对应的奖励值。
其中,还包括:
当所述奖励值大于奖励阈值时,则确定所述奖励值满足收敛条件;
当所述奖励值小于或等于奖励阈值时,根据所述奖励阈值与所述奖励值之间的奖励值误差,调整所述初始目标网络模型,将所述算子向量在对应的时间步输入调整后的初始目标网络模型。
本申请实施例一方面提供了一种数据处理设备,可包括:
属性信息获取模块,用于获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息;
算子向量获取模块,用于根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;
时间控制步获取模块,用于根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序。
其中,所述属性信息获取模块具体用于:
获取数据流图中节点算子的算子标签;
获取节点算子的算子运算方式,根据所述算子运算方式确定所述节点算子对应的算子类型;
获取与所述节点算子连接的子节点算子的数量以及所述子节点算子的算子标签,将所述子节点算子的数量以及所述子节点算子的算子标签确定为所述节点算子的节点连接信息。
其中,所述算子向量获取模块包括:
目标维度确定单元,用于根据节点算子的子节点信息确定算子向量的目标维度;
算子向量确定单元,用于根据所述节点算子的算子标签,所述节点算子的算子类型以及与所述节点算子连接的子节点算子的子节点信息,生成长度为所述目标维度的算子向量。
其中,所述目标维度确定单元具体用于:
获取每个所述节点算子的子节点算子数量,将最大的子节点算子数量确定为算子向量的目标维度。
其中,所述时间控制步获取模块包括:
待预测时间控制步获取单元,用于将所述算子向量在对应的时间步输入初始目标网络模型,采用初始目标网络模型输出每个节点算子对应的待预测算子时间控制步;
奖励值获取单元,用于根据所述每个节点算子对应的待预测算子时间控制步,获取所述节点算子的奖励值;所述奖励值用于表征所述初始目标网络模型的收敛速度;
模型确定单元,用于当所述奖励值满足收敛条件时,将所述初始目标网络模型确定为目标网络模型,将所述目标网络模型所输出的待预测算子时间控制步确定为算子时间控制步。
其中,所述待预测时间控制步获取单元包括:
编码状态向量获取子单元,用于将所述节点算子aj对应的算子向量在对应的时间步输入初始目标网络模型,生成所述节点算子aj的算子向量的编码状态向量;所述编码状态向量是算子向量在初始目标网络模型中隐藏层中的状态信息;其中,j为小于M的正整数,M是指数据流图中节点算子的数量;
解码状态向量获取子单元,用于获取所述节点算子aj的算子向量在对应时间步的解码状态向量,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述解码状态向量生成注意力信息;
待预测时间控制步获取子单元,用于根据所述注意力信息和所述解码状态向量生成节点算子aj的待预测算子时间控制步。
其中,所述解码状态向量获取子单元具体用于:
当j=1时,根据最后一个时间步输入的节点算子对应的算子向量和开始标志符,生成所述节点算子aj的算子向量在对应时间步的解码状态向量,作为第一解码状态向量;所述开始标志符为所述初始目标网络模型中用于输出时间控制步的起始状态信息;
通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述第一解码状态向量生成第一注意力信息;
所述待预测时间控制步获取子单元具体用于:
将所述第一注意力信息和所述第一解码状态向量进行向量合并,生成节点算子aj的待预测算子时间控制步。
其中,所述解码状态向量获取子单元具体还用于:
当j>1时,根据节点算子aj-1的算子向量在对应时间步的解码状态向量和节点算子aj-1的待预测算子时间控制步,生成所述节点算子aj在对应时间步的解码状态向量,作为第二解码状态向量;
通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述第二解码状态向量生成第二注意力信息;
所述待预测时间控制步获取子单元具体还用于:
将所述第二注意力信息和所述第二解码状态向量进行向量合并,生成节点算子aj的待预测算子时间控制步。
其中,所述奖励值获取单元具体用于:
获取所述数据流图的关键路径,确定所述关键路径对应的时间控制步的长度信息;所述关键路径是数据流图对应的最短有效路径;
将目标时间控制步中的节点算子的算子类型确定为目标算子类型;所述目标时间控制步为所述关键路径对应的时间控制步的长度信息中的任意一个时间控制步;
获取每种所述目标算子类型中节点算子的数量,作为第一数量,获取每种所述目标算子类型的算子权重;
根据目标时间控制步中所述第一数量和所述算子权重生成目标时间控制步的资源占用量;
根据最大的资源占用量确定所述数据流图的节点算子对应的奖励值。
其中,还包括:
调整模块,用于当所述奖励值大于奖励阈值时,则确定所述奖励值满足收敛条件;当所述奖励值小于或等于奖励阈值时,根据所述奖励阈值与所述奖励值之间的奖励值误差,调整所述初始目标网络模型,将所述算子向量在对应的时间步输入调整后的初始目标网络模型。
本申请实施例一方面提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
本申请实施例一方面提供了一种数据处理设备,包括处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
在本申请实施例中,通过获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息;根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序。通过每个节点算子的算子向量生成节点算子对应的算子时间控制步,避免了尽可能地将操作执行时间提前或推迟导致资源复用性变差的问题,计算过程相对简单,提高了资源的复用性,降低了计算复杂度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种数据处理的架构示意图;
图1b是本申请实施例提供的一种数据处理的流程示意图;
图1c是本申请实施例提供的一种数据处理的场景示意图;
图2是本申请实施例提供的一种数据处理方法的流程示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4a是本申请实施例提供的一种生成算子向量的的举例示意图;
图4b是本申请实施例提供的一种生成算子时间控制步的举例示意图;
图4c是本申请实施例提供的一种生成算子时间控制步的举例示意图;
图4d是本申请实施例提供的一种生成算子时间控制步的举例示意图;
图5是本申请实施例提供的一种数据处理设备的结构示意图;
图6是本申请实施例提供的一种数据处理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1a,是本发明实施例提供的一种数据处理的系统架构图。服务器10f通过交换机10e和通信总线10d与用户终端集群建立连接,用户终端集群可包括:用户终端10a、用户终端10b、...、用户终端10c。数据库10g中存储了初始目标网络模型,用于输出节点算子的算子调度顺序。服务器10f接收用户终端中的数据流图,所述数据流图用于表示系统中数据流向和逻辑变换过程,获取数据流图中节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息。服务器10f可以根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;并根据所述算子向量生成每个节点算子对应的算子时间控制步,所述服务器10f将所述算子时间控制步发送至用户终端,用户终端根据算子时间控制步实现高层次综合。需要说明的是,所述初始目标网络模型的训练和节点算子对应的算子时间控制步的输出是同时进行的,请参见图1b,是本发明实施例提供的一种数据处理的流程示意图,将数据流图中节点算子进行序列化表示,并生成算子向量,将所述算子向量输入初始目标网络模型,当时所述初始目标网络模型输出的待预测算子时间控制步满足调度奖励函数大于奖励阈值的收敛条件时,则将初始目标网络模型作为目标网络模型,将满足收敛条件的待预测算子时间控制步作为算子时间控制步。
本申请实施例涉及的数据处理设备可以包括具有数据处理和存储的服务器,也可以包括具有数据处理能力的用户终端,具体包括:平板电脑、智能手机、个人电脑(PC)、笔记本电脑、掌上电脑等设备。
下面将结合图1c,为本申请实施例提供的具体实施场景进行说明,如图1c所示。在通用的高层次综合中,其过程就是把高级编程语言自动转换成高效的可综合硬件描述语言的过程,例如将C语言或者Java语言转换为在FPGA中运行的可综合硬件描述语言,高层次综合主要包括高级编程语言前端编译、资源分配、算子调度、资源绑定和RTL(寄存器传输级)生成这几个步骤,首先对高级编程语言前端编译,并分配要确定可用的硬件资源的量,并管理其他硬件约束,包括速度、面积和功率等,再调度每一个节点算子的操作指令发生在哪个时间控制步,数据处理设备根据数据流图中节点算子的算子标签、节点算子的算子类型和节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;并根据所述算子向量生成每个节点算子对应的算子时间控制步,根据所述节点算子对应的算子时间控制步绑定每个节点算子所使用的硬件设备中的库单元,并生成RTL,实现高层次综合。
请参见图2,为本申请实施例提供了一种数据处理方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤S101-步骤S103。
S101,获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息;
具体的,数据处理设备获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息,可以理解的是,所述数据流图是从数据传递角度,以图形方式来表达系统的逻辑功能、数据流向和逻辑变换过程,所述数据流图中包括节点算子的属性信息,所述节点算子是所述数据流图中每一个时间控制步中的包括数据、约束条件的操作指令,所述属性信息包括所述节点算子的算子标签,所述算子标签为节点算子的身份标识,具体可以为节点算子的编号,所述节点算子的算子类型为算子进行运算的类型,具体可以为加法、减法和乘法等算子类型,所述节点算子的节点连接信息为所述节点算子与子节点算子相连关系,所述连接信息包括子节点算子的数量和与子节点算子相连的所述节点算子的算子标签。
S102,根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;
具体的,数据处理设备根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量,可以理解的是,所述数据处理设备获取数据流图中节点算子的算子标签,根据节点算子的算子运算方式,确定所述节点算子对应的算子类型,所述节点算子的算子运算方式包括加法、减法和乘法等,所述算子类型可以对应算子类型编号,具体的,加法节点算子对应“0”,减法节点算子对应“1”,乘法节点算子对应“2”;数据处理设备获取与所述节点算子连接的子节点算子的数量以及所述子节点算子的算子标签,将所述子节点算子的数量以及所述子节点算子的算子标签确定为所述节点算子的节点连接信息,所述子节点算子是与上述节点算子连接的节点算子,需要说明的是,针对当前的节点算子来说,所述节点算子可以拥有多个子节点算子,当前节点算子也可以是其他节点算子的子节点算子,数据处理设备根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量。
S103,根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序。
具体的,数据处理设备根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序,可以理解的是,所述每个节点算子具有一定的机动性,节点算子的机动性表示节点算子在时间控制步中变动的范围,节点算子的机动性越大,节点算子在时间控制步中变动的范围越大,所述算子时间控制步是所述节点算子在算子调度过程中的控制步,即所述算子时间控制步用于确定所述节点算子的算子调度顺序,数据处理设备根据所述算子向量生成每个节点算子对应的算子时间控制步,具体可以将每个节点算子的算子向量输入神经网络,神经网络输出每个节点算子的时间控制步,例如,节点算子的算子调度在4个时间控制步中完成,其中,节点算子5的机动性为时间控制步2和3,即节点算子5可以在时间控制步2和3中执行,数据处理设备根据所述算子向量生成节点算子5对应的算子时间控制步为2,则节点算子5的调度结果为在时间控制步2中执行。
在本申请实施例中,通过获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息;根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序。通过每个节点算子的算子向量生成节点算子对应的算子时间控制步,避免了尽可能地将操作执行时间提前或推迟导致资源复用性变差的问题,计算过程相对简单,提高了资源的复用性,降低了计算复杂度。
请参见图3,为本申请实施例提供了一种数据处理方法的流程示意图。如图3所示,本申请实施例的所述方法可以包括以下步骤S201-步骤S207。
S201,获取数据流图中节点算子的算子标签;获取节点算子的算子运算方式,根据所述算子运算方式确定所述节点算子对应的算子类型;获取与所述节点算子连接的子节点算子的数量以及所述子节点算子的算子标签,将所述子节点算子的数量以及所述子节点算子的算子标签确定为所述节点算子的节点连接信息;
具体的,数据处理设备获取数据流图中节点算子的算子标签;获取节点算子的算子运算方式,根据所述算子运算方式确定所述节点算子对应的算子类型;获取与所述节点算子连接的子节点算子的数量以及所述子节点算子的算子标签,将所述子节点算子的数量以及所述子节点算子的算子标签确定为所述节点算子的节点连接信息,可以理解的是,所述数据流图中包括节点算子的属性信息,所述节点算子是所述数据流图中每一个时间控制步中的包括数据、约束条件的操作指令,所述属性信息包括所述节点算子的算子标签,所述算子标签为节点算子的身份标识,具体可以为节点算子的编号,例如,节点算子1、节点算子2,所述节点算子的算子类型为算子进行运算的类型,具体可以为加法、减法和乘法等算子类型,例如,加法节点算子对应“0”,减法节点算子对应“1”,乘法节点算子对应“2”,所述节点算子的节点连接信息为所述节点算子与子节点算子相连关系,所述连接信息包括子节点算子的数量和与子节点算子相连的所述节点算子的算子标签。
S202,根据节点算子的子节点信息确定算子向量的目标维度;
具体的,数据处理设备根据节点算子的子节点信息确定算子向量的目标维度,可以理解的是,所述子节点信息为节点算子的子节点算子数量,数据流图中包括多个节点算子,数据处理设备获取每个所述节点算子的子节点算子数量,将最大的子节点算子数量确定为算子向量的目标维度,例如,数据流图中包括6个节点算子,分别获取每个节点算子的子节点算子数量,若最大的子节点算子数量为m,根据m确定算子向量的目标维度,若生成算子向量中不包括子节点信息的其他信息的维度为p,则算子向量的目标维度为m+p。
S203,根据所述节点算子的算子标签,所述节点算子的算子类型以及与所述节点算子连接的子节点算子的子节点信息,生成长度为所述目标维度的算子向量;
具体的,数据处理设备根据所述节点算子的算子标签,所述节点算子的算子类型以及与所述节点算子连接的子节点算子的子节点信息,生成长度为所述目标维度的算子向量,可以理解的是,所述数据处理设备获取数据流图中节点算子的算子标签,根据节点算子的算子运算方式,确定所述节点算子对应的算子类型,所述节点算子的算子运算方式包括加法、减法和乘法等,所述算子类型可以对应算子类型编号,具体的,加法节点算子对应“0”,减法节点算子对应“1”,乘法节点算子对应“2”;数据处理设备获取与所述节点算子连接的子节点算子的数量以及所述子节点算子的算子标签,将所述子节点算子的数量以及所述子节点算子的算子标签确定为所述节点算子的节点连接信息,所述子节点算子是与上述节点算子连接的节点算子,需要说明的是,针对当前的节点算子来说,所述节点算子可以拥有多个子节点算子,当前节点算子也可以是其他节点算子的子节点算子,数据处理设备根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成长度为所述目标维度的算子向量,若最大的子节点算子数量为m,生成算子向量中不包括子节点信息的其他信息包括算子标签和算子类型的维度为2,则算子向量的目标维度为m+2,下面结合表1对生成算子向量的过程进行说明,表1中为节点算子的算子标签,所述节点算子的算子类型以及与所述节点算子连接的子节点算子的子节点信息,数据流图中包括d各节点算子,节点算子的算子标签为节点编号,节点算子的算子类型为节点类型,各节点算子的节点编号、节点类型和节点算子的子节点信息如表1所示。
表1数据流图的序列化表示的编码
其中,表示第d个节点算子的第m个子节点,m为最大的子节点算子数量,表示该算子的第m个子节点为空,即该处没有子节点,每个节点的编码序列的长度为m+2,序列的长度为d,表1中节点算子N1的算子向量为 请一并参见图4a,如图4a所示,为本申请实施例提供了一种生成算子向量的举例示意图,所述数据流图中包括6个节点算子,加法算子类型、减法算子类型和乘法算子类型的算子类型分别为0,1和2,针对加法节点算子1,节点属性信息中的算子标签为1,所述节点算子1的算子类型为1,所述节点算子1连接的子节点算子为2和3,则算子节点1对应的算子向量为[1,1,2,3]。
S204,将所述算子向量在对应的时间步输入初始目标网络模型,采用初始目标网络模型输出每个节点算子对应的待预测算子时间控制步;
具体的,数据处理设备将所述算子向量在对应的时间步输入初始目标网络模型,采用初始目标网络模型输出每个节点算子对应的待预测算子时间控制步,可以理解的是,所述初始目标网络模型是未进行训练的目标网络模型或者处于训练中的目标网络模型,初始目标网络模型可以是神经网络,具体是递归神经网络,初始目标网络模型用于输出每个节点算子对应的待预测算子时间控制步,所述待预测算子时间控制步为初始目标网络模型输出的每个节点算子对应的算子时间控制步。
本申请实施例的S204可以包括以下步骤S2041-步骤S2043;
S2041,将所述节点算子aj对应的算子向量在对应的时间步输入初始目标网络模型,生成所述节点算子aj的算子向量的编码状态向量;所述编码状态向量是算子向量在初始目标网络模型中隐藏层中的状态信息;其中,j为小于M的正整数,M是指数据流图中节点算子的数量;
具体的,数据处理设备将所述节点算子aj对应的算子向量在对应的时间步输入初始目标网络模型,生成所述节点算子aj的算子向量的编码状态向量,可以理解的是,所述节点算子aj为数据流图中任意一个节点算子,每一个节点算子在对应的时间步输入初始目标网络模型,所述初始目标网络模型可以为包括初始递归神经网络,初始递归神经网络包括编码递归神经网络和解码递归神经网络,初始目标网络模型根据所述节点算子aj的算子向量输出编码状态向量,所述编码状态向量是算子向量在初始目标网络模型中隐藏层中的状态信息;其中,j为小于M的正整数,M是指数据流图中节点算子的数量;
具体的,当j=1时,根据最后一个时间步输入的节点算子对应的算子向量和开始标志符,生成所述节点算子aj的算子向量在对应时间步的解码状态向量,作为第一解码状态向量;所述开始标志符为所述初始目标网络模型中用于输出时间控制步的起始状态信息,所述起始状态信息为执行生成第一注意力信息的一个状态向量;通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述第一解码状态向量生成第一注意力信息,所述第一注意力信息为初始目标网络模型中的注意力机制,具体为编码状态向量和所述第一解码状态向量生成通过全连接层生成的向量。
具体的,当j>1时,根据节点算子aj-1的算子向量在对应时间步的解码状态向量和节点算子aj-1的待预测算子时间控制步,生成所述节点算子aj在对应时间步的解码状态向量,作为第二解码状态向量;通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述第二解码状态向量生成第二注意力信息,所述第二注意力信息为初始目标网络模型中的注意力机制,具体为编码状态向量和所述第二解码状态向量生成通过全连接层生成的向量。
S2042,获取所述节点算子aj的算子向量在对应时间步的解码状态向量,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述解码状态向量生成注意力信息;
具体的,数据处理设备获取所述节点算子aj的算子向量在对应时间步的解码状态向量,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述解码状态向量生成注意力信息,可以理解的是,所述解码状态向量为节点算子在解码递归神经网络中生成的状态向量,数据处理设备将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述解码状态向量生成节点算子aj对应的注意力信息。
S2043,根据所述注意力信息和所述解码状态向量生成节点算子aj的待预测算子时间控制步;
具体的,数据处理设备根据所述注意力信息和所述解码状态向量生成节点算子aj的待预测算子时间控制步,可以理解的是,所述待预测算子时间控制步是初始目标网络模型生成的节点算子aj的算子时间控制步,当j=1时,将所述第一注意力信息和所述第一解码状态向量进行向量合并,生成节点算子aj的待预测算子时间控制步;当j>1时,将所述第二注意力信息和所述第二解码状态向量进行向量合并,生成节点算子aj的待预测算子时间控制步,请一并参见图4b,如图4b所示,为本申请实施例提供了一种生成算子时间控制步的举例示意图,所述初始目标网络模型包括编码递归神经网络和解码递归神经网络,输出层为d个节点算子的算子时间控制步,输入为d个算子的算子编码,即d个节点算子的算子向量,初始目标网络模型中的注意力机制为注意力信息,节点算子1至节点算子d按照时间步t1至td输入初始目标网络模型,即节点算子1在时间步t1输入初始目标网络模型,节点算子2在时间步t2输入初始目标网络模型,节点算子d在时间步td输入初始目标网络模型,其中t1,t2,td在同一个时间轴上,且t1<t2<td,针对节点算子1的算子时间控制步,根据节点算子d对应的算子向量和开始标志符,生成所述节点算子1的算子向量在对应时间步的解码状态向量,作为节点算子1的解码状态向量,所述开始标志符为所述初始目标网络模型中用于输出时间控制步的起始状态信息,通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和节点算子1的解码状态向量n1生成节点算子1的注意力机制,其中,节点算子1对应的编码状态向量为s1,节点算子2对应的编码状态向量为s1,节点算子d对应的编码状态向量为sd,将所述节点算子1的注意力机制和节点算子1的解码状态向量进行向量合并,生成节点算子1的待预测算子时间控制步;针对节点算子2的算子时间控制步,请一并参见图4c,如图4c所示,为本申请实施例提供了一种生成算子时间控制步的举例示意图,根据节点算子1的算子向量在对应时间步的解码状态向量和节点算子1的待预测算子时间控制步,生成所述节点算子2在对应时间步的解码状态向量,作为节点算子2的解码状态向量n2;通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和节点算子2的解码状态向量n2生成节点算子2的注意力机制,其中,节点算子1对应的编码状态向量为s1,节点算子2对应的编码状态向量为s1,节点算子d对应的编码状态向量为sd,将节点算子2的注意力机制和所述节点算子2的解码状态向量进行向量合并,生成节点算子2的待预测算子时间控制步;按照节点算子输入初始目标网络模型的时间步,依次输出节点算子的待预测算子时间控制步,直到输出节点算子d的待预测算子时间控制步,请一并参见图4d,如图4d所示,为本申请实施例提供了一种生成算子时间控制步的举例示意图,根据节点算子d-1的算子向量在对应时间步的解码状态向量和节点算子d-1的待预测算子时间控制步,生成所述节点算子d在对应时间步的解码状态向量nd;通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和节点算子d的解码状态向量nd生成节点算子d的注意力机制,将节点算子d的注意力机制和所述节点算子d的解码状态向量进行向量合并,生成节点算子d的待预测算子时间控制步,当所有算子节点的待预测算子时间控制步满足收敛条件,将所述待预测算子时间控制步确定为算子时间控制步并发送至用户终端。
S205,根据所述每个节点算子对应的待预测算子时间控制步,获取所述节点算子的奖励值;所述奖励值用于表征所述初始目标网络模型的收敛速度;
具体的,数据处理设备根据所述每个节点算子对应的待预测算子时间控制步,获取所述节点算子的奖励值,所述奖励值用于表征所述初始目标网络模型的收敛速度,可以理解的是,获取所述数据流图的关键路径,确定所述关键路径对应的时间控制步的长度信息;所述关键路径是数据流图对应的最短有效路径;将目标时间控制步中的节点算子的算子类型确定为目标算子类型;所述目标时间控制步为所述关键路径对应的时间控制步的长度信息中的任意一个时间控制步;获取每种所述目标算子类型中节点算子的数量,作为第一数量,获取每种所述目标算子类型的算子权重;根据目标时间控制步中所述第一数量和所述算子权重生成目标时间控制步的资源占用量,根据最大的资源占用量确定所述数据流图的节点算子对应的奖励值,例如,所述资源占用量可以根据公式(1)进行计算,表示为:
其中,表示在第j时间控制步中i类型算子的数量,wi表示i类型算子的权重,Aj表示第j时间控制步中算子的种类数,K表示关键路径长度。
调度的奖励函数可以根据公式(2)进行计算,表示为:
其中α∈(0,1)是平滑因子,有利于减少振荡,使训练过程的快速收敛。负号表示资源占用越少,奖励越大;资源占用越多,奖励越小。
S206,当所述奖励值满足收敛条件时,将所述初始目标网络模型确定为目标网络模型,将所述目标网络模型所输出的待预测算子时间控制步确定为算子时间控制步;
具体的,当所述奖励值满足收敛条件时,数据处理设备将所述初始目标网络模型确定为目标网络模型,将所述目标网络模型所输出的待预测算子时间控制步确定为算子时间控制步,可以理解的是,所述收敛条件可以设定奖励阈值,根据所述奖励阈值与奖励值的差值确定是否满足收敛条件,当所述奖励值满足收敛条件时,将所述初始目标网络模型确定为目标网络模型,将所述目标网络模型所输出的待预测算子时间控制步确定为算子时间控制步。
S207,当所述奖励值大于奖励阈值时,则确定所述奖励值满足收敛条件;当所述奖励值小于或等于奖励阈值时,根据所述奖励阈值与所述奖励值之间的奖励值误差,调整所述初始目标网络模型,将所述算子向量在对应的时间步输入调整后的初始目标网络模型。
具体的,当所述奖励值大于奖励阈值时,数据处理设备则确定所述奖励值满足收敛条件;当所述奖励值小于或等于奖励阈值时,根据所述奖励阈值与所述奖励值之间的奖励值误差,调整所述初始目标网络模型,将所述算子向量在对应的时间步输入调整后的初始目标网络模型,可以理解的是,当所述奖励值小于或等于奖励阈值时,即确定所述奖励值不满足收敛条件,则调整所述初始目标网络模型,并再次将所述算子向量在对应的时间步输入调整后的初始目标网络模型,并输出待预测算子时间控制步,并根据预测算子时间控制步计算奖励值,直到奖励值大于奖励阈值时,将初始目标网络模型确定为目标网络模型,并停止对初始目标网络模型进行调整。
在本申请实施例中,通过获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息;根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序。通过每个节点算子的算子向量生成节点算子对应的算子时间控制步,避免了尽可能地将操作执行时间提前或推迟导致资源复用性变差的问题,计算过程相对简单,提高了资源的复用性,降低了计算复杂度。
请参见图5,为本申请实施例提供了一种数据处理设备的结构示意图。如图5所示,本申请实施例的所述数据处理设备1可以包括:属性信息获取模块11、算子向量获取模块12、时间控制步获取模块13、调整模块14。
属性信息获取模块11,用于获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息;
具体的,属性信息获取模块11获取数据流图中节点算子的算子标签;获取节点算子的算子运算方式,根据所述算子运算方式确定所述节点算子对应的算子类型;获取与所述节点算子连接的子节点算子的数量以及所述子节点算子的算子标签,将所述子节点算子的数量以及所述子节点算子的算子标签确定为所述节点算子的节点连接信息。
算子向量获取模块12,用于根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;
请参见图5,本申请实施例的所述算子向量获取模块12可以包括:目标维度确定单元121、算子向量确定单元122。
目标维度确定单元121,用于根据节点算子的子节点信息确定算子向量的目标维度;
算子向量确定单元122,用于根据所述节点算子的算子标签,所述节点算子的算子类型以及与所述节点算子连接的子节点算子的子节点信息,生成长度为所述目标维度的算子向量。
时间控制步获取模块13,用于根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序。
请参见图5,本申请实施例的所述时间控制步获取模块13可以包括:待预测时间控制步获取单元131、奖励值获取单元132、模型确定单元133。
待预测时间控制步获取单元131,用于将所述算子向量在对应的时间步输入初始目标网络模型,采用初始目标网络模型输出每个节点算子对应的待预测算子时间控制步;
请参见图5,本申请实施例的所述待预测时间控制步获取单元131可以包括:编码状态向量获取子单元1311、解码状态向量获取子单元1312、待预测时间控制步获取子单元1313。
编码状态向量获取子单元1311,用于将所述节点算子aj对应的算子向量在对应的时间步输入初始目标网络模型,生成所述节点算子aj的算子向量的编码状态向量;所述编码状态向量是算子向量在初始目标网络模型中隐藏层中的状态信息;其中,j为小于M的正整数,M是指数据流图中节点算子的数量;
具体的,当j=1时,编码状态向量获取子单元1311根据最后一个时间步输入的节点算子对应的算子向量和开始标志符,生成所述节点算子aj的算子向量在对应时间步的解码状态向量,作为第一解码状态向量;所述开始标志符为所述初始目标网络模型中用于输出时间控制步的起始状态信息;通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述第一解码状态向量生成第一注意力信息;
当j>1时,编码状态向量获取子单元1311根据节点算子aj-1的算子向量在对应时间步的解码状态向量和节点算子aj-1的待预测算子时间控制步,生成所述节点算子aj在对应时间步的解码状态向量,作为第二解码状态向量;通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述第二解码状态向量生成第二注意力信息;
解码状态向量获取子单元1312,用于获取所述节点算子aj的算子向量在对应时间步的解码状态向量,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述解码状态向量生成注意力信息;
待预测时间控制步获取子单元1313,用于根据所述注意力信息和所述解码状态向量生成节点算子aj的待预测算子时间控制步。
奖励值获取单元132,用于根据所述每个节点算子对应的待预测算子时间控制步,获取所述节点算子的奖励值;所述奖励值用于表征所述初始目标网络模型的收敛速度;
具体的,奖励值获取单元132获取所述数据流图的关键路径,确定所述关键路径对应的时间控制步的长度信息;所述关键路径是数据流图对应的最短有效路径;将目标时间控制步中的节点算子的算子类型确定为目标算子类型;所述目标时间控制步为所述关键路径对应的时间控制步的长度信息中的任意一个时间控制步;获取每种所述目标算子类型中节点算子的数量,作为第一数量,获取每种所述目标算子类型的算子权重;根据目标时间控制步中所述第一数量和所述算子权重生成目标时间控制步的资源占用量;根据最大的资源占用量确定所述数据流图的节点算子对应的奖励值。
模型确定单元133,用于当所述奖励值满足收敛条件时,将所述初始目标网络模型确定为目标网络模型,将所述目标网络模型所输出的待预测算子时间控制步确定为算子时间控制步。
调整模块14,用于当所述奖励值大于奖励阈值时,则确定所述奖励值满足收敛条件;当所述奖励值小于或等于奖励阈值时,根据所述奖励阈值与所述奖励值之间的奖励值误差,调整所述初始目标网络模型,将所述算子向量在对应的时间步输入调整后的初始目标网络模型。
在本申请实施例中,通过获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息;根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序。通过每个节点算子的算子向量生成节点算子对应的算子时间控制步,避免了尽可能地将操作执行时间提前或推迟导致资源复用性变差的问题,计算过程相对简单,提高了资源的复用性,降低了计算复杂度。
请参见图6,为本申请实施例提供了一种数据处理设备的结构示意图。如图6所示,所述数据处理设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理应用程序。
在图6所示的数据处理设备1000中,网络接口1004可提供网络通讯功能,用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的数据处理应用程序,以实现上述图1a-图4d任一个所对应实施例中对所述数据处理方法的描述,在此不再赘述。
应当理解,本申请实施例中所描述的数据处理设备1000可执行前文图1a-图4d任一个所对应实施例中对所述数据处理方法的描述,也可执行前文图5所对应实施例中对所述数据处理设备的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且所述计算机可读存储介质中存储有前文提及的数据处理设备所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图1a-图4d任一个所对应实施例中对所述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息;
根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;
根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序。
2.根据权利要求1所述的方法,其特征在于,所述获取数据流图中的节点算子的属性信息,包括:
获取数据流图中节点算子的算子标签;
获取节点算子的算子运算方式,根据所述算子运算方式确定所述节点算子对应的算子类型;
获取与所述节点算子连接的子节点算子的数量以及所述子节点算子的算子标签,将所述子节点算子的数量以及所述子节点算子的算子标签确定为所述节点算子的节点连接信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量,包括:
根据节点算子的子节点信息确定算子向量的目标维度;
根据所述节点算子的算子标签,所述节点算子的算子类型以及与所述节点算子连接的子节点算子的子节点信息,生成长度为所述目标维度的算子向量。
4.根据权利要求3所述的方法,其特征在于,所述根据节点算子的子节点信息确定算子向量的目标维度,包括:
获取每个所述节点算子的子节点算子数量,将最大的子节点算子数量确定为算子向量的目标维度。
5.根据权利要求1所述的方法,其特征在于,所述根据所述算子向量生成每个节点算子对应的算子时间控制步,包括:
将所述算子向量在对应的时间步输入初始目标网络模型,采用初始目标网络模型输出每个节点算子对应的待预测算子时间控制步;
根据所述每个节点算子对应的待预测算子时间控制步,获取所述节点算子的奖励值;所述奖励值用于表征所述初始目标网络模型的收敛速度;
当所述奖励值满足收敛条件时,将所述初始目标网络模型确定为目标网络模型,将所述目标网络模型所输出的待预测算子时间控制步确定为算子时间控制步。
6.根据权利要求5所述的方法,其特征在于,所述将所述算子向量在对应的时间步输入初始目标网络模型,采用初始目标网络模型生成每个节点算子对应的待预测算子时间控制步,包括:
将所述节点算子aj对应的算子向量在对应的时间步输入初始目标网络模型,生成所述节点算子aj的算子向量的编码状态向量;所述编码状态向量是算子向量在初始目标网络模型中隐藏层中的状态信息;其中,j为小于M的正整数,M是指数据流图中节点算子的数量;
获取所述节点算子aj的算子向量在对应时间步的解码状态向量,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述解码状态向量生成注意力信息;
根据所述注意力信息和所述解码状态向量生成节点算子aj的待预测算子时间控制步。
7.根据权利要求6所述的方法,其特征在于,所述获取所述节点算子aj的算子向量在对应时间步的解码状态向量,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述解码状态向量生成注意力信息,包括:
当j=1时,根据最后一个时间步输入的节点算子对应的算子向量和开始标志符,生成所述节点算子aj的算子向量在对应时间步的解码状态向量,作为第一解码状态向量;所述开始标志符为所述初始目标网络模型中用于输出时间控制步的起始状态信息;
通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述第一解码状态向量生成第一注意力信息;
所述根据所述注意力信息和所述解码状态向量生成节点算子aj的待预测算子时间控制步,包括:
将所述第一注意力信息和所述第一解码状态向量进行向量合并,生成节点算子aj的待预测算子时间控制步。
8.根据权利要求6所述的方法,其特征在于,所述获取所述节点算子aj的算子向量在对应时间步的解码状态向量,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述解码状态向量生成注意力信息,包括:
当j>1时,根据节点算子aj-1的算子向量在对应时间步的解码状态向量和节点算子aj-1的待预测算子时间控制步,生成所述节点算子aj在对应时间步的解码状态向量,作为第二解码状态向量;
通过全连接层,将所述初始目标网络模型中所有节点算子对应的编码状态向量和所述第二解码状态向量生成第二注意力信息;
所述根据所述注意力信息和所述解码状态向量生成节点算子aj的待预测算子时间控制步,包括:
将所述第二注意力信息和所述第二解码状态向量进行向量合并,生成节点算子aj的待预测算子时间控制步。
9.根据权利要求5所述的方法,其特征在于,所述根据所述每个节点算子对应的待预测算子时间控制步,获取节点算子的奖励值,包括:
获取所述数据流图的关键路径,确定所述关键路径对应的时间控制步的长度信息;所述关键路径是数据流图对应的最短有效路径;
将目标时间控制步中的节点算子的算子类型确定为目标算子类型;所述目标时间控制步为所述关键路径对应的时间控制步的长度信息中的任意一个时间控制步;
获取每种所述目标算子类型中节点算子的数量,作为第一数量,获取每种所述目标算子类型的算子权重;
根据目标时间控制步中所述第一数量和所述算子权重生成目标时间控制步的资源占用量;
根据最大的资源占用量确定所述数据流图的节点算子对应的奖励值。
10.根据权利要求5所述的方法,其特征在于,还包括:
当所述奖励值大于奖励阈值时,则确定所述奖励值满足收敛条件;
当所述奖励值小于或等于奖励阈值时,根据所述奖励阈值与所述奖励值之间的奖励值误差,调整所述初始目标网络模型,将所述算子向量在对应的时间步输入调整后的初始目标网络模型。
11.一种数据处理设备,其特征在于,包括:
属性信息获取模块,用于获取数据流图中的节点算子的属性信息;所述属性信息包括所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息;
算子向量获取模块,用于根据所述节点算子的算子标签、所述节点算子的算子类型和所述节点算子的节点连接信息分别生成每个所述节点算子对应的算子向量;
时间控制步获取模块,用于根据所述算子向量生成每个节点算子对应的算子时间控制步;所述算子时间控制步用于确定所述节点算子的算子调度顺序。
12.根据权利要求11所述的设备,其特征在于,所述属性信息获取模块具体用于:
获取数据流图中节点算子的算子标签;
获取节点算子的算子运算方式,根据所述算子运算方式确定所述节点算子对应的算子类型;
获取与所述节点算子连接的子节点算子的数量以及所述子节点算子的算子标签,将所述子节点算子的数量以及所述子节点算子的算子标签确定为所述节点算子的节点连接信息。
13.根据权利要求11所述的设备,其特征在于,所述算子向量获取模块包括:
目标维度确定单元,用于根据节点算子的子节点信息确定算子向量的目标维度;
算子向量确定单元,用于根据所述节点算子的算子标签,所述节点算子的算子类型以及与所述节点算子连接的子节点算子的子节点信息,生成长度为所述目标维度的算子向量。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-10任一项所述的方法。
15.一种数据处理设备,其特征在于,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1-10任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910594905.9A CN110334436B (zh) | 2019-07-03 | 2019-07-03 | 一种数据处理方法以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910594905.9A CN110334436B (zh) | 2019-07-03 | 2019-07-03 | 一种数据处理方法以及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334436A true CN110334436A (zh) | 2019-10-15 |
CN110334436B CN110334436B (zh) | 2023-11-07 |
Family
ID=68144096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910594905.9A Active CN110334436B (zh) | 2019-07-03 | 2019-07-03 | 一种数据处理方法以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334436B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242176A (zh) * | 2019-12-31 | 2020-06-05 | 北京迈格威科技有限公司 | 计算机视觉任务的处理方法、装置及电子系统 |
CN112148456A (zh) * | 2020-09-30 | 2020-12-29 | 成都华微电子科技有限公司 | Fpga高层次综合调度方法 |
CN112632113A (zh) * | 2020-12-31 | 2021-04-09 | 北京九章云极科技有限公司 | 一种算子管理方法和算子管理系统 |
CN113469328A (zh) * | 2021-06-24 | 2021-10-01 | 上海寒武纪信息科技有限公司 | 执行转数穿过的装置、板卡、方法及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061574A1 (en) * | 2001-06-15 | 2003-03-27 | Sanjeev Saluja | Procedure for optimizingmergeability and datapath widths of data flow graphs |
US20050278680A1 (en) * | 2004-06-15 | 2005-12-15 | University Of North Carolina At Charlotte | Methodology for scheduling, partitioning and mapping computational tasks onto scalable, high performance, hybrid FPGA networks |
US20070168902A1 (en) * | 2006-01-18 | 2007-07-19 | Osamu Ogawa | Method for high-level synthesis of semiconductor integrated circuit |
US20130139119A1 (en) * | 2011-11-28 | 2013-05-30 | International Business Machines Corporation | Partitioning and scheduling uniform operator logic trees for hardware accelerators |
CN105005638A (zh) * | 2015-06-04 | 2015-10-28 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于线性延时模型的高层次综合调度方法 |
CN107402745A (zh) * | 2017-07-04 | 2017-11-28 | 清华大学 | 数据流图的映射方法及装置 |
CN108537619A (zh) * | 2018-03-05 | 2018-09-14 | 新智数字科技有限公司 | 一种基于最大流算法的任务分配方法、装置及设备 |
CN109597646A (zh) * | 2017-09-30 | 2019-04-09 | 英特尔公司 | 具有可配置空间加速器的处理器、方法和系统 |
-
2019
- 2019-07-03 CN CN201910594905.9A patent/CN110334436B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061574A1 (en) * | 2001-06-15 | 2003-03-27 | Sanjeev Saluja | Procedure for optimizingmergeability and datapath widths of data flow graphs |
US20050278680A1 (en) * | 2004-06-15 | 2005-12-15 | University Of North Carolina At Charlotte | Methodology for scheduling, partitioning and mapping computational tasks onto scalable, high performance, hybrid FPGA networks |
US20070168902A1 (en) * | 2006-01-18 | 2007-07-19 | Osamu Ogawa | Method for high-level synthesis of semiconductor integrated circuit |
US20130139119A1 (en) * | 2011-11-28 | 2013-05-30 | International Business Machines Corporation | Partitioning and scheduling uniform operator logic trees for hardware accelerators |
CN105005638A (zh) * | 2015-06-04 | 2015-10-28 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于线性延时模型的高层次综合调度方法 |
CN107402745A (zh) * | 2017-07-04 | 2017-11-28 | 清华大学 | 数据流图的映射方法及装置 |
CN109597646A (zh) * | 2017-09-30 | 2019-04-09 | 英特尔公司 | 具有可配置空间加速器的处理器、方法和系统 |
CN108537619A (zh) * | 2018-03-05 | 2018-09-14 | 新智数字科技有限公司 | 一种基于最大流算法的任务分配方法、装置及设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242176A (zh) * | 2019-12-31 | 2020-06-05 | 北京迈格威科技有限公司 | 计算机视觉任务的处理方法、装置及电子系统 |
CN111242176B (zh) * | 2019-12-31 | 2023-10-13 | 北京迈格威科技有限公司 | 计算机视觉任务的处理方法、装置及电子系统 |
CN112148456A (zh) * | 2020-09-30 | 2020-12-29 | 成都华微电子科技有限公司 | Fpga高层次综合调度方法 |
CN112148456B (zh) * | 2020-09-30 | 2023-05-16 | 成都华微电子科技股份有限公司 | Fpga高层次综合调度方法 |
CN112632113A (zh) * | 2020-12-31 | 2021-04-09 | 北京九章云极科技有限公司 | 一种算子管理方法和算子管理系统 |
CN113469328A (zh) * | 2021-06-24 | 2021-10-01 | 上海寒武纪信息科技有限公司 | 执行转数穿过的装置、板卡、方法及可读存储介质 |
CN113469328B (zh) * | 2021-06-24 | 2024-03-19 | 上海寒武纪信息科技有限公司 | 执行转数穿过的装置、板卡、方法及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110334436B (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334436A (zh) | 一种数据处理方法以及设备 | |
US11314507B2 (en) | Model conversion method, device, computer equipment, and storage medium | |
US10789544B2 (en) | Batching inputs to a machine learning model | |
US20230237375A1 (en) | Dynamic placement of computation sub-graphs | |
CN109753356A (zh) | 一种容器资源调度方法、装置及计算机可读存储介质 | |
CN109886859B (zh) | 数据处理方法、系统、电子设备和计算机可读存储介质 | |
CN110033091B (zh) | 一种基于模型进行预测的方法和装置 | |
US20220004858A1 (en) | Method for processing artificial neural network, and electronic device therefor | |
CN113204373A (zh) | 运算方法、装置及相关产品 | |
CN110069284A (zh) | 一种基于opu指令集的编译方法及编译器 | |
Chen et al. | Quality optimization of adaptive applications via deep reinforcement learning in energy harvesting edge devices | |
CN116680063B (zh) | 任务调度方法、装置、计算系统、电子设备和存储介质 | |
CN116560666B (zh) | 基于多层级代码生成的ai前端统一计算方法、装置及介质 | |
CN116187690A (zh) | 一种基于极值算法的电力调度方法、装置和电子设备 | |
CN115470901B (zh) | 支持移动端异构处理器分载的混合精度训练方法及设备 | |
CN112052943A (zh) | 电子装置和执行该电子装置的操作的方法 | |
CN115469931B (zh) | 一种循环程序的指令优化方法、装置、系统、设备及介质 | |
CN115136141A (zh) | 用于实现混合信号集成电路的受限计算的操作变换的系统和方法 | |
CN111667060A (zh) | 深度学习算法的编译方法、装置及相关产品 | |
CN114816742A (zh) | 请求处理方法、装置、电子设备及存储介质 | |
CN116382884A (zh) | 生成要被卸载到加速器电路的命令列表的方法和装置 | |
CN113760380B (zh) | 网络模型的运行代码的确定方法、装置、设备及存储介质 | |
Höpfner et al. | Energy awareness needs a rethinking in software development | |
Wu et al. | An estimation of distribution algorithm to optimize the utility of task scheduling under fog computing systems | |
US20110225557A1 (en) | High-level synthesis apparatus, high-level synthesis method, and computer readable medium |
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 |