CN111260019B - 神经网络模型的数据处理方法、装置、设备及存储介质 - Google Patents
神经网络模型的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111260019B CN111260019B CN202010099460.XA CN202010099460A CN111260019B CN 111260019 B CN111260019 B CN 111260019B CN 202010099460 A CN202010099460 A CN 202010099460A CN 111260019 B CN111260019 B CN 111260019B
- Authority
- CN
- China
- Prior art keywords
- neural network
- calculation
- fused
- instruction
- network operators
- 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.)
- Active
Links
- 238000003062 neural network model Methods 0.000 title claims abstract description 66
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000013528 artificial neural network Methods 0.000 claims abstract description 176
- 238000004364 calculation method Methods 0.000 claims abstract description 124
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 21
- 230000004927 fusion Effects 0.000 claims description 71
- 238000012545 processing Methods 0.000 claims description 21
- 230000004913 activation Effects 0.000 claims description 20
- 238000011176 pooling Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 5
- 238000007599 discharging Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 29
- 238000005516 engineering process Methods 0.000 abstract description 9
- 239000010410 layer Substances 0.000 description 28
- 230000006870 function Effects 0.000 description 22
- 230000009471 action Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种神经网络模型的数据处理方法、装置、设备及存储介质,该方法包括:获取神经网络模型中的多个神经网络算子;根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;将所述融合后的神经网络算子组合为计算指令;使用计算引擎对所述计算指令进行计算。本发明提供的一种神经网络模型的数据处理方法,加快了计算流程,解决了相关技术中无法快速实现数据流计算的问题,实现了使算法指令到达驱动程序之后把多个算子解析成一次数据流过程,多个数据流过程整体实现一个神经网络的数据流,使得数据流速度能够达到最高的效率。
Description
技术领域
本申请实施例涉及计算板卡技术领域,例如涉及一种神经网络模型的数据处理方法、装置、设备及存储介质。
背景技术
随着人工智能技术的发展,产生了许多可扩展的深度学习***,深度学习***可以设置为提供多种能够在中央处理单元(Central Processing Unit,CPU)或图形处理器(Graphics Processing Unit,GPU)等处理器上运行的神经网络模型。深度学习的框架种类繁多,并且框架版本迭代更新速度较快,融合技术需要根据不同框架的架构特点来进行设计。
处理器在运行神经网络模型时,如运行Caffe网络模型时,每次对该神经网络模型中的多个计算节点分别进行编译、解析,按照该神经网络模型的结构形式以一定的形式执行多个计算节点的运算。当上述计算节点在不同的处理器上执行时,在不同的处理器之间进行频繁的切换,不同处理器之间的通讯次数较多且进行多次数据拷贝,降低了神经网络模型的运算速度。
发明内容
本申请提供一种神经网络模型的数据处理方法、装置、设备及存储介质,以实现提高数据流速度效率。
在一实施例中,本申请实施例提供了一种神经网络模型的数据处理方法,包括:获取神经网络模型中的多个神经网络算子;
根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;
将所述融合后的神经网络算子组合为计算指令;
使用计算引擎对所述计算指令进行计算。
可选的,在所述根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子之前,还包括:判断所述多个神经网络算子是否能够进行融合,响应于所述多个神经网络算子能够进行融合的判断结果,根据所述预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子。
可选的,在所述判断所述多个神经网络算子是否能够进行融合之后,还包括:响应于所述多个神经网络算子不能进行融合的判断结果,继续获取新的神经网络算子。
可选的,所述根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子,包括:依次按照卷积、激活函数、池化/上采样、捷径、激活函数、全局池化的顺序对所述多个神经网络算子排放,并对排放的神经网络算子进行融合得到融合后的神经网络算子。
可选的,所述使用计算引擎对所述计算指令进行计算,包括:判断所述计算指令是否为唯一一个数据流操作,响应于所述计算指令是唯一一个数据流操作的判断结果,使用计算引擎对所述计算指令进行计算。
可选的,在所述判断所述计算指令是否为唯一一个数据流操作之后,还包括:响应于所述计算指令不是唯一一个数据流操作的判断结果,根据所述融合后的神经网络算子重新组合计算指令。
可选的,在所述使用计算引擎对所述计算指令进行计算之前,还包括:对所述计算指令进行解析。
在一实施例中,本申请实施例还提供了一种神经网络模型的数据处理装置,包括:
获取模块,设置为获取神经网络模型中的多个神经网络算子;
融合模块,设置为根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;
组合模块,设置为将所述融合后的神经网络算子组合为计算指令;
计算模块,设置为使用计算引擎对所述计算指令进行计算。
在一实施例中,本申请实施例还提供了一种神经网络数据处理设备,包括一个或多个处理器;
存储装置,设置为存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述方法。
在一实施例中,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序包括程序指令,该程序指令被处理器执行时实现上述方法。
本申请实施例公开了一种神经网络模型的数据处理方法、装置、设备及存储介质,该方法包括:获取神经网络模型中的多个神经网络算子;根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;将所述融合后的神经网络算子组合为计算指令;使用计算引擎对所述计算指令进行计算。本发明提供的一种神经网络模型的数据处理方法,加快了计算流程,解决了相关技术中无法快速实现数据流计算的问题,实现了使算法指令到达驱动程序之后把多个算子解析成一次数据流过程,多个数据流过程整体实现一个神经网络的数据流,使得数据流速度能够达到最高的效率。
附图说明
图1为本申请实施例中提供的一种神经网络模型的数据处理方法的流程图;
图2为本申请实施例中提供的一种神经网络模型的数据处理方法的流程图;
图3是本申请实施例中提供的一种神经网络模型的数据处理装置的结构示意图;
图4是本申请实施例中提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
下面结合附图和实施例对本申请进行说明。此处所描述的实施例仅仅用于解释本申请,而非对本申请的限定。为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将多个步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,多个步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述多种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,可以将第一计算引擎称为第二计算引擎,且类似地,可将第二计算引擎称为第一计算引擎。第一计算引擎和第二计算引擎两者都是计算引擎,但第一计算引擎和第二计算引擎不是同一计算引擎。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确限定。
实施例一
图1为本申请实施例提供的一种神经网络模型的数据处理方法的流程图,本实施例可适用于融合计算算子加快数据流架构的情况,包括步骤100至步骤130。
步骤100、获取神经网络模型中的多个神经网络算子。
在一实施例中,在神经网络模型中,一个神经网络模型中包括多个算法指令,一个算法指令中包括多个神经网络算子,运算流程包括多层结构的多个神经网络算子和多个神经网络算子之间的连接关系。在计算引擎处理神经网络模型的计算指令后,获取所有的神经网络算子的信息,包括运算符号、运算参数、多个算子之间的连接关系等等。
步骤110、根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子。
本实施例中,根据预先设定的融合规则(即预设规则)对神经网络中的多个神经网络算子进行融合。融合过程包括从多个神经网络算子中选取目标算子,获取目标算子与下层算子的连接关系,根据连接关系确定融合关系。
示例性的,第一神经网络模型包括多层结构,运算流程包括所述多层结构的多个神经网络算子和所述多个神经网络算子之间的连接关系,每层结构对应至少一个神经网络算子,神经网络模型的架构融合装置根据所述运算流程生成所述第一神经网络模型的计算图,包括:神经网络模型的架构融合装置从所述多个神经网络算子中选取目标算子,所述目标算子为有向无环图的起始节点;神经网络模型的架构融合装置获取所述目标算子的下层算子和所述目标算子与所述下层算子的连接关系;神经网络模型的架构融合装置根据所述目标算子与下层算子的连接关系将所述下层算子对应的下层节点与所述起始节点连接,得到所述有向无环图。神经网络模型的架构融合装置根据所述多个神经网络算子对应的至少两个处理单元信息确定所述有向无环图中的N个可融合节点和M个非融合节点,所述可融合节点对应的神经网络算子为图像处理单元(Image Processing Unit,IPU)执行的算子,所述N和所述M均为大于1的整数;神经网络模型的架构融合装置对所述N个可融合节点进行融合段划分,得到融合段划分后的有向无环图,所述融合段划分后的有向无环图包括P个融合段,所述P为大于或等于1且小于或等于所述N的整数;神经网络模型的架构融合装置获取所述M个非融合节点在所述有向无环图中的Q条路径和M个节点层,所述Q大于所述M,每个非融合节点对应至少一条路径和一个节点层;神经网络模型的架构融合装置根据所述Q条路径和所述M个节点层对所述融合段划分后的有向无环图进行简化,得到所述融合后的有向无环图。其中,非融合节点对应的神经网络算子为不在IPU上执行的算子。其中,每个融合段为有向无环图的一个子图,同一融合段中的至少一个可融合节点对应的至少一个算子均为在IPU上执行的算子,该至少一个算子在IPU上执行无需切换处理单元,无需多次数据拷贝。在一些实施例中,神经网络模型的架构融合装置获取M个非融合节点在有向无环图中的Q条路径和M个节点层的实施方式为:神经网络模型的架构融合装置从有向无环图的第1个节点层开始逐层遍历,获取每个非融合节点对应的至少一条路径和一个节点层,得到M个非融合节点在有向无环图中的Q条路径和M个节点层。神经网络模型的架构融合装置获取所述N个可融合节点之间的节点连接关系;神经网络模型的架构融合装置对所述N个可融合节点进行融合段划分,包括:若可融合节点m与可融合节点n的节点连接关系为同一个节点层的相邻节点或不同节点层的父子节点,则神经网络模型的架构融合装置将所述可融合节点m和所述可融合节点n划分至同一个融合段,所述可融合节点m和所述可融合节点n均为所述N个可融合节点中的任意一个。神经网络模型的架构融合装置根据所述Q条路径和所述M个节点层对所述融合段划分后的有向无环图进行简化,包括:神经网络模型的架构融合装置获取所述M个非融合节点之间的节点位置关系;若非融合节点p对应的算子与非融合节点q对应的算子相同,则神经网络模型的架构融合装置确定所述非融合节点p与所述非融合节点q的节点位置关系,所述非融合节点p和所述非融合节点q均为所述M个非融合节点中的任意一个;若所述非融合节点p与所述非融合节点q的所述节点位置关系为位于不同节点层且处于不同的路径,则神经网络模型的架构融合装置将指向所述非融合节点p的边指向所述非融合节点q,增加所述非融合节点q的一条边指向所述非融合节点p的边指向的节点,删除所述非融合节点p。其中,非融合节点q对应的算子在不同时刻接收到不同节点发送的数据并执行计算,不同节点的数量与不同时刻的数量是相同的。若所述非融合节点p与所述非融合节点q的所述节点位置关系为位于不同节点层且处于不同的路径,则神经网络模型的架构融合装置将指向所述非融合节点q的边指向所述非融合节点p,增加所述非融合节点p的一条边指向所述非融合节点q的边指向的节点,删除所述非融合节点q。其中,非融合节点P对应的神经网络算子在不同时刻接收到不同节点发送的数据并执行计算,不同节点的数量在不同时刻是相同的。
步骤120、将所述融合后的神经网络算子组合为计算指令。
本实施例中,在神经网络模型之中,一个算法指令中包括多个神经网络算子,将融合后的神经网络算子组合为多个计算指令,方便分配合适数量的计算引擎进行计算。在一实施例中,算法指令和计算指令可以不同,计算指令中可以包含一个或多个算法指令。
步骤130、使用计算引擎对所述计算指令进行计算。
本实施例中,根据步骤120中的计算指令数量,选择合适数量的计算引擎对计算指令进行计算。此时的计算引擎至少为一个以上,根据该计算任务的优先级来确定,计算引擎数量越多,处理该计算任务的速度越快。示例性的,在深度学习计算中,使用多个计算引擎对图像进行识别,此时,使用计算引擎的数量越多,对该图像和数据库中图像对比的速度越快,输出对比结果的时间越短。
本申请实施例的技术方案通过获取神经网络模型中的多个神经网络算子;根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;将所述融合后的神经网络算子组合为计算指令;使用计算引擎对所述计算指令进行计算,加快了计算流程,解决了相关技术中无法快速实现数据流计算的问题,实现了使算法指令到达驱动程序之后把多个算子解析成一次数据流过程,多个数据流过程整体实现一个神经网络的数据流,使得数据流速度能够达到最高的效率。
实施例二
图2为本申请实施例中一种神经网络模型的数据处理方法的流程图,本实施例是在实施例一的基础上的可选实施例,在一实施中,该方法包括:步骤200至步骤250。
步骤200、获取神经网络模型中的多个神经网络算子。
步骤210、判断所述多个神经网络算子是否能够进行融合,响应于所述多个神经网络算子能够进行融合的判断结果,根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;响应于所述多个神经网络算子不能进行融合的判断结果,继续获取新的神经网络算子。
本实施例中,在进行神经网络算子融合之前需要判断这部分神经网络算子是否能够进行融合,融合方式参照实施例一的示例。当神经网络算子能够进行融合时,依次按照卷积、激活函数、池化/上采样、捷径、激活函数、全局池化的顺序对所述神经网络算子排放并对排放的神经网络算子进行融合得到融合后的神经网络算子。其中,卷积是指神经网络中的卷积层,是神经网络中进行大部分繁重计算工作的卷积网络的核心构建块,卷积层中的参数由一组可学习的过滤器组成。池化的功能是逐渐减小表示的空间大小,以减少网络中的参数和计算量,从而控制过度拟合。池化层在输入的每个深度切片上独立运行,并使用最大MAX操作在空间上调整其大小。激活函数一般用于神经网络的层与层之间,将上一层的输出转换之后输入到下一层。如果没有激活函数引入的非线性特性,那么神经网络就只相当于原始感知机的矩阵相乘。激活函数包括非线性特性:即当激活函数为非线性的时候,可以证明两层的神经网络可以逼近任意复杂的函数。激活函数具有连续可微的特性:由于神经网络的训练是基于梯度的优化方法,数学基础是连续可微,因此选取的激活函数也要保证连续可微。阶跃激活函数在0点不连续,且在除零点外导数都为0,因此不能使用基于梯度的方法。当激活函数的取值范围有限时,基于梯度的训练方法往往更加稳定,因为特征的表示受有限权重的影响更显著。当取值范围无限时,训练通常会更有效率,因为特征的表示会显著影响大部分权重,在这种情况下,通常需要更小的学习率。激活函数具有单调性,当激活函数是单调时,单层网络的误差曲面一定是凸的。
若当前神经网络算子不能进行融合时,获取新的神经网络算子来进行融合。获取新的神经网络算子之后,根据预设规则即卷积+激活函数+池化/上采样+捷径+激活函数+全局池化的顺序对所述神经网络算子排放,判断排放的神经网络算子是否能够进行融合,若能够进行融合,则根据实施例一中的融合方式对神经网络算子进行融合。
步骤220、根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子。
步骤230、将所述融合后的神经网络算子组合为计算指令。
步骤240、对所述计算指令进行解析。
本实施例中,对计算指令进行解析,其中包括将计算指令拆解为多个神经网络算子,根据这些神经网络算子确定一个或者多个神经网络数据流,根据神经网络数据流分配相应的计算引擎进行计算处理。
步骤250、判断所述计算指令是否为唯一一个数据流操作,响应于所述计算指令是唯一一个数据流操作的判断结果,使用计算引擎对所述计算指令进行计算。响应于所述计算指令不是唯一一个数据流操作的判断结果,根据所述融合后的神经网络算子重新组合计算指令。
本实施例中,将计算指令解析后得到的神经网络数据流进行判断,判断是否为唯一一个数据流,在神经网络计算中,计算引擎一次一般只能处理一个数据流,所以同时存在多个数据流的情况下,会影响神经网络计算时间。首先判断是否为唯一一个数据流,如果是,则直接分配计算引擎对其进行计算处理,只计算一个神经网络数据流可以大大节省神经网络的处理时间,达到提高数据流速度效率的问题。如果不是,则将计算指令拆分得到的神经网络算子,重新与新的神经网络算子进行融合,再组成新的计算指令。然后将多个新的计算指令进行重新组合,继续判断是否为唯一一个数据流。
本申请实施例的技术方案通过获取神经网络模型中的多个神经网络算子;判断所述多个神经网络算子是否能够进行融合,若是,则根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;若否,则继续获取新的神经网络算子;根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;将所述融合后的神经网络算子组合为计算指令;对所述计算指令进行解析;判断所述计算指令是否为唯一一个数据流操作,若是,则使用计算引擎对所述计算指令进行计算。若否,则根据所述融合后的神经网络算子重新组合计算指令,加快了计算流程,解决了相关技术中无法快速实现数据流计算的问题,实现了使算法指令到达驱动程序之后把多个算子解析成一次数据流过程,多个数据流过程整体实现一个神经网络的数据流,使得数据流速度能够达到最高的效率。
实施例三
本申请实施例所提供的神经网络模型的数据处理装置可执行本申请任意实施例所提供的方法,具备执行方法相应的功能模块和效果。图3是本申请实施例中的一种神经网络模型的数据处理装置300的结构示意图。参照图3,本申请实施例提供的神经网络模型的数据处理装置300可以包括:
获取模块310,设置为获取神经网络模型中的多个神经网络算子;
融合模块320,设置为根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;
组合模块330,设置为将所述融合后的神经网络算子组合为计算指令;
计算模块340,设置为使用计算引擎对所述计算指令进行计算。
在一实施例中,所述装置还设置为:在所述根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子之前,判断所述多个神经网络算子是否能够进行融合,响应于所述多个神经网络算子能够进行融合的判断结果,根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子。
在一实施例中,所述装置还设置为:在判断所述多个神经网络算子是否能够进行融合之后,响应于所述多个神经网络算子不能进行融合的判断结果,继续获取新的神经网络算子。
在一实施例中,融合模块是设置为:依次按照卷积、激活函数、池化/上采样、捷径、激活函数、全局池化的顺序对所述多个神经网络算子排放,并对排放的神经网络算子进行融合得到融合后的神经网络算子。
在一实施例中,所述计算模块是设置为:判断所述计算指令是否为唯一一个数据流操作,响应于所述计算指令是唯一一个数据流操作的判断结果,使用计算引擎对所述计算指令进行计算。
在一实施例中,所述计算模块是设置为:在判断所述计算指令是否为唯一一个数据流操作之后,响应于所述计算指令不是唯一一个数据流操作的判断结果,根据将所述融合后的神经网络算子重新组合计算指令。
在一实施例中,所述装置还设置为:对所述计算指令进行解析。
本申请实施例中提供的一种神经网络数据处理装置,通过获取神经网络模型中的多个神经网络算子;根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;将所述融合后的神经网络算子组合为计算指令;使用计算引擎对所述计算指令进行计算,加快了计算流程,解决了相关技术中无法快速实现数据流计算的问题,实现了使算法指令到达驱动程序之后把多个算子解析成一次数据流过程,多个数据流过程整体实现一个神经网络的数据流,使得数据流速度能够达到最高的效率。
实施例四
图4为本申请实施例提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括存储器410、处理器420,计算机设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;设备中的存储器410、处理器420可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器410作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块,如本申请实施例中的方法对应的程序指令/模块(例如,神经网络模型的数据处理装置中的获取模块310、融合模块320、组合模块330、计算模块340)。处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行设备/终端/设备的多种功能应用以及数据处理,即实现上述方法。
其中,处理器420设置为运行存储在存储器410中的计算机程序,实现如下步骤:
获取神经网络模型中的多个神经网络算子;
根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;
将所述融合后的神经网络算子组合为计算指令;
使用计算引擎对所述计算指令进行计算。
在一实施例中,本申请实施例所提供的一种计算机设备,其计算机程序不限于如上的方法操作,还可以执行本申请任意实施例所提供的方法。
存储器410可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至设备/终端/设备。上述网络的实例包括互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例中提供的技术方案通过获取神经网络模型中的多个神经网络算子;根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;将所述融合后的神经网络算子组合为计算指令;使用计算引擎对所述计算指令进行计算,加快了计算流程,解决了相关技术中无法快速实现数据流计算的问题,实现了使算法指令到达驱动程序之后把多个算子解析成一次数据流过程,多个数据流过程整体实现一个神经网络的数据流,使得数据流速度能够达到最高的效率。
实施例五
本申请实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行上述方法,该方法包括:
获取神经网络模型中的多个神经网络算子;
根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;
将所述融合后的神经网络算子组合为计算指令;
使用计算引擎对所述计算指令进行计算。
本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的方法。
本申请实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者以上的组合。计算机可读存储介质包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述合适的组合。在本文件中,计算机可读存储介质可以是多种包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括电磁信号、光信号或上述合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
存储介质上包含的程序代码可以用适当的介质传输,包括无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,LAN)或广域网(Wide Area Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本申请实施例提供的存储介质通过获取神经网络模型中的多个神经网络算子;根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;将所述融合后的神经网络算子组合为计算指令;使用计算引擎对所述计算指令进行计算,加快了计算流程,解决了相关技术中无法快速实现数据流计算的问题,实现了使算法指令到达驱动程序之后把多个算子解析成一次数据流过程,多个数据流过程整体实现一个神经网络的数据流,使得数据流速度能够达到最高的效率。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种神经网络模型的数据处理方法,其特征在于,包括:
获取神经网络模型中的多个神经网络算子;
根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;
将所述融合后的神经网络算子组合为计算指令;
使用计算引擎对所述计算指令进行计算;
其中,所述使用计算引擎对所述计算指令进行计算,包括:
判断所述计算指令是否为唯一一个数据流操作,响应于所述计算指令是唯一一个数据流操作的判断结果,使用计算引擎对所述计算指令进行计算;
其中,在所述判断所述计算指令是否为唯一一个数据流操作之后,还包括:响应于所述计算指令不是唯一一个数据流操作的判断结果,根据所述融合后的神经网络算子重新组合计算指令。
2.根据权利要求1中所述的方法,其特征在于,在所述根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子之前,还包括:判断所述多个神经网络算子是否能够进行融合,响应于所述多个神经网络算子能够进行融合的判断结果,根据所述预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子。
3.根据权利要求2中所述的方法,其特征在于,在所述判断所述多个神经网络算子是否能够进行融合之后,还包括:响应于所述多个神经网络算子不能进行融合的判断结果,继续获取新的神经网络算子。
4.根据权利要求1中所述的方法,其特征在于,所述根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子,包括:依次按照卷积、激活函数、池化/上采样、捷径、激活函数、全局池化的顺序对所述多个神经网络算子排放,并对排放的神经网络算子进行融合得到融合后的神经网络算子。
5.根据权利要求1中所述的方法,其特征在于,在所述使用计算引擎对所述计算指令进行计算之前,还包括:对所述计算指令进行解析。
6.一种神经网络模型的数据处理装置,其特征在于,包括:
获取模块,设置为获取神经网络模型中的多个神经网络算子;
融合模块,设置为根据预设规则对所述多个神经网络算子进行融合得到融合后的神经网络算子;
组合模块,设置为将所述融合后的神经网络算子组合为计算指令;
计算模块,设置为使用计算引擎对所述计算指令进行计算;
其中,所述计算模块还设置为判断所述计算指令是否为唯一一个数据流操作,响应于所述计算指令是唯一一个数据流操作的判断结果,使用计算引擎对所述计算指令进行计算;在所述判断所述计算指令是否为唯一一个数据流操作之后,响应于所述计算指令不是唯一一个数据流操作的判断结果,根据所述融合后的神经网络算子重新组合计算指令。
7.一种计算设备,其特征在于,包括:
一个或多个处理器;
存储装置,设置为存储一个或多个程序,
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010099460.XA CN111260019B (zh) | 2020-02-18 | 2020-02-18 | 神经网络模型的数据处理方法、装置、设备及存储介质 |
US17/800,689 US20240220765A1 (en) | 2020-02-18 | 2021-01-26 | Tape pasting mechanism with multiple functions of clutch-type synchronous punching, tape pasting and cutting |
PCT/CN2021/073758 WO2021164506A1 (zh) | 2020-02-18 | 2021-01-26 | 神经网络模型的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010099460.XA CN111260019B (zh) | 2020-02-18 | 2020-02-18 | 神经网络模型的数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111260019A CN111260019A (zh) | 2020-06-09 |
CN111260019B true CN111260019B (zh) | 2023-04-11 |
Family
ID=70951079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010099460.XA Active CN111260019B (zh) | 2020-02-18 | 2020-02-18 | 神经网络模型的数据处理方法、装置、设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240220765A1 (zh) |
CN (1) | CN111260019B (zh) |
WO (1) | WO2021164506A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111260019B (zh) * | 2020-02-18 | 2023-04-11 | 深圳鲲云信息科技有限公司 | 神经网络模型的数据处理方法、装置、设备及存储介质 |
CN111737193B (zh) * | 2020-08-03 | 2020-12-08 | 深圳鲲云信息科技有限公司 | 数据存储方法、装置、设备和存储介质 |
TWI770629B (zh) * | 2020-10-08 | 2022-07-11 | 大陸商星宸科技股份有限公司 | 神經網路優化方法、裝置及處理器 |
CN112465133B (zh) * | 2020-11-25 | 2022-12-09 | 安徽寒武纪信息科技有限公司 | 控制流多核并行方法、计算机设备和存储介质 |
CN112686378A (zh) * | 2020-12-23 | 2021-04-20 | 展讯通信(上海)有限公司 | 神经网络的计算部署方法及装置、存储介质、计算机设备 |
CN114692860A (zh) * | 2020-12-28 | 2022-07-01 | 华为技术有限公司 | 一种计算图的节点融合方法及设备 |
CN112766483B (zh) * | 2020-12-30 | 2023-01-31 | 上海熠知电子科技有限公司 | 异构***的数据处理方法、装置及计算机可读存储介质 |
CN112884123B (zh) * | 2021-02-23 | 2024-03-01 | 杭州海康威视数字技术股份有限公司 | 神经网络优化方法、装置、电子设备及可读存储介质 |
CN112947933B (zh) * | 2021-02-24 | 2024-07-12 | 上海商汤智能科技有限公司 | 一种算子的执行方法、装置、计算机设备及存储介质 |
CN113065639B (zh) * | 2021-03-08 | 2023-06-13 | 深圳云天励飞技术股份有限公司 | 算子融合方法、***、设备及存储介质 |
CN113010469B (zh) * | 2021-03-18 | 2023-05-26 | 恒睿(重庆)人工智能技术研究院有限公司 | 图像特征提取方法、装置以及计算机可读存储介质 |
CN113835900B (zh) * | 2021-11-26 | 2022-02-22 | 山东产研鲲云人工智能研究院有限公司 | 神经网络计算方法、装置、设备及计算机可读存储介质 |
CN114118389B (zh) * | 2022-01-28 | 2022-05-10 | 深圳鲲云信息科技有限公司 | 神经网络数据处理方法、设备及存储介质 |
CN115293340B (zh) * | 2022-08-09 | 2023-07-14 | 上海壁仞智能科技有限公司 | 数据同步处理方法、装置、计算设备和存储介质 |
CN115357626A (zh) * | 2022-09-06 | 2022-11-18 | 中国建设银行股份有限公司 | 数据处理方法、装置、电子设备、介质及产品 |
CN117709403A (zh) * | 2022-09-07 | 2024-03-15 | 华为云计算技术有限公司 | 模型优化方法、装置以及计算设备 |
CN115796228B (zh) * | 2022-11-15 | 2024-04-05 | 北京百度网讯科技有限公司 | 算子融合方法、装置、设备以及存储介质 |
CN118171683A (zh) * | 2022-12-09 | 2024-06-11 | 华为技术有限公司 | 一种用于神经网络的算子融合方法及相关装置 |
CN116389786B (zh) * | 2023-03-29 | 2024-04-05 | 南京浮点智算数字科技有限公司 | 基于节点扩容的视频云存储方法、装置和电子设备 |
CN116932092B (zh) * | 2023-09-18 | 2024-01-09 | 之江实验室 | 一种算子调用代码自动生成的方法、装置、介质及设备 |
CN117576125B (zh) * | 2024-01-16 | 2024-04-16 | 芯瞳半导体技术(山东)有限公司 | 一种神经网络计算图的分割方法、装置、设备及存储介质 |
CN118051234A (zh) * | 2024-04-12 | 2024-05-17 | 北京壁仞科技开发有限公司 | 用于软硬件适配的方法、计算装置、介质和程序产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109740751A (zh) * | 2018-12-24 | 2019-05-10 | 北京中科寒武纪科技有限公司 | 神经网络模型的架构融合方法及相关装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11093826B2 (en) * | 2016-02-05 | 2021-08-17 | International Business Machines Corporation | Efficient determination of optimized learning settings of neural networks |
CN108229455B (zh) * | 2017-02-23 | 2020-10-16 | 北京市商汤科技开发有限公司 | 物体检测方法、神经网络的训练方法、装置和电子设备 |
CN110321999B (zh) * | 2018-03-30 | 2021-10-01 | 赛灵思电子科技(北京)有限公司 | 神经网络计算图优化方法 |
CN111461296B (zh) * | 2018-12-29 | 2023-09-22 | 中科寒武纪科技股份有限公司 | 数据处理方法、电子设备和可读存储介质 |
CN110689116B (zh) * | 2019-09-24 | 2022-12-27 | 安徽寒武纪信息科技有限公司 | 一种神经网络剪枝方法、装置、计算机设备及存储介质 |
CN111260019B (zh) * | 2020-02-18 | 2023-04-11 | 深圳鲲云信息科技有限公司 | 神经网络模型的数据处理方法、装置、设备及存储介质 |
-
2020
- 2020-02-18 CN CN202010099460.XA patent/CN111260019B/zh active Active
-
2021
- 2021-01-26 WO PCT/CN2021/073758 patent/WO2021164506A1/zh active Application Filing
- 2021-01-26 US US17/800,689 patent/US20240220765A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109740751A (zh) * | 2018-12-24 | 2019-05-10 | 北京中科寒武纪科技有限公司 | 神经网络模型的架构融合方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
US20240220765A1 (en) | 2024-07-04 |
WO2021164506A1 (zh) | 2021-08-26 |
CN111260019A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111260019B (zh) | 神经网络模型的数据处理方法、装置、设备及存储介质 | |
JP7157154B2 (ja) | 性能予測ニューラルネットワークを使用したニューラルアーキテクチャ探索 | |
KR102302609B1 (ko) | 신경망 아키텍처 최적화 | |
US10656962B2 (en) | Accelerate deep neural network in an FPGA | |
CN111626430A (zh) | 一种数据处理方法及相关产品 | |
US20200175370A1 (en) | Decentralized distributed deep learning | |
JP7043596B2 (ja) | ニューラルアーキテクチャ検索 | |
CN107729138B (zh) | 一种高性能分布式矢量空间数据的分析方法和装置 | |
CN112199189A (zh) | 深度学习模型对资源受限边缘设备的适应 | |
US20170139818A1 (en) | Validation using scenario runners | |
US11550973B2 (en) | Data structures and processing methods for highly scalable simulation platforms | |
KR102613367B1 (ko) | 딥러닝 모델 서빙 최적화를 위한 모델 자동 경량화 방법 및 장치, 이를 이용한 클라우드 추론 서비스 제공 방법 | |
US11663505B2 (en) | Estimating performance and required resources from shift-left analysis | |
Li et al. | A generic cloud platform for engineering optimization based on OpenStack | |
CN111931939A (zh) | 一种单振幅量子计算模拟方法 | |
CN116108764B (zh) | 光学智能优化方法、装置、设备、介质 | |
CN116894469A (zh) | 端边云计算环境中的dnn协同推理加速方法、设备及介质 | |
CN114970847A (zh) | 数据处理方法、装置和存储介质 | |
US11288046B2 (en) | Methods and systems for program optimization utilizing intelligent space exploration | |
CN116210210A (zh) | 使用机器学习的左移位拓扑构建和信息增强 | |
CN115883401B (zh) | 一种基于流交互图的端到端网络性能预测方法、***及平台 | |
CN110633596A (zh) | 预测车辆方向角的方法和装置 | |
Xu et al. | Online personalized QoS prediction approach for cloud services | |
CN116882591B (zh) | 信息生成方法、装置、电子设备和计算机可读介质 | |
CN114615144B (zh) | 网络优化方法及*** |
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 |