CN114579273B - 一种数据处理方法及网络管理装置 - Google Patents
一种数据处理方法及网络管理装置 Download PDFInfo
- Publication number
- CN114579273B CN114579273B CN202210202789.3A CN202210202789A CN114579273B CN 114579273 B CN114579273 B CN 114579273B CN 202210202789 A CN202210202789 A CN 202210202789A CN 114579273 B CN114579273 B CN 114579273B
- Authority
- CN
- China
- Prior art keywords
- network
- sub
- queue
- data
- processed
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 119
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 32
- 238000013527 convolutional neural network Methods 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 description 47
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
-
- 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据处理方法及网络管理装置,可以将待输入至目标子网络进行数据处理的一路待处理数据,作为一个待处理任务保存至与目标子网络对应的队列;基于当前的第一队列、第二队列和第三队列各自保存的任务数量,从第一子网络、第二子网络和第三子网络中确定出优先级最高的子网络;在与优先级最高的子网络对应的队列中,将至少一路待处理数据输入至优先级最高的子网络中进行数据处理,并在优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理。本发明可以实现对多路并发的待处理数据的有效处理。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法及网络管理装置。
背景技术
随着数据处理技术的发展,卷积神经网络的计算能力不断提高。
卷积神经网络可以应用在各类业务应用场景中。比如,在语音识别场景中,在获得待进行语音识别的语音数据后,可以利用卷积神经网络对语音数据进行处理,处理后获得的数据再输入到语音识别引擎中进行语音识别。需要说明的是,卷积神经网络可以对流式数据进行处理。
具体的,卷积神经网络中设置有多个子网络,某一路待处理数据在输入到卷积神经网络后,各子网络可以依次进行相应的数据处理。
但是,当卷积神经网络接收到多路并发的待处理的流式数据时,无法有效进行数据处理。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的数据处理方法及网络管理装置,技术方案如下:
一种数据处理方法,应用于网络管理装置,所述网络管理装置用于对卷积神经网络进行管理,所述卷积神经网络中包括第一子网络、第二子网络和第三子网络,所述网络管理装置中设置有分别与所述第一子网络、所述第二子网络和第三子网络对应的第一队列、第二队列和第三队列;所述数据处理方法包括:
将待输入至目标子网络进行数据处理的一路待处理数据,作为一个待处理任务保存至与所述目标子网络对应的队列;其中,所述目标子网络包括所述第一子网络、所述第二子网络和所述第三子网络;
基于当前的所述第一队列、所述第二队列和所述第三队列各自保存的任务数量,从所述第一子网络、所述第二子网络和所述第三子网络中确定出优先级最高的子网络;
在与所述优先级最高的子网络对应的队列中,将至少一路待处理数据输入至所述优先级最高的子网络中进行数据处理,并在所述优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理。
可选的,所述基于当前的所述第一队列、所述第二队列和所述第三队列各自保存的任务数量,从所述第一子网络、所述第二子网络和所述第三子网络中确定出优先级最高的子网络,包括:
基于队列当前保存的任务数量和预先赋予的优先级属性值,分别确定所述第一子网络、所述第二子网络和所述第三子网络的最终优先级属性值;
将最终优先级属性值最大的子网络确定为所述优先级最高的子网络。
可选的,在所述优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理之后,所述数据处理方法还包括:
返回执行所述基于当前的所述第一队列、所述第二队列和所述第三队列各自保存的任务数量,从所述第一子网络、所述第二子网络和所述第三子网络中确定出优先级最高的子网络的步骤,直至处理完毕所述第一队列、所述第二队列和所述第三队列中的所有待处理任务。
可选的,所述第三子网络为结束子网络,所述待处理数据为待进行语音识别的流式语音数据;所述数据处理方法还包括:
将所述结束子网络输出的数据输入至语音识别引擎进行语音识别。
一种网络管理装置,所述网络管理装置用于对卷积神经网络进行管理,所述卷积神经网络中包括第一子网络、第二子网络和第三子网络,所述网络管理装置中设置有分别与所述第一子网络、所述第二子网络和第三子网络对应的第一队列、第二队列和第三队列;所述网络管理装置包括:保存单元、第一确定单元、处理单元和禁止单元;其中:
所述保存单元,用于将待输入至目标子网络进行数据处理的一路待处理数据,作为一个待处理任务保存至与所述目标子网络对应的队列;其中,所述目标子网络包括所述第一子网络、所述第二子网络和所述第三子网络;
所述第一确定单元,用于基于当前的所述第一队列、所述第二队列和所述第三队列各自保存的任务数量,从所述第一子网络、所述第二子网络和所述第三子网络中确定出优先级最高的子网络;
所述处理单元,用于在与所述优先级最高的子网络对应的队列中,将至少一路待处理数据输入至所述优先级最高的子网络中进行数据处理;
所述禁止单元,用于在所述优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理。
可选的,所述第一确定单元,包括:第二确定单元和第三确定单元;其中:
所述第二确定单元,用于基于队列当前保存的任务数量和预先赋予的优先级属性值,分别确定所述第一子网络、所述第二子网络和所述第三子网络的最终优先级属性值;
所述第三确定单元,用于将最终优先级属性值最大的子网络确定为所述优先级最高的子网络。
可选的,在所述优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理之后,所述禁止单元还触发所述处理单元,直至处理完毕所述第一队列、所述第二队列和所述第三队列中的所有待处理任务。
可选的,所述第三子网络为结束子网络,所述待处理数据为待进行语音识别的流式语音数据;所述网络管理装置还包括:输入单元;
所述输入单元,用于将所述结束子网络输出的数据输入至语音识别引擎进行语音识别。
本发明提出的数据处理方法及网络管理装置,网络管理装置用于对卷积神经网络进行管理,卷积神经网络中包括第一子网络、第二子网络和第三子网络,网络管理装置中设置有分别与第一子网络、第二子网络和第三子网络对应的第一队列、第二队列和第三队列。本发明可以将待输入至目标子网络进行数据处理的一路待处理数据,作为一个待处理任务保存至与目标子网络对应的队列;其中,目标子网络包括第一子网络、第二子网络和第三子网络;基于当前的第一队列、第二队列和第三队列各自保存的任务数量,从第一子网络、第二子网络和第三子网络中确定出优先级最高的子网络;在与优先级最高的子网络对应的队列中,将至少一路待处理数据输入至优先级最高的子网络中进行数据处理,并在优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理。本发明可以实现对多路并发的待处理数据的有效处理。
上述说明仅是本发明技术方案的概述,为了能够更清楚地了解本发明的技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例提供的第一种数据处理方法的流程图;
图2示出了本发明实施例提供的第三种数据处理方法的流程图;
图3示出了本发明实施例提供的一种卷积神经网络的结构示意图;
图4示出了本发明实施例提供的另一种卷积神经网络的结构示意图;
图5示出了本发明实施例提供的一种网络管理装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
如图1所示,本实施例提出了第一种数据处理方法,应用于网络管理装置,网络管理装置用于对卷积神经网络进行管理,卷积神经网络中包括第一子网络、第二子网络和第三子网络,网络管理装置中设置有分别与第一子网络、第二子网络和第三子网络对应的第一队列、第二队列和第三队列;该方法可以包括以下步骤:
S101、将待输入至目标子网络进行数据处理的一路待处理数据,作为一个待处理任务保存至与目标子网络对应的队列;其中,目标子网络包括第一子网络、第二子网络和第三子网络;
具体的,网络管理装置可以为本发明提出的用于对卷积神经网络中的子网络进行调度管理的装置。
具体的,第一子网络可以为卷积神经网络中最先进行数据处理的起始子网络,第二子网络可以为在第一子网络之后进行数据处理的中间子网络,第三子网络可以为最后进行数据处理的结束子网络。比如,第一路数据在输入到卷积神经网络中后,第一子网络可以先行对第一路数据进行数据处理并输出相应的第一数据,之后第二子网络对第一数据进行数据处理并输出相应的第二数据,之后第三子网络对第二数据进行数据处理并输出相应的第三数据。
可以理解的是,本发明中的卷积神经网络可以设置有起始子网络、中间子网络和结束子网络共三个子网络。
具体的,网络管理装置中的第一队列、第二队列和第三队列均可以是用于存储待输入至子网络进行数据处理的待处理数据的队列。其中,第一队列可以与第一子网络相对应,待输入至第一子网络进行数据处理的待处理数据可以存储在第一队列中;第二队列可以与第二子网络相对应,待输入至第二子网络进行数据处理的待处理数据可以存储在第二队列中;第三队列可以与第三子网络相对应,待输入至第三子网络进行数据处理的待处理数据可以存储在第三队列中。
具体的,目标子网络可以为第一子网络,可以为第二子网络,也可以为第三子网络。
具体的,本发明可以将输入到卷积神经网络中的一路或多路待处理数据,均存储到第一队列中,以待输入至第一子网络中进行数据处理;本发明可以将已经第一子网络进行数据处理后的某一路或多路数据,均存储到第二队列中,以待输入至第二子网络中进行数据处理;本发明可以将已经第二子网络进行数据处理后的某一路或多路数据,均存储到第三队列中,以待输入至第三子网络中进行数据处理。
S102、基于当前的第一队列、第二队列和第三队列各自保存的任务数量,从第一子网络、第二子网络和第三子网络中确定出优先级最高的子网络;
其中,任务数量即可以为队列中保存的待处理数据的路数。比如,当队列中保存一路待处理数据时,任务数量为1;当队列中保存十路待处理数据时,任务数量为10。
具体的,队列中的任务数量即可以为与队列相对应的子网络的任务数量。比如,如果第一队列中保存的待处理数据的任务数量为5个,则第一子网络的任务数量即为5个。
具体的,本发明可以通过分别确定第一队列、第二队列和第三队列中保存的待处理数据的路数,从而可以确定第一子网络、第二子网络和第三子网络各自的任务数量。
需要说明的是,对于神经网络任务类的计算密集型任务,任务数量越大,计算设备的利用率往往是越高的,越有利于发挥硬件的理论计算能力。因此,为提高对计算设备的利用率,本发明可以优先调度任务数量较多的子网络进行数据计算。此时,本发明可以按照子网络的任务数量,设置子网络的优先级。其中,任务数量低的子网络的优先级可以是较低的,任务数量低的子网络的优先级可以是较高的。
具体的,本发明可以根据待处理的任务数量,对子网络的优先级进行定量设置。比如,当第一子网络的任务数量为1时,本发明可以对第一子网络的优先级添加1;当第二子网络的任务数量为3时,本发明可以对第二子网络的优先级添加2。
可选的,本发明还可以结合子网络的某些特性,来额外添加子网络的优先级。比如,当第二子网络对任务的响应时间影响较大时,则本发明可以额外给第二子网络添加一定的优先级。
可选的,在本实施例提出的其他数据处理方法中,步骤S102可以包括:
基于队列当前保存的任务数量和预先赋予的优先级属性值,分别确定第一子网络、第二子网络和第三子网络的最终优先级属性值;
将最终优先级属性值最大的子网络确定为优先级最高的子网络。
其中,优先级属性值即可以为表征子网络处理数据的优先级的值。当某个子网络的优先级属性值越大时,本发明调度该子网络处理数据的优先级越高,比如,如果第一子网络的优先级属性值最大,则本发明可以先行将第一队列中的待处理数据输入至第一子网络中进行数据处理,即可以先行调度第一子网络对第一队列中的待处理数据进行数据处理。
S103、在与优先级最高的子网络对应的队列中,将至少一路待处理数据输入至优先级最高的子网络中进行数据处理;
具体的,本发明可以在从第一子网络、第二子网络和第三子网络中确定出优先级最高的子网络后,从优先级最高的子网络对应的队列中,发送至少一路待处理数据至优先级最高的子网络中进行数据处理。需要说明的是,每次发送的待处理数据的路数可以由技术人员根据实际情况进行设置,本发明对此不作限定。
可选的,本发明每次可以仅发送一路待处理数据至优先级最高的子网络中进行数据处理。此时,本发明每次调度单一任务进行计算,可以避免多个计算密集型任务同时计算造成对设备的抢占而导致各子网络的数据处理效率都受到影响,提高数据处理的可靠性和稳定性。
S104、在优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理。
可选的,本发明每次可以仅调度优先级最高的子网络进行数据处理。具体的,本发明可以在优先级最高的子网络进行数据处理期间,禁止发送待处理数据至其他子网络中进行数据处理。比如,如果优先级最高的子网络为第一子网络,且已将第一队列中保存的待处理数据发送至第一子网络中进行数据处理,则本发明可以在第一子网络进行数据处理期间,禁止将第二队列中的待处理数据发送至第二子网络中进行数据处理,并禁止将第三队列中的待处理数据发送至第三子网络中进行数据处理。
需要说明的是,本发明在执行步骤S102、S103和S104的过程中,可以同时执行步骤S101。具体的,网络管理装置中的三个队列可以一直处于接收待处理数据的状态,一方面可以提高数据接收及存储效率,另一方面也可以提高相应子网络处理数据的优先级。
可选的,对于多路并发待处理数据的应用场景,本发明可以通过执行步骤S101,将多路并发的待处理数据保存至第一队列中,并在优先级最高的子网络处理数据的过程中,使用队列来存储优先级最高的子网络所输出的数据以及输入卷积神经网络的新待处理数据;并在优先级最高的子网络完成本次数据处理之后,基于各队列当前的任务数量,再确定优先级最高的子网络,使用优先级最高的子网络进行数据处理,直至完成各队列中的任务数量,即完成对各队列中存储的待处理数据的数据处理。
需要说明的是,现有技术在处理多路并发的待处理数据时,可以同时将多路并发的待处理数据输入至卷积神经网络中进行同步处理,比如,当卷积神经网络中包括有第四子网络和第五子网络时,现有技术可以将多路并发的待处理数据同时输入至第四子网络中进行数据处理,仅在第四子网络全部完成对所有待处理数据时,才将第四子网络完成数据处理后所获得的全部数据输入至第五子网络中进行数据处理。其中,子网络处理性能有限,现有技术将全部待处理数据输入至子网络中进行处理的方式,可能导致子网络在数据处理过程中出现故障;且,单个子网络对各路待处理数据的数据处理进程难以同步,而后面的子网络仅在前面的子网络完成对全部待处理数据的处理之后,才能开始数据处理,使得整体的响应时间较差。而本发明可以通过网络管理装置的设置、待处理数据的存储方式和对子网络的调度方式等方式,实现对多路并发的待处理数据的有效处理,保障数据处理效率,提高数据处理的可靠性和稳定性,保障对待处理数据的响应时间。
本实施例提出的数据处理方法,可以应用于网络管理装置,网络管理装置用于对卷积神经网络进行管理,卷积神经网络中包括第一子网络、第二子网络和第三子网络,网络管理装置中设置有分别与第一子网络、第二子网络和第三子网络对应的第一队列、第二队列和第三队列。本发明可以将待输入至目标子网络进行数据处理的一路待处理数据,作为一个待处理任务保存至与目标子网络对应的队列;其中,目标子网络包括第一子网络、第二子网络和第三子网络;基于当前的第一队列、第二队列和第三队列各自保存的任务数量,从第一子网络、第二子网络和第三子网络中确定出优先级最高的子网络;在与优先级最高的子网络对应的队列中,将至少一路待处理数据输入至优先级最高的子网络中进行数据处理,并在优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理。本发明可以实现对多路并发的待处理数据的有效处理。
基于图1,本实施例提出第二种数据处理方法。该数据处理方法在步骤S104之后,还可以包括:
返回执行基于当前的第一队列、第二队列和第三队列各自保存的任务数量,从第一子网络、第二子网络和第三子网络中确定出优先级最高的子网络的步骤,直至处理完毕第一队列、第二队列和第三队列中的所有待处理任务。
具体的,本发明可以在本次确定出的优先级最高的子网络完成其对待处理数据的数据处理之后,再次根据各队列的当前任务数量,确定出新的优先级最高的子网络,调度新确定出的优先级最高的子网络继续进行数据处理。如此循环至完成对各队列中全部待处理数据的数据处理。
需要说明的是,本发明每次均可以调度优先级最高的子网络进行数据处理,可以进一步提高资源使用效率、设备利用效率和数据处理效率。
本实施例提出的数据处理方法,可以每次均可以调度优先级最高的子网络进行数据处理,直至完成对各队列中全部待处理数据的数据处理,可以进一步提高资源使用效率、设备利用效率和数据处理效率。
基于图1,如图2所示,本实施例提出第三种数据处理方法。在该数据处理方法中,第三子网络为结束子网络,待处理数据为待进行语音识别的流式语音数据;此时,该数据处理方法还可以包括以下步骤:
S201、将结束子网络输出的数据输入至语音识别引擎进行语音识别。
可选的,第一子网络可以为起始子网络,第二子网络可以为中间子网络,第三子网络可以为结束子网络。本发明可以将结束子网络对待处理数据处理完毕而输出的数据,输入到语音识别引擎中进行语音识别,有效实现语音识别效率和准确率。
本实施例提出的数据处理方法,可以通过利用网络管理装置和卷积神经网络,有效实现对流式语音数据的数据处理,提高语音识别效率和准确率。
基于图1,在本实施例提出的其他数据处理方法中,可以进一步提出一种效率比较方式,来对现有技术中通过视野窗的数据处理效率与本发明数据处理效率的效率进行比较。
需要说明的是,随着深度卷积神经网络在各种业务场景的广泛使用,神经网络结构也越来越复杂,模型的计算量不断增大。逐步应用在诸如语音类的实时任务上,其计算量大,计算视野宽的缺点开始凸显,计算量过大会影响模型任务的大规模部署,计算视野宽的问题会影响实时任务的实时性。目前对于计算视野过宽影响任务实时性的问题,主要通过将普通卷积替换成因果卷积或输入强制截窗的方式来缩小网络的未来视野。对于流式输入的问题,有两种实现方式来保证计算结果的正确性,一种是通过最后一层卷积的视野大小来进行输入的滑窗,该方式会存在较多的重复计算,另一种是通过历史数据的备份,该方式会存在较多的历史数据拷贝。对于多路并发的计算场景,由于各路会话的输入时序上差异较大,使用流式的输入会存在部分问题,现在通常使用的方式仍然是卷积视野窗的计算方式。
本发明可以基于卷积流式网络计算方法,解决多路并发时的逻辑不统一问题,为多路并发的场景使用卷积流式计算提供了一种方案,同时,提供了一种性能评估的方案来分析流式计算和视野窗计算的效率差异。
流式卷积计算的核心思想是通过计算过程中历史数据的备份来减少计算,是一种典型的以存储换计算的效率优化方法。
下面以结构为conv-pool-conv-pool-conv的神经网络为例进行说明。其中,卷积的kernel均为3,pad均为1,stride为1,pool的kernel为2,因为卷积的流式计算主要是在时序维进行,对于特征维度的变化没有单独进行展示。时序维度输入节点为16个,节点编号为0到15,时序维度输出节点数为4个,节点编号0,1,2,3,-1节点对应卷积计算中的pad数据。
其中,视野窗的计算方式下,四个输出节点的计算原理如下,参考图3。输入-1到10号数据节点,conv1和conv2层需要在左边pad一个0节点,完成0号输出节点的计算;输入-1到14号数据节点,conv1和conv2层需要在左边pad一个0节点,完成1号输出节点的计算;输入1到15号数据节点,conv0和conv1需要在右边pad一个0节点,完成2号输出节点的计算;输入5到15号数据节点,conv0、conv1和conv2需要在右边pad一个0节点,完成3号输出节点的计算。
其中,历史数据备份的计算方式下,四个输出节点的计算原理如下,参考图4。输入0到10号节点,conv0,conv1和conv2需要在左边pad一个0节点,conv0输出完成0号输出节点的计算;输入11-14号节点,conv0在左边pad两个数据节点9和10,conv1在左边pad两个历史输出节点3和4,conv2在左边pad两个历史输出节点0和1,完成1号输出节点的计算;输入15号节点,conv0在左边pad两个数据节点13和14,conv1在左边pad两个历史输出节点5和6,conv2在左边pad两个历史输出节点1和2,同时,在conv0,conv1和conv2的右边都补一个0节点,完成2和3号输出节点的计算;需要说明的是,图4中所有的输入0至15是分三次送进神经网络中的,第一次送的是0到10,第二次是11到14,第三次是单独送了15进来。其中,图4中虚线的圆圈标识该节点是算法自身pad的节点,数据就是0。假定输入的特征维度为Hin*Win,输出的特征维度为Hout*Wout,输入的通道为Cin,输出的通道为Cout,卷积核大小为Kh*Kw。那么,卷积计算量为Flops=Cout*Cin*Kh*Kw*Hout*Wout。
在上述的例子描述中,视野窗的计算方式下,四步的计算量分别为:
F1=C1out*C1in*9*10*W1out+C2out*C1out*9*4*W2out+C3out*C2out*9*1*W3out;
F2=C1out*C1in*9*14*W1out+C2out*C1out*9*6*W2out+C3out*C2out*9*1*W3out;
F3=C1out*C1in*9*14*W1out+C2out*C1out*9*6*W2out+C3out*C2out*9*1*W3out;
F4=C1out*C1in*9*10*W1out+C2out*C1out*9*4*W2out+C3out*C2out*9*1*W3out;
因此,总计算量Fwin=F1+F2+F3+F4=C1out*C1in*306*W1out+C1out*C2out*180*W2out+C2out*C3out*36*W3out;
流式卷积的的计算量分别为:
F1=C1out*C1in*9*10*W1out+C1out*C2out*9*4*W2out+C2out*C3out*9*1*W3out;
F2=C1out*C1in*9*4*W1out+C1out*C2out*9*2*W2out+C2out*C3out*9*1*W3out;
F3=C1out*C1in*9*2*W1out+C1out*C2out*9*2*W2out+C2out*C3out*9*2*W3out;
因此,总计算量Fstream=F1+F2+F3=C1out*C1in*144*W1out+C1out*C2out*72*W2out+C2out*C3out*36*W3out。
其中,可以发现历史数据备份的计算方式相比离线截窗的方案,整体的计算量减少了很多。但是,在流式卷积的方案中,存在很多的历史数据的备份过程,比如,conv0的输出在送入到下一层卷积conv1之前,需要先与上一时刻conv0的部分输出concat在一起之后,再送入conv1。在当前的方案下,第一次计算使用的正常pad可以完成,第二次11到14的计算,三层卷积的历史数据大小为C1in*2*W1in+C2in*2*W2in+C3in*2*W3in,第三次计算,三层卷积的历史备份数据大小和上述一致。整个计算过程的总的数据拷贝量Mtotal=4*C1in*W1in+4*C2in*W2in+4*C3in*W3in。可见,流式卷积的计算方案是通过额外的中间结果存储来进行减少数据的重复计算。即以存储换计算。
具体的,本发明提出一种效率的估算方案来分析流式卷积计算的加速效果,具体如下。假定计算设备的理论计算能力为T,设备的访存带宽为M,流式计算减少的计算量为Fwin-Fstream=C1out*C1in*162*W1out+C1out*C2out*108*W2out,增加的存储开销为Mtotal,假定计算过程中,设备的计算能力和访存带宽均可以达到理论数据的80%。减少的计算耗时t1=(Fwin-Fstream)/(T*0.8),增减的拷贝耗时t2=Mtotal/(M*0.8);若t1>t2,则流式计算的效率大于截窗方案,反之,截窗方案的效率优于流式计算方案。通过上述分析方式,可以估算截窗方案和流式方案的效率优劣,可以根据上述评估的结果,调整网络结构中相关层的通道数,保证流式计算的方案在性能上具有可行性。
在流式计算的方案中,输入的首次计算,中间计算,以及最后一次计算的历史数据和未来数据的pad策略是有明显差异的。首次计算卷积层需要在左边pad一个0数据,右边不做pad;中间计算卷积层需要在左边pad两个历史备份数据,右边不做pad;最后一次计算需要在左边pad两个历史备份数据,右边pad一个0数据。这种计算上的差异,造成了三个部分在模型网络的描述上无法做到一致,在单路场景下,可以通过依次串行调度三个模型来实现整个计算过程;但是在多路并发的场景下,由于时刻t,各路会话的计算无法保证同步,如果强行进行同步的话,会造成其中某些路会话的响应时间非常差,因此也不能简单的通过强同步来依次调用三个网络实现整体计算,此时,本发明可以通过图1所示方法来解决。
基于图1,如图5所示,本实施例提出一种网络管理装置。该网络管理装置用于对卷积神经网络进行管理,卷积神经网络中包括第一子网络、第二子网络和第三子网络,网络管理装置中设置有分别与第一子网络、第二子网络和第三子网络对应的第一队列、第二队列和第三队列;网络管理装置包括:保存单元101、第一确定单元102、处理单元103和禁止单元104;其中:
保存单元101,用于将待输入至目标子网络进行数据处理的一路待处理数据,作为一个待处理任务保存至与目标子网络对应的队列;其中,目标子网络包括第一子网络、第二子网络和第三子网络;
第一确定单元102,用于基于当前的第一队列、第二队列和第三队列各自保存的任务数量,从第一子网络、第二子网络和第三子网络中确定出优先级最高的子网络;
处理单元103,用于在与优先级最高的子网络对应的队列中,将至少一路待处理数据输入至优先级最高的子网络中进行数据处理;
禁止单元104,用于在优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理。
需要说明的是,保存单元101、第一确定单元102、处理单元103和禁止单元104的具体处理及其带来的技术效果,可以分别参考图1所示方法关于步骤S101、S102、S103和S104的相关说明,此处不再赘述。
可选的,第一确定单元102,包括:第二确定单元和第三确定单元;其中:
第二确定单元,用于基于队列当前保存的任务数量和预先赋予的优先级属性值,分别确定第一子网络、第二子网络和第三子网络的最终优先级属性值;
第三确定单元,用于将最终优先级属性值最大的子网络确定为优先级最高的子网络。
可选的,在优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理之后,禁止单元104还触发处理单元103,直至处理完毕第一队列、第二队列和第三队列中的所有待处理任务。
可选的,第三子网络为结束子网络,待处理数据为待进行语音识别的流式语音数据;网络管理装置还包括:输入单元;
输入单元,用于将结束子网络输出的数据输入至语音识别引擎进行语音识别。
本实施例提出的网络管理装置,可以将待输入至目标子网络进行数据处理的一路待处理数据,作为一个待处理任务保存至与目标子网络对应的队列;其中,目标子网络包括第一子网络、第二子网络和第三子网络;基于当前的第一队列、第二队列和第三队列各自保存的任务数量,从第一子网络、第二子网络和第三子网络中确定出优先级最高的子网络;在与优先级最高的子网络对应的队列中,将至少一路待处理数据输入至优先级最高的子网络中进行数据处理,并在优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理。本发明可以实现对多路并发的待处理数据的有效处理。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种数据处理方法,其特征在于,应用于网络管理装置,所述网络管理装置用于对卷积神经网络进行管理,所述卷积神经网络中包括第一子网络、第二子网络和第三子网络,所述网络管理装置中设置有分别与所述第一子网络、所述第二子网络和第三子网络对应的第一队列、第二队列和第三队列;所述数据处理方法包括:
将待输入至目标子网络进行数据处理的一路待处理数据,作为一个待处理任务保存至与所述目标子网络对应的队列;其中,所述目标子网络包括所述第一子网络、所述第二子网络和所述第三子网络;
基于当前的所述第一队列、所述第二队列和所述第三队列各自保存的任务数量,从所述第一子网络、所述第二子网络和所述第三子网络中确定出优先级最高的子网络;
在与所述优先级最高的子网络对应的队列中,将至少一路待处理数据输入至所述优先级最高的子网络中进行数据处理,并在所述优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理。
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于当前的所述第一队列、所述第二队列和所述第三队列各自保存的任务数量,从所述第一子网络、所述第二子网络和所述第三子网络中确定出优先级最高的子网络,包括:
基于队列当前保存的任务数量和预先赋予的优先级属性值,分别确定所述第一子网络、所述第二子网络和所述第三子网络的最终优先级属性值;
将最终优先级属性值最大的子网络确定为所述优先级最高的子网络。
3.根据权利要求1所述的数据处理方法,其特征在于,在所述优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理之后,所述数据处理方法还包括:
返回执行所述基于当前的所述第一队列、所述第二队列和所述第三队列各自保存的任务数量,从所述第一子网络、所述第二子网络和所述第三子网络中确定出优先级最高的子网络的步骤,直至处理完毕所述第一队列、所述第二队列和所述第三队列中的所有待处理任务。
4.根据权利要求1所述的数据处理方法,其特征在于,所述第三子网络为结束子网络,所述待处理数据为待进行语音识别的流式语音数据;所述数据处理方法还包括:
将所述结束子网络输出的数据输入至语音识别引擎进行语音识别。
5.一种网络管理装置,其特征在于,所述网络管理装置用于对卷积神经网络进行管理,所述卷积神经网络中包括第一子网络、第二子网络和第三子网络,所述网络管理装置中设置有分别与所述第一子网络、所述第二子网络和第三子网络对应的第一队列、第二队列和第三队列;所述网络管理装置包括:保存单元、第一确定单元、处理单元和禁止单元;其中:
所述保存单元,用于将待输入至目标子网络进行数据处理的一路待处理数据,作为一个待处理任务保存至与所述目标子网络对应的队列;其中,所述目标子网络包括所述第一子网络、所述第二子网络和所述第三子网络;
所述第一确定单元,用于基于当前的所述第一队列、所述第二队列和所述第三队列各自保存的任务数量,从所述第一子网络、所述第二子网络和所述第三子网络中确定出优先级最高的子网络;
所述处理单元,用于在与所述优先级最高的子网络对应的队列中,将至少一路待处理数据输入至所述优先级最高的子网络中进行数据处理;
所述禁止单元,用于在所述优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理。
6.根据权利要求5所述的网络管理装置,其特征在于,所述第一确定单元,包括:第二确定单元和第三确定单元;其中:
所述第二确定单元,用于基于队列当前保存的任务数量和预先赋予的优先级属性值,分别确定所述第一子网络、所述第二子网络和所述第三子网络的最终优先级属性值;
所述第三确定单元,用于将最终优先级属性值最大的子网络确定为所述优先级最高的子网络。
7.根据权利要求5所述的网络管理装置,其特征在于,在所述优先级最高的子网络进行数据处理过程中,禁止其他子网络对相应队列中的待处理数据进行数据处理之后,所述禁止单元还触发所述处理单元,直至处理完毕所述第一队列、所述第二队列和所述第三队列中的所有待处理任务。
8.根据权利要求5所述的网络管理装置,其特征在于,所述第三子网络为结束子网络,所述待处理数据为待进行语音识别的流式语音数据;所述网络管理装置还包括:输入单元;
所述输入单元,用于将所述结束子网络输出的数据输入至语音识别引擎进行语音识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210202789.3A CN114579273B (zh) | 2022-03-02 | 2022-03-02 | 一种数据处理方法及网络管理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210202789.3A CN114579273B (zh) | 2022-03-02 | 2022-03-02 | 一种数据处理方法及网络管理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114579273A CN114579273A (zh) | 2022-06-03 |
CN114579273B true CN114579273B (zh) | 2024-04-02 |
Family
ID=81771385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210202789.3A Active CN114579273B (zh) | 2022-03-02 | 2022-03-02 | 一种数据处理方法及网络管理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579273B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102202410A (zh) * | 2010-03-23 | 2011-09-28 | 中兴通讯股份有限公司 | 无线通信网络的多用户多业务的调度方法及装置 |
CN103117956A (zh) * | 2013-02-22 | 2013-05-22 | 烽火通信科技股份有限公司 | 基于调度队列的网络系统自动配置方法 |
CN113849293A (zh) * | 2021-11-30 | 2021-12-28 | 湖北芯擎科技有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127686B (zh) * | 2006-08-18 | 2012-04-04 | 华为技术有限公司 | 一种网络数据处理方法及设备 |
-
2022
- 2022-03-02 CN CN202210202789.3A patent/CN114579273B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102202410A (zh) * | 2010-03-23 | 2011-09-28 | 中兴通讯股份有限公司 | 无线通信网络的多用户多业务的调度方法及装置 |
CN103117956A (zh) * | 2013-02-22 | 2013-05-22 | 烽火通信科技股份有限公司 | 基于调度队列的网络系统自动配置方法 |
CN113849293A (zh) * | 2021-11-30 | 2021-12-28 | 湖北芯擎科技有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
列车控制与服务网络流量调度策略研究;张华;谭献海;赵晋南;刘力浩;;铁路计算机应用;20171125(第11期);全文 * |
基于相对优先级的单队列区分服务模型;胡永涛;岳春生;胡泽明;杨平平;赵传奇;;信息工程大学学报;20190615(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114579273A (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427681B (zh) | 边缘计算中基于资源监控的实时任务匹配调度系统和方法 | |
CN108965014B (zh) | QoS感知的服务链备份方法及系统 | |
CN112183668B (zh) | 并行训练业务模型的方法及装置 | |
CN113064671A (zh) | 基于多智能体的边缘云可扩展任务卸载方法 | |
CN109949160A (zh) | 一种区块链的分片方法及装置 | |
Wang et al. | ADDA: Adaptive distributed DNN inference acceleration in edge computing environment | |
CN105740085B (zh) | 容错处理方法及装置 | |
Huo et al. | Asynchronous stochastic gradient descent with variance reduction for non-convex optimization | |
CN113015216B (zh) | 一种面向边缘服务网络的突发任务卸载与调度方法 | |
CN105786610B (zh) | 计算密集型任务向云服务器中卸载的方法 | |
CN111666151A (zh) | 拓扑图转换系统及其方法 | |
CN114579273B (zh) | 一种数据处理方法及网络管理装置 | |
CN110048966B (zh) | 基于截止时间的最小化系统开销的Coflow调度方法 | |
CN112862083B (zh) | 一种边缘环境下的深度神经网络推断方法及装置 | |
Tang et al. | Collaborative cloud-edge-end task offloading with task dependency based on deep reinforcement learning | |
CN111985634B (zh) | 神经网络的运算方法、装置、计算机设备及存储介质 | |
CN111741177B (zh) | 在线会议的混音方法、装置、设备和介质 | |
CN103108044B (zh) | 一种基于依赖图约减和QoS保持的Web服务组合方法 | |
CN105094944A (zh) | 一种虚拟机迁移方法及装置 | |
CN115329989B (zh) | 边缘计算场景下基于模型分割的同步联邦学习加速方法 | |
CN108205465B (zh) | 流式应用程序的任务动态调度方法和装置 | |
CN111510317B (zh) | 弱化dbft中连续多个节点故障导致的延迟的方法、计算机可读存储介质和dbft网络 | |
Chalkiadakis et al. | The price of democracy in coalition formation | |
Shanmugapriya et al. | Contention awareness in task scheduling using tabu search | |
Driss et al. | Mixed integer programming for job shop scheduling problem with separable sequence-dependent setup times |
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 |