CN110187965A - 神经网络的运行优化及数据处理方法、设备及存储介质 - Google Patents

神经网络的运行优化及数据处理方法、设备及存储介质 Download PDF

Info

Publication number
CN110187965A
CN110187965A CN201910378838.7A CN201910378838A CN110187965A CN 110187965 A CN110187965 A CN 110187965A CN 201910378838 A CN201910378838 A CN 201910378838A CN 110187965 A CN110187965 A CN 110187965A
Authority
CN
China
Prior art keywords
node
key
parallel processing
neural network
key side
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
CN201910378838.7A
Other languages
English (en)
Other versions
CN110187965B (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.)
Shenzhen University
Original Assignee
Shenzhen University
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 Shenzhen University filed Critical Shenzhen University
Priority to CN201910378838.7A priority Critical patent/CN110187965B/zh
Publication of CN110187965A publication Critical patent/CN110187965A/zh
Application granted granted Critical
Publication of CN110187965B publication Critical patent/CN110187965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明适用计算机技术领域,提供了一种神经网络的运行优化及数据处理方法、设备及存储介质,在神经网络的前向计算过程中,获得其节点入度统计数据并从通路集合中确定关键通路,若关键通路的关键边满足并行处理条件,确定可与该关键边并行处理的、位于非关键通路上的非关键边,若关键边不满足并行处理条件,则确定可并行处理的至少两条非关键边,以形成可供并行处理线程进行处理的计算子线程分配模型。这样,可实现在神经网络的层级结构上的多核并行加速优化,有效提升了神经网络的计算效率,有利于大规模神经挽留过在使用多核计算资源的计算设备上的推广应用。

Description

神经网络的运行优化及数据处理方法、设备及存储介质
技术领域
本发明属于计算机技术领域,尤其涉及一种神经网络的运行优化及数据处理方法、设备及存储介质。
背景技术
在训练得到深度学习神经网络后,会将神经网络部署到实际工程中进行应用,这个应用的过程主要是利用神经网络的前向计算结果。然而,不同结构的神经网络训练出的网络精度不一样,一般而言,结构越复杂的神经网络,其网络精度也越高。因此,能够部署越复杂的神经网络并减少其前向计算的时间,计算效率将得到有效提升,对实际的应用也越有利。当前主流深度学习神经网络的部署大部分基于开源框架,它们几乎都是先申请出整个神经网络需要的计算资源,然后从输入到输出,顺序逐层执行完各个计算子,每个计算子一般对应神经网络一个网络层,这样会对计算资源造成一定程度上的浪费;而对于多核资源的利用,大部分都是一个神经网络建立一个计算通道,复制相同的神经网络到每个核上来进行计算,实现的是对整个神经网络的多核并行加速优化,仍然无法实现神经网络计算效率的有效提升,限制了大规模神经网络在使用多核计算资源的计算设备上的应用。
发明内容
本发明的目的在于提供一种神经网络的运行优化及数据处理方法、设备及存储介质,旨在解决现有技术所存在的、因对整个神经网络的多核并行加速优化而导致的计算效率低下并无法有效在多核计算设备上推广应用的问题。
一方面,本发明提供了一种神经网络的运行优化方法,所述神经网络的前向图对应由位于输入与输出之间的至少两条通路构成的集合,每条所述通路以特征图作为节点、以计算子作为边,所述计算子对应至少一个网络层,所述运行优化方法在所述神经网络的前向计算过程中执行如下内容:
获得节点入度统计数据并从所述集合中确定关键通路,所述集合中的其他所述通路为非关键通路;
根据所述节点入度统计数据,当所述关键通路的关键边满足并行处理条件时,确定可与所述关键边并行处理的、位于所述非关键通路上的非关键边;当所述关键边不满足并行处理条件时,确定可并行处理的至少两条所述非关键边,以形成可供并行处理线程进行处理的计算子线程分配模型。
进一步的,获得节点入度统计数据,具体为:
采用深度优先搜索算法,对所述节点的入度进行统计,得到所述节点入度统计数据。
进一步的,从所述集合中确定关键通路,具体包括:
采用拓扑排序算法,将所述前向图转换得到拓扑序列;
根据所述拓扑序列,从所述集合中确定所述关键通路。
进一步的,根据所述拓扑序列,从所述集合中确定所述关键通路,具体包括:
根据所述网络层的浮点计算量,确定所述通路的活动持续时间;
根据所述活动持续时间,按照所述拓扑序列对应的拓扑次序和逆拓扑次序,确定所述节点的最早开始时间和最晚开始时间;
以所述最早开始时间与所述最晚开始时间相同的所述节点构建所述关键通路。
进一步的,所述并行处理线程被预设为N条,N取大于1的自然数,当所述关键通路的关键边满足并行处理条件时,确定可与所述关键边并行处理的、位于所述非关键通路上的非关键边;当所述关键边不满足并行处理条件时,确定可并行处理的至少两条所述非关键边,具体为:
当所述关键边起始位置的所述节点的实时入度数据为零时,确定可与所述关键边并行处理的、位于至多N-1条所述非关键通路上的非关键边;当所述关键边起始位置的所述节点的实时入度数据不为零时,确定可并行处理的、位于至少两条且至多N条所述非关键通路上的所述非关键边,所述实时入度数据为基于所述节点入度统计数据变化而得到。
进一步的,确定可与所述关键边并行处理的、位于至多N-1条所述非关键通路上的非关键边,或者,确定可并行处理的、位于至少两条且至多N条所述非关键通路上的所述非关键边,具体采用二分查找算法实现。
进一步的,所述运行优化方法还包括:
获得节点出度统计数据;
在所述前向计算过程中,根据所述节点出度统计数据,当所述节点的实时出度数据为零时,释放所述实时出度数据为零的所述节点所占用的资源,所述实时出度数据为基于所述节点出度统计数据变化而得到。
另一方面,本发明还提供了一种基于神经网络的数据处理方法,所述数据处理方法基于如上述的运行优化方法所得的所述计算子线程分配模型以及所述神经网络。
另一方面,本发明还提供了一种计算设备,包括存储器及处理器,所述处理器执行所述存储器中存储的计算机程序时实现如上述方法中的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法中的步骤。
本发明在神经网络的前向计算过程中,获得其节点入度统计数据并从通路集合中确定关键通路,若关键通路的关键边满足并行处理条件,确定可与该关键边并行处理的、位于非关键通路上的非关键边,若关键边不满足并行处理条件,则确定可并行处理的至少两条非关键边,以形成可供并行处理线程进行处理的计算子线程分配模型。这样,可实现在神经网络的层级结构上的多核并行加速优化,有效提升了神经网络的计算效率,有利于大规模神经挽留过在使用多核计算资源的计算设备上的推广应用。
附图说明
图1是本发明实施例一提供的神经网络的运行优化方法的实现流程图;
图2是本发明实施例二中步骤S101的细化流程图;
图3是本发明实施例二中步骤S202的细化流程图;
图4是本发明实施例六提供的计算设备的结构示意图;
图5是本发明具体应用例的方案流程图;
图6是本发明具体应用例中算法2伪代码图;
图7是本发明具体应用例中部署及执行的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的神经网络的运行优化方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
神经网络的前向图对应由位于输入与输出之间的至少两条通路构成的集合,每条通路以特征图(Feature Map)作为节点、以计算子作为边,而计算子对应至少一个网络层。
本实施例中,神经网络类似于起始网(Inception-Net),神经网络的输入与输出之间的计算子连结结构由多条通路组合而成,是一种多分支(Multi-branch) 结构。当这种类型神经网络的计算子组合方式越复杂,网络计算精度也越高,相应地就更需要进行并行加速优化,以节省前向计算的时间。
神经网络的前向图是一种等价的边活动(Activity On Edge,AOE)网。其中,单个计算子作为边,一个或多个网络层作为一个计算子。网络层在神经网络中可以是卷积(Convolution)层、池化(Pooling)层、激活(Activation)层、全连接(Full-connect)层等,可提取输入数据的特征信息。
上述运行优化方法在神经网络的前向计算过程中执行如下内容:
在步骤S101中,获得节点入度统计数据并从集合中确定关键通路,集合中的其他通路为非关键通路。
本实施例中,节点入度用于表示并行性,节点入度为零表示该节点前面的计算已经完成,可以和其他同样入度为零的节点并行计算。在神经网络的单次前向计算过程中可进行节点入度的统计。
在训练得到神经网络后,则可以采用深度优先搜索算法,对节点的入度进行统计,得到节点入度统计数据。节点入度统计数据表征需要经过多少次前面的计算才能得到该节点。深度优先搜索算法是对每一个可能的通路深入到不能再深入为止,而且每个节点只能被访问一次。当然,在其他实施例中还可以采用其他入度统计方法,例如:广度优先搜索算法等。
从前向图的通路集合中确定关键通路,可采用相应的带时间戳的深度优先搜索算法,也可以采用相应的带时间戳的广度优先搜索算法等。
关键通路是从输入到输出经过的延时最长的通路,而集合中其他通路则并非从输入到输出经过的延时最长的通路,因此,该些其他通路则为非关键通路。
在步骤S102中,根据节点入度统计数据,当关键通路的关键边满足并行处理条件时,确定可与关键边并行处理的、位于非关键通路上的非关键边;当关键边不满足并行处理条件时,确定可并行处理的至少两条非关键边,以形成可供并行处理线程进行处理的计算子线程分配模型。
本实施例中,利用并行处理线程进行神经网络的前向计算时,并行处理线程将对其中满足并行处理条件的边(即计算子)进行并行计算,从而提升神经网络的计算效率。为达到这个目的,需要形成计算子线程分配模型(也可以叫做任务分配模型),从而使得计算子在相应的时机参与到并行处理中。但并不意味着所有计算子都会参与到并行处理中,而是使能够参与并行处理的计算子都尽量能参与到并行处理中。计算子线程分配模型主要表示在何时通过哪条线程执行相应的计算子任务。当然,线程不仅需要执行相应的计算,还需要在计算前进行相应的计算资源的准备,例如:内存分配、参数配置等。
在利用并行处理线程进行神经网络的前向计算时,需要以关键通路作为主线,尽量保证某线程执行关键通路上的一关键边任务时,同时还有其他一条或多条线程执行一条或多条非关键通路上的非关键边任务。而当没有关键边满足并行处理条件时,则为了满足并行执行要求,则选择多条非关键通路上的多非关键边任务同时执行。这里所说的“多条”是指至少两条的含义。
实施本实施例,针对神经网络,获得其节点入度统计数据并从通路集合中确定关键通路,在以关键通路作为主线进行神经网络的前向计算过程中,若关键通路的关键边满足并行处理条件,确定可与该关键边并行处理的、位于非关键通路上的非关键边,若关键边不满足并行处理条件,则确定可并行处理的至少两条非关键边,以形成可供并行处理线程进行处理的计算子线程分配模型。这样,可实现在神经网络的层级结构上的多核并行加速优化,有效提升了神经网络的计算效率,有利于大规模神经挽留过在使用多核计算资源的计算设备上的推广应用。
实施例二:
本实施例在实施例一基础上,进一步提供了如下内容:
如图2所示,本实施例中,步骤S101主要可包括:
在步骤S201中,采用拓扑排序算法,将前向图转换得到拓扑序列。
本实施例中,拓扑排序算法主要可对前向图进行拓扑排序,将其中所有节点排成满足拓扑次序的线性序列,使其中任意一对节点(u,v)在线性序列中, u在v之前。
在步骤S202中,根据拓扑序列,从集合中确定关键通路。
本实施例中,步骤S202可包括如图3所示的流程:
在步骤S301中,根据网络层的浮点计算量,确定通路的活动持续时间。
本实施例中,卷积层、池化层、激活层、批量归一层、全连接层等网络层均可通过层输入特征数、层输出特征数、层输入通道数、层输出通道数、卷积核大小、层输出特征图高、层输出特征图宽、参数个数等,确定相应的浮点计算量。利用网络层的浮点计算量,即可对应获得相应通络的活动持续时间。
在步骤S302中,根据活动持续时间,按照拓扑序列对应的拓扑次序和逆拓扑次序,确定节点的最早开始时间和最晚开始时间。
本实施例中,根据从前往后的拓扑次序,可得到每个节点的最早开始时间,最早开始时间受制于前驱路径中花费时间最长的一条。根据从后往前的逆拓扑次序,可得到每个节点的最晚开始时间。
在步骤S303中,以最早开始时间与最晚开始时间相同的节点构建关键通路。
本实施例中,判断节点的最早开始时间是否与其最晚开始时间相同,一般按照从前往后的拓扑次序,对节点进行判断,若节点的最早开始时间与其最晚开始时间相同,则将该节点加入关键通路。
实施例三:
本实施例在实施例一或二基础上,进一步提供了如下内容:
本实施例中,并行处理线程被预设为N条,N取大于1的自然数,那么,步骤S102具体为:
当关键边起始位置的节点的实时入度数据为零时,确定可与关键边并行处理的、位于至多N-1条非关键通路上的非关键边;当关键边起始位置的节点的实时入度数据不为零时,确定可并行处理的、位于至少两条且至多N条非关键通路上的非关键边。其中,实时入度数据为基于节点入度统计数据变化而得到。
N条线程的并行,可以看作是在计算子队列上的滑动窗口,每当某一线程完成当前计算子任务时,根据计算子线程分配模型,相应的计算子队列被更新,并安排相应的线程执行新加入队列的计算子,此作为滑动窗口的一次滑动。需注意的是,除了一开始按顺序直接初始化N个线程,后续的线程由于执行的计算子开销不同,完成的时间也不同,从而线程的执行是乱序的,但无论何时, N个线程的计算总开销总能保证为当前最小。
为实现快速确定并行执行的多条边,可通过二分查找算法(或称之为折半查找算法)来确定上述非关键边。
实施例四:
本实施例在实施例一至三中任一基础上,进一步提供了如下内容:
本实施例的运行优化方法还包括:
首先,获得节点出度统计数据。
然后,在前向计算过程中,根据节点出度统计数据,当节点的实时出度数据为零时,释放实时出度数据为零的节点所占用的资源,实时出度数据为基于节点出度统计数据变化而得到。
本实施例中,节点出度用于表示特征图的引用计数。对于每条通路上的节点,每当节点的出边对应的计算完成时,移除这条边,出度减一,当出度变为零时,即释放这个节点所占用的内存资源。在神经网络的单次前向计算过程中可进行节点出度的统计。
实施例五:
本实施例进一步提供了一种基于神经网络的数据处理方法,该数据处理方法基于上述神经网络以及通过上述实施例一至四中任一提及的运行优化方法所得计算子线程分配模型。
本实施例的数据处理方法即按照上述计算子线程分配模型,实现计算子任务处理在并行处理线程上的分配,从而实现在神经网络的层级结构上的多核并行加速优化,有效提升了神经网络的计算效率,有利于大规模神经挽留过在使用多核计算资源的计算设备上的推广应用。
实施例六:
图4示出了本发明实施例六提供的计算设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的计算设备包括处理器401及存储器402,处理器401执行存储器402中存储的计算机程序403时实现上述各个方法实施例中的步骤,例如图1所示的运行优化方法或者如实施例五中的数据处理方法。
本发明实施例的计算设备可以为处理芯片、芯片组、个人计算机、智能手机、平板电脑等,尤其适合多核多线程的计算设备。该计算设备中处理器401 执行计算机程序403时实现上述各方法时实现的步骤,可参考前述方法实施例的描述,在此不再赘述。
实施例七:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤,例如图1所示的运行优化方法或者如实施例五中的数据处理方法。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
具体应用例:
下面通过一个具体应用例,对上述神经网络的运行优化方法以及基于神经网络的数据处理方法等,进行示例性说明。
图5示出了本方案的流程图。
在步骤“部署的准备”——算法1中,首先我们需要明确神经网络前向图中节点和边所代表的含义。与传统的神经网络前向图以网络层为节点不同,在这里,我们以特征图(Feature Map)为节点,而一个通路中单个计算子(一般是一个网络层)表示一条边。因此,边的起始和结束节点即为网络层的输入和输出特征图。需要特别指出的是,传统的神经网络前向图就是AOV(Activity On Vertex Network)网,而我们这里定义的神经网络前向图便是其等价的AOE (Activity On Edge Network)网。本方案中所提出的关键路径搜索、线程并行和内存资源释放,都需要根据节点的出入度进行判断,其中,我们以节点的入度表示并行性(入度为零表示该节点前面的计算已完成,可以和其他入度为零的节点并行计算),出度则表示特征图的引用计数。我们在神经网络单次前向传播的过程中进行节点的出入度统计。对于每条路径上的节点,每当节点的出边对应的计算完成时,移除这条边,而当其出度变为零时,即释放这个节点所占据的内存资源。因此,路径上节点的引用计数即为该节点的出度。每次前传计算前,恢复节点记录的引用计数,即每次推理(前传计算)的时候将所有节点的引用次数恢复到默认初始状态。
步骤S1.1:我们在训练好的模型前向计算过程中,我们以输入的特征图为节点,把经过的通路加入通路集合AllPath中,并以通路的浮点计算量作为活动的持续时间;
步骤S1.2:使用深度优先搜索算法去遍历AllPath,并统计每个节点的出入度,从而得到记录每个通路起始和结束节点出入度的数据结构InOutDegree;
步骤S1.3:对AllPath使用拓扑排序算法得到拓扑序列;
步骤S1.4:根据前面的拓扑序列,我们从前往后得到每个节点的最早开始时间和从后往前得到每个节点的最晚开始时间;
步骤S1.5:随后,从前往后进行判断,当一个节点的最早和最晚开始时间相同,就将该节点加入关键路径CriticalPath。
其中步骤S1.1中浮点计算量的计算公式如下:
全连接层浮点计算量为:Ffc=(2N输入特征+1)×N输出特征
其中,N输入特征和N输出特征分别表示全连接层的输入及输出特征数。
卷积层浮点计算量为:
其中,N输入通道和N输出通道表示卷积层的输入和输出通道数,K1和K2表示卷积核的大小,N卷积分组表示卷积分组数,H输出和W输出表示卷积层输出特征图的高和宽。
批量归一化层浮点运算量为:FBN=2N通道
其中,N通道表示批量归一化层的通道数。
激活层浮点运算量为:Fact=Nslope
其中,Nslope表示激活层参数个数。
池化层的浮点计算量为:Fpool=N通道×K1×K2×H输出×W输出
其中,N通道表示池化层的通道数,K1和K2表示卷积核的大小,H输出和W输出表示池化层输出特征图的高和宽。
在步骤“开始部署”——算法2中,N个线程及由算法2(图6)得到计算子共同构成线程-任务队列,而线程的并行可以看作是在线程队列上的滑动窗口。每当某一线程完成任务时,我们使用算法2中得到计算子路径去更新计算子队列,并安排线程执行计算子,这就是窗口的一次滑动,如图7所示。需要特别注意的是,除了一开始按顺序直接初始化N个线程,后续的线程由于执行的计算子开销不同,完成的时间也不同,从而线程的执行是乱序的,但是无论何时,N个线程的计算开销总能由算法2保证为当前最小。
步骤S2.1:由步骤S1得到AllPath,InOutDegree和CriticalPath,然后我们设定并行线程的数目NumThread,如图7所示,此时,我们开始多分支神经网络模型的部署工作。
步骤S2.2:在算法2(如图6所示)中,我们使用贪心算法去更新部署时所需的计算子(任务)队列FinalPath。如果关键路径中存在可并行执行的关键边,我们从关键路径中选取可并行的关键边,然后从剩余的非关键通路中使用二分查找算法去选取线程数目NumThread-1条可并行的通路,选择的标准是通路的起点入度是否为0;如果关键路径中不存在可并行执行的关键边,则选取不到可并行的关键通路,那么我们从剩余的非关键通路中使用二分查找算法去选取NumThread条可并行的通路。接下来,我们这NumThread条并行通路加入到计算子队列FinalPath。如此反复执行,直到所有通路都加入到FinalPath中。最后我们将得到的计算子队列和训练好的模型一并保存。
步骤S2.3:读取步骤S2.2中保存的计算子队列和模型,使用多线程并行执行计算子队列,构成线程-任务队列。线程的并行执行过程,如图7所示,可以看作是在线程-任务队列上的一个滑动窗口。这一步将完成本方案的最终部署。
本方案是一种多分支深度神经网络前向计算的加速方法,通过对复杂多分枝网络进行单路径的部署优化,以“用时申请,不用则释放,物尽其用”为内存资源分配原则,对内存分配空间进行优化,同时,对复用的资源采用引用计数,最后,通过多线程并行的交叠式前推计算完成整个网络的推理计算,从而得到输入数据的特征信息结果。本方法适用于深度神经网络的前向计算中。其中,交叠前推式方式并发计算:通过利用计算出的一条与多分枝神经网络等价的单路径(即关键通路)较优网络结构,我们能最大化多核并行资源的优势。我们从得到的单路径网络的输入开始,连续N个运算单元分别进行计算资源的准备并送入N个线程按照网络顺序依次计算。当前的线程在计算时,其他线程同时在为下一步计算进行准备(比如内存分配、参数配置等等)。一旦线程完成当前的计算子,接下来便顺序地去取路径中下一个未运算的单元进行计算,依次如此下去直到完成整个单路径的网络计算。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种神经网络的运行优化方法,其特征在于,所述神经网络的前向图对应由位于输入与输出之间的至少两条通路构成的集合,每条所述通路以特征图作为节点、以计算子作为边,所述计算子对应至少一个网络层,所述运行优化方法在所述神经网络的前向计算过程中执行如下内容:
获得节点入度统计数据并从所述集合中确定关键通路,所述集合中的其他所述通路为非关键通路;
根据所述节点入度统计数据,当所述关键通路的关键边满足并行处理条件时,确定可与所述关键边并行处理的、位于所述非关键通路上的非关键边;当所述关键边不满足并行处理条件时,确定可并行处理的至少两条所述非关键边,以形成可供并行处理线程进行处理的计算子线程分配模型。
2.如权利要求1所述的运行优化方法,其特征在于,获得节点入度统计数据,具体为:
采用深度优先搜索算法,对所述节点的入度进行统计,得到所述节点入度统计数据。
3.如权利要求1所述的运行优化方法,其特征在于,从所述集合中确定关键通路,具体包括:
采用拓扑排序算法,将所述前向图转换得到拓扑序列;
根据所述拓扑序列,从所述集合中确定所述关键通路。
4.如权利要求3所述的运行优化方法,其特征在于,根据所述拓扑序列,从所述集合中确定所述关键通路,具体包括:
根据所述网络层的浮点计算量,确定所述通路的活动持续时间;
根据所述活动持续时间,按照所述拓扑序列对应的拓扑次序和逆拓扑次序,确定所述节点的最早开始时间和最晚开始时间;
以所述最早开始时间与所述最晚开始时间相同的所述节点构建所述关键通路。
5.如权利要求1所述的运行优化方法,其特征在于,所述并行处理线程被预设为N条,N取大于1的自然数,当所述关键通路的关键边满足并行处理条件时,确定可与所述关键边并行处理的、位于所述非关键通路上的非关键边;当所述关键边不满足并行处理条件时,确定可并行处理的至少两条所述非关键边,具体为:
当所述关键边起始位置的所述节点的实时入度数据为零时,确定可与所述关键边并行处理的、位于至多N-1条所述非关键通路上的非关键边;当所述关键边起始位置的所述节点的实时入度数据不为零时,确定可并行处理的、位于至少两条且至多N条所述非关键通路上的所述非关键边,所述实时入度数据为基于所述节点入度统计数据变化而得到。
6.如权利要求5所述的运行优化方法,其特征在于,确定可与所述关键边并行处理的、位于至多N-1条所述非关键通路上的非关键边,或者,确定可并行处理的、位于至少两条且至多N条所述非关键通路上的所述非关键边,具体采用二分查找算法实现。
7.如权利要求1所述的运行优化方法,其特征在于,所述运行优化方法还包括:
获得节点出度统计数据;
在所述前向计算过程中,根据所述节点出度统计数据,当所述节点的实时出度数据为零时,释放所述实时出度数据为零的所述节点所占用的资源,所述实时出度数据为基于所述节点出度统计数据变化而得到。
8.一种基于神经网络的数据处理方法,其特征在于,所述数据处理方法基于如权利要求1至7任一项所述的运行优化方法所得的所述计算子线程分配模型以及所述神经网络。
9.一种计算设备,包括存储器及处理器,其特征在于,所述处理器执行所述存储器中存储的计算机程序时实现如权利要求1至8任一项所述方法中的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述方法中的步骤。
CN201910378838.7A 2019-05-08 2019-05-08 神经网络的运行优化及数据处理方法、设备及存储介质 Active CN110187965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910378838.7A CN110187965B (zh) 2019-05-08 2019-05-08 神经网络的运行优化及数据处理方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910378838.7A CN110187965B (zh) 2019-05-08 2019-05-08 神经网络的运行优化及数据处理方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110187965A true CN110187965A (zh) 2019-08-30
CN110187965B CN110187965B (zh) 2021-02-12

Family

ID=67715832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910378838.7A Active CN110187965B (zh) 2019-05-08 2019-05-08 神经网络的运行优化及数据处理方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110187965B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110555522A (zh) * 2019-09-23 2019-12-10 北京中科寒武纪科技有限公司 数据处理方法、装置、计算机设备和存储介质
CN110689121A (zh) * 2019-09-24 2020-01-14 上海寒武纪信息科技有限公司 一种用多核处理器实现神经网络模型拆分方法及相关产品
CN111753978A (zh) * 2020-01-19 2020-10-09 杭州海康威视数字技术股份有限公司 一种前向耗时的确定方法、装置及设备
CN112148460A (zh) * 2020-10-12 2020-12-29 中国农业银行股份有限公司 关键路径的确定方法及装置、电子设备、计算机存储介质
CN112541565A (zh) * 2019-09-20 2021-03-23 腾讯科技(深圳)有限公司 一种卷积计算数据流映射方法及装置
CN112633753A (zh) * 2020-12-30 2021-04-09 广东赛诺科技股份有限公司 一种基于工单动态共享系统
CN115186821A (zh) * 2022-09-13 2022-10-14 之江实验室 面向芯粒的神经网络推理开销估计方法及装置、电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650922A (zh) * 2016-09-29 2017-05-10 清华大学 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统
CN108388474A (zh) * 2018-02-06 2018-08-10 北京易沃特科技有限公司 基于dag的智能分布式计算管理系统及方法
CN109299142A (zh) * 2018-11-14 2019-02-01 中山大学 一种基于进化算法的卷积神经网络结构搜索方法及系统
CN109409513A (zh) * 2018-10-10 2019-03-01 广州市百果园信息技术有限公司 一种基于神经网络的任务处理方法及相关设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650922A (zh) * 2016-09-29 2017-05-10 清华大学 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统
CN108388474A (zh) * 2018-02-06 2018-08-10 北京易沃特科技有限公司 基于dag的智能分布式计算管理系统及方法
CN109409513A (zh) * 2018-10-10 2019-03-01 广州市百果园信息技术有限公司 一种基于神经网络的任务处理方法及相关设备
CN109299142A (zh) * 2018-11-14 2019-02-01 中山大学 一种基于进化算法的卷积神经网络结构搜索方法及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112541565A (zh) * 2019-09-20 2021-03-23 腾讯科技(深圳)有限公司 一种卷积计算数据流映射方法及装置
CN112541565B (zh) * 2019-09-20 2023-08-29 腾讯科技(深圳)有限公司 一种卷积计算数据流映射方法及装置
CN110555522A (zh) * 2019-09-23 2019-12-10 北京中科寒武纪科技有限公司 数据处理方法、装置、计算机设备和存储介质
CN110689121A (zh) * 2019-09-24 2020-01-14 上海寒武纪信息科技有限公司 一种用多核处理器实现神经网络模型拆分方法及相关产品
CN111753978A (zh) * 2020-01-19 2020-10-09 杭州海康威视数字技术股份有限公司 一种前向耗时的确定方法、装置及设备
CN111753978B (zh) * 2020-01-19 2024-03-01 杭州海康威视数字技术股份有限公司 一种前向耗时的确定方法、装置及设备
CN112148460A (zh) * 2020-10-12 2020-12-29 中国农业银行股份有限公司 关键路径的确定方法及装置、电子设备、计算机存储介质
CN112148460B (zh) * 2020-10-12 2023-11-03 中国农业银行股份有限公司 关键路径的确定方法及装置、电子设备、计算机存储介质
CN112633753A (zh) * 2020-12-30 2021-04-09 广东赛诺科技股份有限公司 一种基于工单动态共享系统
CN115186821A (zh) * 2022-09-13 2022-10-14 之江实验室 面向芯粒的神经网络推理开销估计方法及装置、电子设备

Also Published As

Publication number Publication date
CN110187965B (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
CN110187965A (zh) 神经网络的运行优化及数据处理方法、设备及存储介质
Li et al. Quantum supremacy circuit simulation on Sunway TaihuLight
Vianna et al. Analytical performance models for MapReduce workloads
CN104765589B (zh) 基于mpi的网格并行预处理方法
CN106709503B (zh) 一种基于密度的大型空间数据聚类算法k-dbscan
CN106547627A (zh) 一种Spark MLlib数据处理加速的方法及系统
Hua et al. Hadoop configuration tuning with ensemble modeling and metaheuristic optimization
CN116501505B (zh) 负载任务的数据流生成方法、装置、设备及介质
CN115238899A (zh) 面向超导量子计算机的量子程序并行处理方法及操作系统
Fan et al. Graph algorithms: parallelization and scalability
Wen et al. A swap dominated tensor re-generation strategy for training deep learning models
Csar et al. Computing the Schulze Method for Large-Scale Preference Data Sets.
Lässig et al. Analysis of speedups in parallel evolutionary algorithms and (1+ λ) EAs for combinatorial optimization
CN111190711B (zh) Bdd结合启发式a*搜索的多机器人任务分配方法
US7356519B1 (en) Method and system for solving satisfiability problems
Vianna et al. Modeling the performance of the Hadoop online prototype
CN115270921B (zh) 基于组合预测模型的电力负载预测方法、系统及存储介质
Caselli et al. Experiences on SIMD massively parallel GSPN analysis
Sung et al. Deep reinforcement learning for system-on-chip: Myths and realities
CN108256694A (zh) 基于重复遗传算法的模糊时间序列预测系统、方法及装置
Song et al. Improved reachability analysis in DTMC via divide and conquer
Hyvärinen et al. Incorporating clause learning in grid-based randomized SAT solving
Simhadri Program-centric cost models for locality and parallelism
CN114021977A (zh) 一种面向储能规划的典型复合型场景缩减方法及系统
Carvalho et al. LearnedSort as a learning-augmented SampleSort: Analysis and Parallelization

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: SHENZHEN TRAFFIC INVESTMENT TECHNOLOGY CO.,LTD.

Assignor: SHENZHEN University

Contract record no.: X2022980023067

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221123

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: Foshan Dexin Intelligent Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980024255

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221130

Application publication date: 20190830

Assignee: Shenzhen Huijin Ruishu Intelligent Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980023727

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221129

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: Shenzhen Pego Intelligent Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980024334

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221202

Application publication date: 20190830

Assignee: Shenzhen Jiajia Health Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980024586

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221205

Application publication date: 20190830

Assignee: Shenzhen Senying Intelligent Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980023882

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221201

Application publication date: 20190830

Assignee: Shenzhen Lipsun Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980024442

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221202

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: Shenzhen Maiwo Innovation Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980024758

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221207

Application publication date: 20190830

Assignee: Shenzhen Bangqi Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980024743

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221207

Application publication date: 20190830

Assignee: SHENZHEN XINGHUA ZHITONG TECHNOLOGY Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980024808

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221207

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: SHENZHEN RONGAN NETWORKS TECHNOLOGY Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026276

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221212

Application publication date: 20190830

Assignee: Chongqing Taihuo Xinniao Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026159

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221211

Application publication date: 20190830

Assignee: Chengdu Rundonghai He Information Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026155

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221211

Application publication date: 20190830

Assignee: Shenzhen Dongfang Renshou Life Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980025926

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221211

Application publication date: 20190830

Assignee: Shenzhen Standard Technical Service Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980025987

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221211

Application publication date: 20190830

Assignee: Tongtong Network Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026678

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221210

Application publication date: 20190830

Assignee: Shenzhen city fine uni-data Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026309

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221211

Application publication date: 20190830

Assignee: Prester Fluid Technology (Shenzhen) Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980025518

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221210

Application publication date: 20190830

Assignee: Shenzhen Zhizhi Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980025612

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221210

Application publication date: 20190830

Assignee: Shenzhen Huahong Testing Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980025985

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221211

Application publication date: 20190830

Assignee: Shenzhen High Intelligence Data Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980025935

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221211

Application publication date: 20190830

Assignee: Yimaitong (Shenzhen) Intelligent Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026148

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221211

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: Shenzhen Yifan Time and Space Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026531

Denomination of invention: Operation optimization of neural network and data processing method, equipment and storage medium

Granted publication date: 20210212

License type: Common License

Record date: 20221212

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: Beijing Taiflamingo Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026674

Denomination of invention: Operation optimization and data processing method, equipment and storage medium of neural network

Granted publication date: 20210212

License type: Common License

Record date: 20230111

Application publication date: 20190830

Assignee: Guoxin Technology Group Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026708

Denomination of invention: Operation optimization and data processing method, equipment and storage medium of neural network

Granted publication date: 20210212

License type: Common License

Record date: 20230111

Application publication date: 20190830

Assignee: SHENZHEN LESSNET TECHNOLOGY Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026642

Denomination of invention: Operation optimization and data processing method, equipment and storage medium of neural network

Granted publication date: 20210212

License type: Common License

Record date: 20230111

Application publication date: 20190830

Assignee: Shenzhen Haocai Digital Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026741

Denomination of invention: Operation optimization and data processing method, equipment and storage medium of neural network

Granted publication date: 20210212

License type: Common License

Record date: 20230110

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: Chongqing Taihuo Xinniao Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2022980026805

Denomination of invention: Operation optimization and data processing method, equipment and storage medium of neural network

Granted publication date: 20210212

License type: Common License

Record date: 20230116

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: NEW TRANX INFORMATION TECHNOLOGY (SHENZHEN) CO.,LTD.

Assignor: SHENZHEN University

Contract record no.: X2023980033776

Denomination of invention: Operational Optimization of Neural Networks and Data Processing Methods, Equipment, and Storage Media

Granted publication date: 20210212

License type: Common License

Record date: 20230317

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: Guangzhou Lankai Network Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980034415

Denomination of invention: Optimization of neural network operation and data processing methods, equipment, and storage media

Granted publication date: 20210212

License type: Common License

Record date: 20230404

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: Lishui Taihuo Red Bird Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980034588

Denomination of invention: Optimization of neural network operation and data processing methods, equipment, and storage media

Granted publication date: 20210212

License type: Common License

Record date: 20230411

Application publication date: 20190830

Assignee: Chengdu Rundong Industrial Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980034591

Denomination of invention: Optimization of neural network operation and data processing methods, equipment, and storage media

Granted publication date: 20210212

License type: Common License

Record date: 20230411

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: SHENZHEN SUPERVISIONS TECHNOLOGY Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980035111

Denomination of invention: Optimization of neural network operation and data processing methods, equipment, and storage media

Granted publication date: 20210212

License type: Common License

Record date: 20230426

Application publication date: 20190830

Assignee: SHENZHEN FANGDIRONGXIN TECHNOLOGY CO.,LTD.

Assignor: SHENZHEN University

Contract record no.: X2023980035109

Denomination of invention: Optimization of neural network operation and data processing methods, equipment, and storage media

Granted publication date: 20210212

License type: Common License

Record date: 20230426

Application publication date: 20190830

Assignee: Shenzhen Jiachen information engineering Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980035110

Denomination of invention: Optimization of neural network operation and data processing methods, equipment, and storage media

Granted publication date: 20210212

License type: Common License

Record date: 20230426

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190830

Assignee: Shenzhen Pengcheng Future Technology Co.,Ltd.

Assignor: SHENZHEN University

Contract record no.: X2023980036139

Denomination of invention: Optimization of neural network operation and data processing methods, equipment, and storage media

Granted publication date: 20210212

License type: Common License

Record date: 20230531

EE01 Entry into force of recordation of patent licensing contract