CN108776833A - 一种数据处理方法、系统及计算机可读存储介质 - Google Patents
一种数据处理方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108776833A CN108776833A CN201810568783.1A CN201810568783A CN108776833A CN 108776833 A CN108776833 A CN 108776833A CN 201810568783 A CN201810568783 A CN 201810568783A CN 108776833 A CN108776833 A CN 108776833A
- Authority
- CN
- China
- Prior art keywords
- data
- data processing
- network structures
- cnn network
- analyzed
- 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
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
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
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)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种数据处理方法、系统及计算机可读存储介质。其中,方法包括根据数据处理模式,利用预先构建的、相应数据处理模式下的多路CNN网络结构对待分析数据进行处理;根据数据处理模式和各路CNN网络结构的运行计算结果,得到待分析数据的处理结果,数据处理模式与多路网络结构一一对应,且各路CNN网络结构在计算过程中没有数据交互。本申请通过在一个FPGA上设置多路并行的CNN网络结构,不同的数据处理模式对应不同的网络结构,既可以对大量的数据同时并行处理,节省数据处理时间,从而提高CNN算法的工作效率;又可以利用多路CNN网络结构同时对同一目标数据进行目标识别,有利于提升CNN算法的目标识别的准确率,从而整体提升CNN算法性能。
Description
技术领域
本发明实施例涉及深度学习技术领域,特别是涉及一种数据处理方法、系统及计算机可读存储介质。
背景技术
随着机器学习技术的快速发展,深度学习作为机器学习中一种基于对数据进行表征学习的方法,被广泛应用。
目前,深度学习技术主要以DNN(Deep Neural Networks,深度神经网络)为研究对象。DNN用于模式识别的主流是有指导学习网络,无指导学习网络更多的是用于聚类分析。对于有指导的模式识别,由于任意一种样本的类别是已知的,样本在空间的分布不再是依据其自然分布倾向来划分,而是要根据同类样本在空间的分布及不同类样本之间的分离程度确定一种适当的空间划分方法,或者找到一个分类边界,使得不同类样本分别位于不同的区域内。这就需要一个长时间且复杂的学习过程,不断调整用以划分样本空间的分类边界的位置,使尽可能少的样本被划分到非同类区域中。对于同一个网络结构,其训练样本的不同(不同包括内容、顺序)最后训练的结果也不完全相同。
由于处理场景的不同,对DNN的性能要求也不相同,从而发展出多种网络结构,例如卷积神经网络(Convolutional Neural Networks,CNN)为一种典型的深度学习算法。
CNN结构较为复杂,为了提高CNN数据处理速度,现有技术多采用CPU(CentralProcessing Unit,中央处理器)和FPGA(Field-Programmable Gate Array,现场可编程门阵列)构成异构加速平台加以实现,一般在一块加速板卡上实现一种CNN网络结构,但是当数据较多时,或者是目标识别准确率需求较高时,或者数据处理效率要求较高时,现有技术往往无法满足现实要求。
发明内容
本发明实施例的目的是提供一种数据处理方法、系统及计算机可读存储介质,降低CNN网络结构的数据处理所需时间,有利于提升CNN网络目标识别的准确率,提高了CNN算法的性能。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种数据处理方法,基于FPGA板卡和CPU构成的异构计算平台,包括:
根据所述CPU发送数据处理模式指令,利用预先构建的、相应数据处理模式下的多路CNN网络结构对所述待分析数据进行处理;
根据所述数据处理模式和各路CNN网络结构的运行计算结果,得到所述待分析数据的处理结果;
其中,多路CNN网络结构并行运行在所述FPGA板卡上,多路CNN网络结构为预先根据用户输入的配置参数进行构建,并与所述数据处理模式一一对应;各路CNN网络结构在计算过程中没有数据交互;
所述数据处理模式包括多路CNN网络结构对同一待分析数据进行目标识别的目标识别模式,和同时对所述待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,子段数据的个数和CNN网络结构的路数相同,且各子段数据拼接为完整的所述待分析数据。
可选的,所述数据处理模式为目标识别模式,所述根据所述数据处理模式和各路CNN网络结构的运行计算结果,得到所述待分析数据的处理结果包括:
获取各路CNN网络结构运行所述待分析数据的识别结果;
从各识别结果选择满足预设识别条件的目标识别结果,并将所述目标识别结果发送至所述CPU,以作为所述待分析数据的识别结果;
其中,各路CNN网络结构为预先利用不同样本数据训练所得。
可选的,所述数据处理模式为数据并行处理模式,所述根据所述数据处理模式和各路CNN网络结构的运行计算结果,得到所述待分析数据的处理结果包括:
存储各路CNN网络结构运行相应子段数据的计算结果,并作为所述待分析数据的处理结果;
其中,各子段数据的占用空间容量值相等,且各路CNN网络结构分别将各自运行的计算结果直接发送至所述CPU。
可选的,所述数据处理模式指令为所述CPU根据用户选择的数据处理模式生成。
可选的,所述数据处理模式指令为所述CPU根据所述待分析数据的占用空间容量值与预设容量阈值的比较结果生成,当所述待分析数据的占用空间容量值大于预设容量阈值,则发送目标识别模式;当所述待分析数据的占用空间容量值不大于预设容量阈值,则发送数据并行处理模式。
可选的,各路CNN网络结构复用所述FPGA板卡上的数据存取模块。
可选的,所述CNN网络结构为AlexNet网络。
本发明实施例另一方面提供了一种数据处理方法,基于FPGA板卡和CPU构成的异构计算平台,包括:
根据待分析数据确定数据处理模式,并生成数据处理模式指令发送至所述FPGA板卡,以使所述FPGA板卡根据所述数据处理模式指令,利用预先构建的、相应数据处理模式下的多路CNN网络结构对所述待分析数据进行处理;
当多路CNN网络结构运行结束时,从所述FPGA板卡的DDR的缓存中读取处理结果;
其中,多路CNN网络结构并行运行在所述FPGA板卡上,多路CNN网络结构为预先根据用户输入的配置参数进行构建,并与所述数据处理模式一一对应;各路CNN网络结构在计算过程中没有数据交互;
所述数据处理模式包括多路CNN网络结构对同一待分析数据进行目标识别的目标识别模式,和同时对所述待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,子段数据的个数和CNN网络结构的路数相同,且各子段数据拼接为完整的所述待分析数据。
本发明实施例还提供了一种数据处理系统,包括CPU和FPGA板卡;
所述CPU用于对各路CNN网络结构参数进行初始化、各路CNN网络结构进行数据处理模式配置、配置向各路CNN网络结构传递命令和数据的上下文,与所述FPGA板卡进行数据传输及各路CNN网络结构的并行调度;
所述数据处理模式包括多路CNN网络结构对同一待分析数据进行目标识别的目标识别模式,和同时对所述待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,子段数据的个数和CNN网络结构的路数相同,且各子段数据拼接为完整的所述待分析数据;
所述FPGA板卡用于根据所述CPU发送数据处理模式指令,利用预先构建的、相应数据处理模式下的多路CNN网络结构对所述待分析数据进行处理;根据所述数据处理模式和各路CNN网络结构的运行计算结果,得到所述待分析数据的处理结果;
其中,多路CNN网络结构并行运行在所述FPGA板卡上,多路网络结构为预先根据用户输入的配置参数进行构建,并与所述数据处理模式一一对应;各路CNN网络结构在计算过程中没有数据交互。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如前任一项所述数据处理方法的步骤。
本申请提供的技术方案的优点在于,通过在一个FPGA上设置多路并行的CNN网络结构,不同的数据处理模式对应不同的网络结构,数据处理模式包括同一待分析数据进行目标识别的目标识别模式,和同时对待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,既可以对大量的数据同时并行处理,节省数据处理时间,从而提高CNN算法的工作效率;又可以利用多路CNN网络结构同时对同一目标数据进行目标识别,有利于提升CNN算法的目标识别的准确率,从而整体提升CNN算法性能。
此外,本发明实施例还针对数据处理方法提供了相应的实现系统及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、设备及计算机可读存储介质具有相应的优点。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据处理方法的流程示意图;
图2为本发明实施例提供的一种四路AlexNet网络结构数据处理的结构示意图;
图3为本发明实施例提供的一种四路AlexNet网络结构数据处理的原理示意图;
图4为本发明实施例提供的一种四路AlexNet网络结构数据处理的结构示意图;
图5为本发明实施例提供的一种四路AlexNet网络结构数据处理的原理示意图;
图6为本发明实施例提供的一种四路AlexNet网络结构间复用数据存取结模块的示意图;
图7为本发明实施例提供的数据处理的一种具体实施方式结构图;
图8为本发明实施例提供的数据处理的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种数据处理方法的流程示意图,基于FPGA板卡和CPU构成的异构计算平台,本发明实施例可包括以下内容:
S101:CPU发送数据处理模式指令。
S102:FPGA板卡利用预先构建的、相应数据处理模式下的多路CNN网络结构对待分析数据进行处理,根据数据处理模式和各路CNN网络结构的运行计算结果,得到待分析数据的处理结果。
S103:当多路CNN网络结构运行结束时,CPU从FPGA板卡的DDR的缓存中读取处理结果。
在FPGA板卡上实现多路并行的CNN网络结构,形成一卡多路的硬件环境,CNN网络结构可为AlexNet网络结构,也即多路AlexNet网络结构并行运行在FPGA板卡上。当然,也可为其他类型的网络结构,如VGG网络结构,或ResNet网络结构,本申请对此不作任何限定。
在算法设计方面,主要分为主机程序(host)和内核程序(kernel)两部分。其中,kernel端采用OpenCL高级语言对CNN网络结构进行描述,在FPGA加速卡上运行该部分程序,内核程序可转换成FPGA上的逻辑电路,并将其作为FPGA的配置数据输出;主机端程序主要完成参数初始化,数据传输及各AlexNet网络任务的并行调度等工作,该部分程序在CPU上运行。运行时,主机端的程序通过预设程序调用运行库,要求已被写入配置数据的FPGA进行内核处理。
多路CNN网络结构为预先根据用户输入的配置参数进行构建好的,并与数据处理模式一一对应;各路CNN网络结构在计算过程中没有数据交互。也即多路网络结构之间在最初的数据输入环节根据不同的配置模式具有不同的结构,而在计算过程中没有数据的交互,最后的计算结果也根据不同的配置模式具有不同的结构,以多路AlexNet网络结构为例,请参阅图2-图5所示,不同数据处理模式下的工作原理图。
CPU首先根据用户输入的数据设计配置参数,确定多路并行结构的具体实现功能,然后在配置用于向各路CNN(例如AlexNet)网络传递命令和数据的上下文,可根据待处理数据或者是用户根据实际需求输入的网路数量信息设置运行程序时实际使用的并行CNN(例如AlexNet)网络数量,待配置完成多个CNN网络结构时,便可启动各路CNN(例如AlexNet)网络kernel程序,开始并行处理数据等待FPGA端CNN(例如AlexNet)算法运行结束后,从FPGA端DDR上的缓存中,将识别结果读取到主机端,完成CNN(例如AlexNet)算法过程。
数据处理模式可包括目标识别模式和数据并行处理模式。数据处理模式指令为CPU根据用户选择的数据处理模式生成。不同的数据处理模式,对应不同的网络结构。在确定采用何种数据处理模式时,可根据用户选择的数据处理模式,也可根据待分析数据的占用空间容量值与预设容量阈值(例如5G)的比较结果来确定,具体的,当待分析数据的占用空间容量值大于预设容量阈值,则发送目标识别模式;当待分析数据的占用空间容量值不大于预设容量阈值,则发送数据并行处理模式。
目标识别模式为多路CNN网络结构对同一待分析数据进行目标识别的目标识别模式,各路CNN网络结构为预先利用不同样本数据训练所得,各路CNN网络结构具有不同的训练效果,当然,各路CNN网络结构训练数据的算法均可一样。
在目标识别模式下,根据数据处理模式和各路CNN网络结构的运行计算结果,得到待分析数据的处理结果可包括:
获取各路CNN网络结构运行待分析数据的识别结果;
从各识别结果选择满足预设识别条件的目标识别结果,并将目标识别结果发送至CPU,以作为待分析数据的识别结果;
由于各路CNN网络结构同时对同一目标数据进行目标识别,各路CNN网络结构均可输出一个识别结果,FPGA对这些识别结果做一个判决,从这些识别结果中可选取一个识别效果相差不大的识别结果,也可选出几个识别率最高的作为识别结果输出,具体的,本领域技术人员可根据实际情况和识别目标的类型进行预先设置。例如第一路网络结构输出该目标数据为A的概率为80%,为B的概率为10%,为C的概率为5%;第二路网络结构输出该目标数据为A的概率为85%,为B的概率为10%,为C的概率为4%;第三路网络结构输出该目标数据为A的概率为70%,为B的概率为20%,为C的概率为5%;第四路网络结构输出该目标数据为A的概率为90%,为B的概率为5%,为C的概率为3%;那么FPGA可输出该目标数据为A的识别结果,也可输出该目标数据为A的概率为81.25%,B的概率为11.25%,C的概率为4.125%的识别结果。
由于各路CNN网络结构的训练样本不同,训练效果不同,从各识别结果中选择出来的目标识别结果,即可避免单路网络结构直接输出结果由于不确定性造成的准确率低,还综合考虑多种数据,进一步可提升目标识别的准确率。
举例来说,请参阅图2和图3,对于四路AlexNet网络结构,输入的数据包括1、2、3及4,利用数据分发模块将数据1复制为4份,分别发送至每一路AlexNet网络结构,每路网络结构输出各自的识别结果,FPGA板卡综合各路识别结果进行判决,最终输出目标数据的识别结果,并存储在其存储空间中,并发送至主机端的CPU。
数据并行处理模式为同时对待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,子段数据的个数和CNN网络结构的路数相同,且各子段数据拼接为完整的待分析数据,具体的处理过程可包括:
存储各路CNN网络结构运行相应子段数据的计算结果,作为所述待分析数据的处理结果;
其中,各子段数据的占用空间容量值相等,且各路CNN网络结构分别将各自运行的计算结果直接发送至CPU。
举例来说,请参阅图4和图5,对于四路AlexNet网络结构,输入待分析数据包括占用空间容量值相同的1、2、3及4个子段数据,且这四个子段数据包括整个待分析数据的全部数据,即可按照相同数据量(数据量=待分析数据总量/多路网络结构的路数)依次利用数据分发模块将待分析数据发送至每一路AlexNet网络结构,每路网络结构输出各自的识别结果,存储在FPGA板卡存储空间的不同存储区域中,并分别发送至主机端的CPU,CPU将得到的结果作为待分析数据的处理结果。
在本发明实施例提供的技术方案中,通过在一个FPGA上设置多路并行的CNN网络结构,不同的数据处理模式对应不同的网络结构,数据处理模式包括同一待分析数据进行目标识别的目标识别模式,和同时对待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,既可以对大量的数据同时并行处理,节省数据处理时间,从而提高CNN算法的工作效率;又可以利用多路CNN网络结构同时对同一目标数据进行目标识别,有利于提升CNN算法的目标识别的准确率,从而整体提升CNN算法性能。
在一种具体的实施方式中,为了提升FPGA板卡上硬件资源的利用率,针对多路CNN网络结构具有一定的重复性,可将部分功能相同的控制模块进行了复用,以缩减了对FPGA板卡上硬件资源的需求。例如,各路CNN网络结构复用FPGA板卡上的数据存取模块。请参阅图6,每个虚线方框内代表着一路AlexNet网络,将AlexNet层之间的数据存取进行了复用,减少FPGA硬件资源消耗,从而优化多路CNN网络结构,有利于在FPGA板卡上实现该功能。
需要说明的是,本申请提供的技术方案在硬件上改进为一卡多路,即一张FPGA板卡上运行多路CNN网络结构,还可进一步的改进为一机多卡,即在一个主机端设置多张FPGA板卡,每张FPGA板卡上设置多路CNN网络结构,适用于更多海量数据的处理需求和数据处理高效率的需求场景中。对于每张FPGA板卡的具体的实现过程,可参阅本申请记载的技术方案,此处,就不再赘述。
本发明实施例还针对数据处理方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的数据处理装置进行介绍,下文描述的数据处理装置与上文描述的数据处理方法可相互对应参照。
参见图7,图7为本发明实施例提供的数据处理装置在一种具体实施方式下的结构图,基于FPGA板卡,该装置可包括:
数据处理模块701,用于根据CPU发送数据处理模式指令,利用预先构建的、相应数据处理模式下的多路CNN网络结构对待分析数据进行处理。
处理结果生成模块702,用于根据数据处理模式和各路CNN网络结构的运行计算结果,得到待分析数据的处理结果;
其中,多路CNN网络结构并行运行在FPGA板卡上,多路网络结构为预先根据用户输入的配置参数进行构建,并与数据处理模式一一对应;各路CNN网络结构在计算过程中没有数据交互;
数据处理模式包括多路CNN网络结构对同一待分析数据进行目标识别的目标识别模式,和同时对待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,子段数据的个数和CNN网络结构的路数相同,且各子段数据拼接为完整的待分析数据。
此外,参见图8,图8为本发明实施例提供的数据处理装置在另一种具体实施方式下的结构图,基于主机端CPU,该装置可包括:
任务调度模块801,根据待分析数据确定数据处理模式,并生成数据处理模式指令发送至FPGA板卡,以使FPGA板卡根据数据处理模式指令,利用预先构建的、相应数据处理模式下的多路CNN网络结构对待分析数据进行处理。
读取结果模块802,当多路CNN网络结构运行结束时,从FPGA板卡的DDR的缓存中读取处理结果;
其中,多路CNN网络结构并行运行在FPGA板卡上,多路网络结构为预先根据用户输入的配置参数进行构建,并与数据处理模式一一对应;各路CNN网络结构在计算过程中没有数据交互;
数据处理模式包括多路CNN网络结构对同一待分析数据进行目标识别的目标识别模式,和同时对待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,子段数据的个数和CNN网络结构的路数相同,且各子段数据拼接为完整的待分析数据。
本发明实施例所述数据处理装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例降低CNN网络结构的数据处理所需时间,有利于提升CNN网络目标识别的准确率,提高了CNN算法的性能。
本发明实施例还提供了一种计算机可读存储介质,存储有数据处理程序,所述数据处理程序被处理器执行时如上任意一实施例所述数据处理方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例降低CNN网络结构的数据处理所需时间,有利于提升CNN网络目标识别的准确率,提高了CNN算法的性能。
最后,本申请还介绍了一种数据处理系统,具体可包括CPU和与之相连的FPGA板卡。
CPU用于对各路CNN网络结构参数进行初始化、各路CNN网络结构进行数据处理模式配置、配置向各路CNN网络结构传递命令和数据的上下文,与FPGA板卡进行数据传输及各路CNN网络结构的并行调度。
数据处理模式包括多路CNN网络结构对同一待分析数据进行目标识别的目标识别模式,和同时对待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,子段数据的个数和CNN网络结构的路数相同,且各子段数据拼接为完整的待分析数据。
FPGA板卡用于根据CPU发送数据处理模式指令,利用预先构建的、相应数据处理模式下的多路CNN网络结构对待分析数据进行处理;根据数据处理模式和各路CNN网络结构的运行计算结果,得到待分析数据的处理结果。
其中,多路CNN网络结构并行运行在FPGA板卡上,多路网络结构为预先根据用户输入的配置参数进行构建,并与数据处理模式一一对应;各路CNN网络结构在计算过程中没有数据交互。
本发明实施例所述数据处理系统的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例降低CNN网络结构的数据处理所需时间,有利于提升CNN网络目标识别的准确率,提高了CNN算法的性能。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种数据处理方法、系统及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种数据处理方法,其特征在于,基于FPGA板卡和CPU构成的异构计算平台,包括:
根据所述CPU发送数据处理模式指令,利用预先构建的、相应数据处理模式下的多路CNN网络结构对所述待分析数据进行处理;
根据所述数据处理模式和各路CNN网络结构的运行计算结果,得到所述待分析数据的处理结果;
其中,多路CNN网络结构并行运行在所述FPGA板卡上,多路CNN网络结构为预先根据用户输入的配置参数进行构建,并与所述数据处理模式一一对应;各路CNN网络结构在计算过程中没有数据交互;
所述数据处理模式包括多路CNN网络结构对同一待分析数据进行目标识别的目标识别模式,和同时对所述待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,子段数据的个数和CNN网络结构的路数相同,且各子段数据拼接为完整的所述待分析数据。
2.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理模式为目标识别模式,所述根据所述数据处理模式和各路CNN网络结构的运行计算结果,得到所述待分析数据的处理结果包括:
获取各路CNN网络结构运行所述待分析数据的识别结果;
从各识别结果选择满足预设识别条件的目标识别结果,并将所述目标识别结果发送至所述CPU,以作为所述待分析数据的识别结果;
其中,各路CNN网络结构为预先利用不同样本数据训练所得。
3.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理模式为数据并行处理模式,所述根据所述数据处理模式和各路CNN网络结构的运行计算结果,得到所述待分析数据的处理结果包括:
存储各路CNN网络结构运行相应子段数据的计算结果,并作为所述待分析数据的处理结果;
其中,各子段数据的占用空间容量值相等,且各路CNN网络结构分别将各自运行的计算结果直接发送至所述CPU。
4.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理模式指令为所述CPU根据用户选择的数据处理模式生成。
5.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理模式指令为所述CPU根据所述待分析数据的占用空间容量值与预设容量阈值的比较结果生成,当所述待分析数据的占用空间容量值大于预设容量阈值,则发送目标识别模式;当所述待分析数据的占用空间容量值不大于预设容量阈值,则发送数据并行处理模式。
6.根据权利要求1至5任意一项所述的数据处理方法,其特征在于,各路CNN网络结构复用所述FPGA板卡上的数据存取模块。
7.根据权利要求6所述的数据处理方法,其特征在于,所述CNN网络结构为AlexNet网络。
8.一种数据处理方法,其特征在于,基于FPGA板卡和CPU构成的异构计算平台,包括:
根据待分析数据确定数据处理模式,并生成数据处理模式指令发送至所述FPGA板卡,以使所述FPGA板卡根据所述数据处理模式指令,利用预先构建的、相应数据处理模式下的多路CNN网络结构对所述待分析数据进行处理;
当多路CNN网络结构运行结束时,从所述FPGA板卡的DDR的缓存中读取处理结果;
其中,多路CNN网络结构并行运行在所述FPGA板卡上,多路CNN网络结构为预先根据用户输入的配置参数进行构建,并与所述数据处理模式一一对应;各路CNN网络结构在计算过程中没有数据交互;
所述数据处理模式包括多路CNN网络结构对同一待分析数据进行目标识别的目标识别模式,和同时对所述待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,子段数据的个数和CNN网络结构的路数相同,且各子段数据拼接为完整的所述待分析数据。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求8所述数据处理方法的步骤。
10.一种数据处理系统,其特征在于,包括CPU和FPGA板卡;
所述CPU用于对各路CNN网络结构参数进行初始化、各路CNN网络结构进行数据处理模式配置、配置向各路CNN网络结构传递命令和数据的上下文,与所述FPGA板卡进行数据传输及各路CNN网络结构的并行调度;
所述数据处理模式包括多路CNN网络结构对同一待分析数据进行目标识别的目标识别模式,和同时对所述待分析数据的各个彼此不同子段数据进行处理的数据并行处理模式,子段数据的个数和CNN网络结构的路数相同,且各子段数据拼接为完整的所述待分析数据;
所述FPGA板卡用于根据所述CPU发送数据处理模式指令,利用预先构建的、相应数据处理模式下的多路CNN网络结构对所述待分析数据进行处理;根据所述数据处理模式和各路CNN网络结构的运行计算结果,得到所述待分析数据的处理结果;
其中,多路CNN网络结构并行运行在所述FPGA板卡上,多路网络结构为预先根据用户输入的配置参数进行构建,并与所述数据处理模式一一对应;各路CNN网络结构在计算过程中没有数据交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810568783.1A CN108776833B (zh) | 2018-06-05 | 2018-06-05 | 一种数据处理方法、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810568783.1A CN108776833B (zh) | 2018-06-05 | 2018-06-05 | 一种数据处理方法、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108776833A true CN108776833A (zh) | 2018-11-09 |
CN108776833B CN108776833B (zh) | 2021-08-31 |
Family
ID=64024701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810568783.1A Active CN108776833B (zh) | 2018-06-05 | 2018-06-05 | 一种数据处理方法、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108776833B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109754072A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 网络离线模型的处理方法、人工智能处理装置及相关产品 |
CN110516795A (zh) * | 2019-08-28 | 2019-11-29 | 北京达佳互联信息技术有限公司 | 一种为模型变量分配处理器的方法、装置及电子设备 |
CN111858630A (zh) * | 2020-07-10 | 2020-10-30 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN113609310A (zh) * | 2021-08-25 | 2021-11-05 | 上海交通大学 | 单机大规模知识图谱嵌入系统及方法 |
CN116127400A (zh) * | 2023-04-19 | 2023-05-16 | 国网智能电网研究院有限公司 | 基于异构计算的敏感数据识别系统、方法及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040073433A1 (en) * | 2002-10-15 | 2004-04-15 | Conexant Systems, Inc. | Complexity resource manager for multi-channel speech processing |
CN105589938A (zh) * | 2015-12-13 | 2016-05-18 | 公安部第三研究所 | 基于fpga的图像检索系统及检索方法 |
CN105891430A (zh) * | 2016-04-11 | 2016-08-24 | 上海大学 | 一种基于神经网络的食品质量监测装置 |
CN106875012A (zh) * | 2017-02-09 | 2017-06-20 | 武汉魅瞳科技有限公司 | 一种基于fpga的深度卷积神经网络的流水化加速系统 |
CN107066239A (zh) * | 2017-03-01 | 2017-08-18 | 智擎信息系统(上海)有限公司 | 一种实现卷积神经网络前向计算的硬件结构 |
US20180060724A1 (en) * | 2016-08-25 | 2018-03-01 | Microsoft Technology Licensing, Llc | Network Morphism |
CN107992940A (zh) * | 2017-12-12 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种卷积神经网络在fpga上的实现方法及装置 |
-
2018
- 2018-06-05 CN CN201810568783.1A patent/CN108776833B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040073433A1 (en) * | 2002-10-15 | 2004-04-15 | Conexant Systems, Inc. | Complexity resource manager for multi-channel speech processing |
CN105589938A (zh) * | 2015-12-13 | 2016-05-18 | 公安部第三研究所 | 基于fpga的图像检索系统及检索方法 |
CN105891430A (zh) * | 2016-04-11 | 2016-08-24 | 上海大学 | 一种基于神经网络的食品质量监测装置 |
US20180060724A1 (en) * | 2016-08-25 | 2018-03-01 | Microsoft Technology Licensing, Llc | Network Morphism |
CN106875012A (zh) * | 2017-02-09 | 2017-06-20 | 武汉魅瞳科技有限公司 | 一种基于fpga的深度卷积神经网络的流水化加速系统 |
CN107066239A (zh) * | 2017-03-01 | 2017-08-18 | 智擎信息系统(上海)有限公司 | 一种实现卷积神经网络前向计算的硬件结构 |
CN107992940A (zh) * | 2017-12-12 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种卷积神经网络在fpga上的实现方法及装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109754072A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 网络离线模型的处理方法、人工智能处理装置及相关产品 |
CN109754072B (zh) * | 2018-12-29 | 2020-06-23 | 中科寒武纪科技股份有限公司 | 网络离线模型的处理方法、人工智能处理装置及相关产品 |
US11699073B2 (en) | 2018-12-29 | 2023-07-11 | Cambricon Technologies Corporation Limited | Network off-line model processing method, artificial intelligence processing device and related products |
CN110516795A (zh) * | 2019-08-28 | 2019-11-29 | 北京达佳互联信息技术有限公司 | 一种为模型变量分配处理器的方法、装置及电子设备 |
CN110516795B (zh) * | 2019-08-28 | 2022-05-10 | 北京达佳互联信息技术有限公司 | 一种为模型变量分配处理器的方法、装置及电子设备 |
CN111858630A (zh) * | 2020-07-10 | 2020-10-30 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN111858630B (zh) * | 2020-07-10 | 2022-06-17 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN113609310A (zh) * | 2021-08-25 | 2021-11-05 | 上海交通大学 | 单机大规模知识图谱嵌入系统及方法 |
CN113609310B (zh) * | 2021-08-25 | 2023-08-08 | 上海交通大学 | 单机大规模知识图谱嵌入系统及方法 |
CN116127400A (zh) * | 2023-04-19 | 2023-05-16 | 国网智能电网研究院有限公司 | 基于异构计算的敏感数据识别系统、方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108776833B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776833A (zh) | 一种数据处理方法、系统及计算机可读存储介质 | |
EP3179415B1 (en) | Systems and methods for a multi-core optimized recurrent neural network | |
CN112346859B (zh) | 资源调度方法及装置、电子设备和存储介质 | |
CN108337000A (zh) | 用于转换到较低精度数据格式的自动方法 | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
Martín et al. | Algorithmic strategies for optimizing the parallel reduction primitive in CUDA | |
US11934866B2 (en) | Operator operation scheduling method and apparatus to determine an optimal scheduling policy for an operator operation | |
CN105607952B (zh) | 一种虚拟化资源的调度方法及装置 | |
CN109948807A (zh) | 一种主动学习方法及装置 | |
CN112764893B (zh) | 数据处理方法和数据处理系统 | |
WO2018175164A1 (en) | Resource-efficient machine learning | |
CN109598250A (zh) | 特征提取方法、装置、电子设备和计算机可读介质 | |
CN116501505B (zh) | 负载任务的数据流生成方法、装置、设备及介质 | |
CN115860066A (zh) | 一种基于批处理的神经网络推理流水线复用的方法 | |
CN106407063B (zh) | 一种GPU L1 Cache处访存序列的仿真生成与排序方法 | |
CN114430838A (zh) | 使用神经网络加速器来处理连续输入 | |
CN110162398A (zh) | 一种疾病分析模型的调度方法、装置及终端设备 | |
CN115018081A (zh) | 特征选择方法、应用程序预测方法及装置 | |
CN106406976A (zh) | 云计算环境下io密集型应用识别方法及装置 | |
CN109242091A (zh) | 图像识别方法、装置、设备及可读存储介质 | |
CN114911604A (zh) | 资源调度方法、装置和管理设备 | |
CN113176944A (zh) | 集群计算存储资源分配方法和装置 | |
CN114761920A (zh) | 具有可重构指令集的硬件加速器 | |
CN103955443A (zh) | 一种基于gpu加速的蚁群算法优化方法 | |
CN111027669A (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 |