CN111898747B - 一种特征比对方法及电子设备 - Google Patents
一种特征比对方法及电子设备 Download PDFInfo
- Publication number
- CN111898747B CN111898747B CN201910368661.2A CN201910368661A CN111898747B CN 111898747 B CN111898747 B CN 111898747B CN 201910368661 A CN201910368661 A CN 201910368661A CN 111898747 B CN111898747 B CN 111898747B
- Authority
- CN
- China
- Prior art keywords
- feature data
- data
- memory
- cpu
- characteristic data
- 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
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
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种特征比对方法及电子设备,该方法应用于包括CPU和GPU的电子设备,可以使CPU将待处理数据输入已训练的多级网络模型,计算得到第一特征数据,并述第一特征数据储存到内存中,再将所述第一特征数据输入已训练的网络裁剪模型,对第一特征数据进行裁剪得到第二特征数据,将第二特征数据发送给所述GPU;GPU从显存存储的特征数据中选择出与第二特征数据相似的N个候选特征数据,将所述N个候选特征数据对应的N个位置标识发送至CPU;CPU从内存存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据。因此可以在提高任务吞吐量的同时提升计算精度。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种特征比对方法及电子设备。
背景技术
CPU(Central Processing Unit,中央处理器)是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。GPU(Graphics Processing Unit,图形处理器),是一种用于执行图像运算工作的微处理器。
CPU与GPU相比,在内存方面,CPU有大量的内存资源,而GPU的内存资源相对较少,并且内存成本较高;在运算方面,CPU除了负责浮点整形运算外,还有很多其他的指令集的负载,比如像多媒体解码,硬件解码等,因此CPU是多才多艺的,因此CPU偏重于单线程的性能;而GPU基本上只做浮点运算的,因此GPU更偏重于吞吐量,以使单指令能驱动更多线程同步计算。
网络模型特征比较如果仅依赖单一的元件执行,例如只通过GPU或只通过CPU进行特征比较,由于CPU高并发性较差,那么只依赖CPU执行,会导致计算效率较低;而GPU的内存较小,因此只依赖GPU执行,又会导致缓存的模型数量较少,从而导致比较结果的精度较低。
发明内容
有鉴于此,本申请提供一种特征比对方法及电子设备,可以解决通过单一的网络元件进行特征比较时计算效率低或者精度较差的问题。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种特征比对方法,所述方法应用于电子设备,所述电子设备至少包括:CPU和GPU;所述方法包括:
所述CPU将待处理数据输入已训练的多级网络模型,以由所述多级网络模型对输入的目标数据进行网络计算得到第一特征数据,将所述第一特征数据储存到内存中;
所述CPU将所述第一特征数据输入已训练的网络裁剪模型,以由所述网络裁剪模型对输入的所述第一特征数据进行裁剪得到第二特征数据,将所述第二特征数据发送给所述GPU;
所述GPU从显存存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,所述显存存储的特征数据是将样本数据输入至所述多级网络模型、所述网络裁剪模型得到的数据,将所述N个候选特征数据对应的N个位置标识发送至所述CPU;
所述CPU从内存存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据。
作为一个实施例,通过所述GPU从显存存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,包括:
通过所述GPU分别计算所述显存存储的每一特征数据与第二特征数据的相似度;
按照相似度由高到低排序,从排序中选择前N个相似度对应的特征数据作为所述N个候选特征数据。
作为一个实施例,所述CPU从内存存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据,包括:
从内存中获取所述N个位置标识对应的N个特征数据作为所述N个候选特征数据的N个参考特征数据;
从N个参考特征数据中选择与所述第一特征数据相似的M个目标特征数据,M小于等于N。
作为一个实施例,从内存中获取所述N个位置标识对应的N个特征数据作为所述N个候选特征数据的N个参考特征数据,包括:
针对每一候选特征数据,依据预先建立的显存中特征数据与位置标识以及与内存中的特征数据的对应关系,从所述内存中获取所述位置标识对应的特征数据,将获取的特征数据作为该候选特征数据的参考特征数据。
作为一个实施例,从N个参考特征数据中选择与所述第一特征数据相似的M个目标特征数据,M小于等于N,包括:
分别计算所述N个参考特征数据与第一特征数据的相似度;
按照相似度由高到低排序,从排序中选择前M个相似度对应的参考特征数据作为所述M个目标特征数据。
根据本申请实施例的第二方面,提供一种电子设备,所述电子设备至少包括:CPU和GPU,其中:
所述CPU,用于将待处理数据输入已训练的多级网络模型,以由所述多级网络模型对输入的目标数据进行网络计算得到第一特征数据,将所述第一特征数据储存到内存中;将所述第一特征数据输入已训练的网络裁剪模型,以由所述网络裁剪模型对输入的所述第一特征数据进行裁剪得到第二特征数据,将所述第二特征数据发送给所述GPU;
所述GPU,用于从显存存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,所述显存存储的特征数据是将样本数据输入至所述多级网络模型、所述网络裁剪模型得到的数据,将所述N个候选特征数据对应的N个位置标识发送至所述CPU;
所述CPU,还用于从内存存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据。
作为一个实施例,所述GPU,具体用于分别计算所述显存存储的每一特征数据与第二特征数据的相似度;按照相似度由高到低排序,从排序中选择前N个相似度对应的特征数据作为所述N个候选特征数据。
作为一个实施例,所述CPU,具体从内存中获取所述N个位置标识对应的N个特征数据作为所述N个候选特征数据的N个参考特征数据;从N个参考特征数据中选择与所述第一特征数据相似的M个目标特征数据,M小于等于N。
作为一个实施例,所述CPU,具体用于针对每一候选特征数据,依据预先建立的显存中特征数据与位置标识以及与内存中的特征数据的对应关系,从所述内存中获取所述位置标识对应的特征数据,将获取的特征数据作为该候选特征数据的参考特征数据。
作为一个实施例,所述CPU,具体用于分别计算所述N个参考特征数据与第一特征数据的相似度;按照相似度由高到低排序,从排序中选择前M个相似度对应的参考特征数据作为所述M个目标特征数据。
根据本申请实施例的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一特征比对方法的步骤。
由上述实施例可见,本申请可以使CPU将待处理数据输入已训练的多级网络模型,计算得到第一特征数据,并将所述第一特征数据储存到内存中,再将所述第一特征数据输入已训练的网络裁剪模型,对所述第一特征数据进行裁剪得到第二特征数据,将所述第二特征数据发送给所述GPU;GPU从显存存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,将所述N个候选特征数据对应的N个位置标识发送至所述CPU;所述CPU从内存存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据。本申请可以采用CPU和GPU同步存储方式来根据两者内存大小保存不同精度的特征数据,由于GPU浮点数运算性能远高于CPU,因此可以利用GPU进行高并发的初步特征对比,得到N个候选特征数据,再利用CPU进行高精度的特征对比,得到最终M个目标特征数据,这样,本申请实施例可以充分利用CPU和GPU异构的处理优势,在提高任务吞吐量的同时提升计算精度。
附图说明
图1为本申请示例性的一种CPU和GPU异构系统结构示意图;
图2为本申请示例性的一种特征比对方法的实施例流程图;
图3为本申请示例性的待处理数据的处理的示意图;
图4为本申请示例性的特征比对交互示意图;
图5为本申请一种电子设备的一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请提供一种特征比对方法及电子设备,可以使所述CPU将待处理数据输入已训练的多级网络模型,计算得到第一特征数据,并将所述第一特征数据储存到内存中,再将所述第一特征数据输入已训练的网络裁剪模型,对所述第一特征数据进行裁剪得到第二特征数据,将所述第二特征数据发送给所述GPU;GPU从显存存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,将所述N个候选特征数据对应的位置标识发送至所述CPU;所述CPU从内存存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据。本申请可以采用CPU和GPU同步存储方式来根据两者内存大小保存不同精度的特征数据,由于GPU浮点数运算性能远高于CPU,因此可以利用GPU进行高并发的初步特征对比,得到N个候选特征数据,再利用CPU进行高精度的特征对比,得到最终M个目标特征数据,本申请实施例可以充分利用CPU和GPU异构的处理优势,在提高任务吞吐量的同时提升计算精度。
请参见图1,为本申请示例性的一种CPU和GPU异构系统结构示意图,其中包括CPU和GPU,其中所述CPU包括计算资源,CPU可以通过调用内存存储的数据进行计算;所述GPU中包括计算资源,所述GPU以通过调用显存存储的数据进行计算。在CPU和GPU的异构系统中,内存资源和显存资源为同步操作,即内存的位置中每存储一个数据,该显存对应的位置中也会存储一个数据;CPU和GPU的计算资源为异步操作。CPU和GPU异构系统的具体调整比较过程如下面实施例所示。
请参见图2,为本申请示例性的一种特征比对方法的实施例流程图,所述方法应用于电子设备,所述电子设备至少包括CPU和GPU,其中该方法包括以下步骤:
步骤201、所述CPU将待处理数据输入已训练的多级网络模型,以由所述多级网络模型对输入的目标数据进行网络计算得到第一特征数据,将所述第一特征数据储存到内存中;
在本实施例中,当电子设备收到待处理数据时,可以使CPU将该待处理数据输入到预训练的多级网络模型中进行处理。该多级网络模型的处理过程如图3所示,其中首先CPU将待处理数据文件输入到已训练的的多级网络模型中,该多级网络模型对输入的目标数据可以进行网络计算,从而得到第一特征数据,将所述第一特征数据储存到内存中,记录第一特征数据在内存中的位置标识,例如地址信息,或者位置编号等。
步骤202、所述CPU将所述第一特征数据输入已训练的网络裁剪模型,以由所述网络裁剪模型对输入的所述第一特征数据进行裁剪得到第二特征数据,将所述第二特征数据发送给所述GPU;
在本实施例中,由所述多级网络模型得到第一特征数据之后,CPU进一步可以将该第一特征数据输入到已训练的网络剪裁模型中,通过所述网络裁剪模型对输入的所述第一特征数据进行裁剪得到第二特征数据,由于第二特征数据是该第一特征数据经过剪裁得到的,那么该第二特征数据的数据量要小于第一特征数据。之后,CPU可以将得到的所述第二特征数据发送给所述GPU。
在一个例子中,该电子设备可以在输入待处理数据之前,可以预先处理一些样本数据,作为待处理数据的特征比对依据。电子设备处理参考数据的过程与图3所示的处理所述待处理数据的过程类似,即,CPU先将样本数据输入到已训练的已多级网络模型中,以由所述多级网络模型对输入的参考数据进行网络计算得到作为第一特征数据的比对依据的第一参考特征数据;再将所述第一参考特征数据输入已训练的网络裁剪模型,以由所述网络裁剪模型对输入的所述第一参考特征数据进行裁剪得到作为第二特征数据比对依据的第二参考特征数据。由于第二参考特征数据是该第一参考特征数据经过剪裁得到的,因此第二参考特征数据的数据量相比于第一参考特征数据要更小。CPU可以将第一参考特征数据保存在内存中,并将该第二参考特征数据发送到GPU,由该GPU将该第二参考特征数据保存在显存中,并且第一参考特征数据和第二参考特征数据是同步存储因此它们对应的位置标识相同。
需要说明的是,在本申请中,电子设备中设置有内存、CPU和显卡,该显卡中包括GPU以及显存,其中CPU与所述内存通过内部总线相连接,CPU可以通过内部总线调用内存中存储的数据,而GPU与显存也通过内部总线相连接,GPU可以通过内部总线调用显存中存储的数据。由于本申请考虑到电子设备中通常内存存储资源较多,而显存存储资源较少的特点,因此可以将数据量较大的第一参考特征数据存储在内存中;而将数据量相对较小的第二参考特征数据存储在GPU的显存中。在本申请的CPU和GPU的异构系统中,内存资源和显存资源为同步操作,即内存的位置中每存储一个数据,该显存对应的位置中也会存储一个数据,也就是说,当CPU在内存的指定位置中存储一个第一参考特征数据时,GPU在显存的该指定位置相对应的位置中也会存储该第一参考特征数据对应的第二参考特征数据。在本实施例中,可以进一步的为内存存储的位置和显存存储的位置配置相同的位置标识,例如地址信息或者位置编号等,从而可以通过位置标识来查找内存及者显存中对应的数据。
由于所述GPU的显存存储容量有限且价格远高于内存价格,因此本方法在不外扩显存但可以外扩内存的情况下,采用内存中存储数据量较大的参考特征数据,所述GPU的显存存储数据量较小的参考特征数据的存储方式,可以在显存资源有限的情况下,在显存中存储的参考特征数据的存储量得到很大的提升,从而可以在GPU进行特征比对时可以参考的特征数据更加全面,得到的比对结果更加准确。
步骤203、所述GPU从显存存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,所述显存存储的特征数据是将样本数据输入至所述多级网络模型、所述网络裁剪模型得到的数据,将所述N个候选特征数据对应的N个位置标识发送至所述CPU;
在本实施例中,当GPU得到第二特征数据后,可以从显存存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,其中,显存存储的特征数据是将样本数据输入至所述多级网络模型、所述网络裁剪模型得到的数据,例如,上述实施例中所说的将样本数据输入至多级网络模型和网络剪裁模型后得到的用于作为第二特征数据参考依据的第二参考特征数据,所述显存中可以预先保存这些第二参考特征数据,当收到待处理数据处理得到的第二特征数据时,GPU可以将显存中的第二参考特征数据与第二特征数据进行特征比较,得到N个候选特征数据。之后GPU获取所述N个候选特征数据对应的N个位置标识发送至所述CPU。
作为一个实施例,GPU可以分别计算所述显存存储的每一特征数据与第二特征数据的相似度;按照相似度由高到低排序,从该相似度排序中选择前N个相似度对应的特征数据作为所述N个候选特征数据。
由于GPU的高并发性,GPU在进行特征比对时,可以并行多个线程,如图1中所示的GPU计算资源中的线程1至线程n都可以并发执行特征对比任务,从而可以提高比较效率。
步骤204、所述CPU从内存存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据。
在本实施例中,当CPU收到GPU发送的所述N个候选特征数据对应的N个位置标识后,从内存中获取所述N个位置标识对应的N个特征数据作为所述N个候选特征数据的N个参考特征数据,并基于N个参考特征数据与内存存储的第一特征数据进一步进行特征比对,选择与第一特征数据相似的M个目标特征数据,最终输出这M个目标特征数据,该M小于等于N。因此本申请可以在GPU进行特征对比选出N个候选特征数据,再由CPU仅从内存中针对这N个候选特征数据对应的N个参考特征数据与第一特征数据进行更全面的特征对比,选择出M个目标特征数据,从而可以缩小CPU的特征比较的范围,减少CPU的计算量,提升CPU的处理效率。
作为一个实施例,CPU可以针对每一候选特征数据,依据预先建立的显存中特征数据与位置标识以及与内存中的特征数据的对应关系,从所述内存中获取所述位置标识对应的特征数据,将获取的特征数据作为该候选特征数据的参考特征数据。
CPU从内存存储的特征数据中查找到N个参考特征数据后,可以进一步从N个参考特征数据中选择出与所述第一特征数据相似的M个目标特征数据,M小于等于N。具体来讲,CPU可以分别计算所述N个参考特征数据与第一特征数据的相似度;按照相似度由高到低排序,从排序的N个相似度中选择前M个相似度对应的参考特征数据作为所述M个目标特征数据,M小于等于N。
在本实施例中,由于电子设备中CPU可使用的内存资源大于GPU可以使用的显存资源,因此可以利用该内存存储未剪裁的参考特征数据,该未剪裁的参考特征数据的数据信息更全面,因此相对于显存中存储的剪裁过的参考特征数据,在内存存储为剪裁过的参考特征数据会使最终得到的特征比对结果会更加精确。因此本申请可以利用内存资源比显存资源充足且成本低的特点,在内存中存储精度高的参考特征数据而在显存存储精度低的参考特征数据,从而可以在不扩大显存的情况下提高存储的参考特征数据的数量及精度。并且本申请可以在内存中和显存中同步存储特征数据,内存中的特征数据和显存中的特征数据的位置标识相同,从而CPU可以通过GPU发送的位置标识来读取内存中的数据,从而提升了数据获取速率。
相比于依赖单一的处理器进行特征比较,由于GPU可以提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算,且具有更高的浮点运算能力。因此本申请先通过GPU从数量较多的参考特征数据中进行“海选”,得到的第二特征数据对应的N个候选特征数据,再通过CPU从N个候选特征数据对应的N个参考特征数据中“精选”出与第一特征数据对应的M个目标特征数据。由此可见,本申请通过采用CPU和GPU异步方式,通过GPU开启多个线程处理单一任务的全量特征数据比对,再利用CPU的高精度运算,得到精度较高的输出结果,从而可以实现CPU和GPU资源的充分利用,大大提高任务吞吐量和计算精度。
为了进一步说明本申请的特征比对过程,请结合图3和图4对本申请基于CPU和GPU异构的方式进行特征对比处理过程进行详细说明。
当有待检测特征数据输入到该电子设备,可以先根据图3所示数据处理过程对待处理数据进行计算。其中包括:
CPU将待处理数据输入已训练的多级网络模型,经过所述多级网络模型对所述待处理数据进行网络计算得到第一特征数据;然后将所述第一特征数据输入已训练的网络裁剪模型,经过所述网络裁剪模型对输入的所述第一特征数据进行裁剪得到第二特征数据。CPU将第一特征数据存储在内存中,第二特征数据发送至GPU,以使GPU将第二特征数据存储在显存中,该第一特征数据在内存中的位置标识与第二特征数据在显存中的位置标识相同。
需要说明的是,如图4所示的电子设备的CPU和GPU的异构结构,其中包括GPU的显存和计算资源以及CPU对应的内存和CPU的计算资源,假设有一千万个参考数据,则对于这一千万个参考数据的处理方法与图3中处理待处理数据的方法相似,具体为:CPU将一千万个参考数据到已训练的多级网络模型中的,则经过多级网络模型对所述特征数据进行计算得到一千万个特征数据,作为第一特征数据库,再将第一特征数据库中的特征数据输入已训练的网络裁剪模型,经过所述网络裁剪模型计算得到一千万个剪裁后的特征数据,作为第二特征数据库。CPU将第一特征数据库保存在内存中,并将第二特征数据库发送给GPU,GPU将该第二特征数据库保存在显存中,内存中的特征数据和显存中对应的特征数据具有相同的位置标识。
图3中对待处理数据计算完成后,GPU和CPU的特征比对过程如图4所示,具体包括:
GPU先将显存存储的第二特征数据与预先存储的具有一千万个参考特征数据的第二特征数据库中的特征数据进行特征比对。GPU可以通过多线程并发处理,将每个参考特征数据与第二特征数据进行碰撞比对,得到每个参考特征数据对应的相似度。GPU对相似度进行由高到低的排序,从排序中选择出与所述第二特征数据相似的N个候选特征数据,例如获取TOP10000(前10000)个候选特征数据;然后GPU将这TOP10000个候选特征数据对应的位置标识发送到CPU。
CPU从内存中获取所述第一特征数据,以及这10000个候选特征数据的位置标识对应的10000个参考特征数据,这10000个参考特征数据是从内存中预先存储一千万个参考特征数据中基于位置标识获取的特征数据,之后,CPU再将10000个参考特征数据分别与第一特征数据进行碰撞比对,将得到的10000个参考特征数据对应的相似度进行由高到低的排序,从排序中选择TOP10个目标特征数据作为最终的输出结果。
因此本申请中的GPU可以从一千万个特征数据中筛选出的10000个特征数据的位置标识发送给CPU,使CPU只针对这10000个特征数据进行高精度的特征比较,从而可以减少CPU的比较范围,提高CPU的任务吞吐量和计算精度。
上述实施例中的数值均为示例性说明,具体数值选取可以根据实际需求而定。
本申请实施例可以采用CPU和GPU同步存储方式来根据两者内存大小保存不同精度的特征数据,由于GPU浮点数运算性能远高于CPU,因此可以采用CPU运算和GPU运算采用异步方式,利用GPU进行高并发的初步特征对比,得到候选特征数据,再利用CPU进行高精度的特征对比,得到最终的目标特征数据,因此本申请可以充分利用CPU和GPU的优势,在提高任务吞吐量的同时提升计算精度。
与前述特征比对方法的实施例相对应,本申请还提供了用于执行上述特征比对方法的电子设备的实施例。
作为一个实施例,请参考图5,一种电子设备,包括CPU(中央处理器)51、通信接口52、显卡53、内存55和通信总线54,该显卡中包括GPU(图形处理器)531和显存532,GPU531和显存532通过内部总线连接;
其中,所述CPU 51、通信接口52、GPU 531、内存55通过所述通信总线54进行相互间的通信;
所述CPU51,用于将待处理数据输入已训练的多级网络模型,以由所述多级网络模型对输入的目标数据进行网络计算得到第一特征数据,将所述第一特征数据储存到内存55中;将所述第一特征数据输入已训练的网络裁剪模型,以由所述网络裁剪模型对输入的所述第一特征数据进行裁剪得到第二特征数据,将所述第二特征数据发送给所述GPU531;
所述GPU531,用于从所述GPU531的显存532存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,所述GPU531的显存532存储的特征数据是将样本数据输入至所述多级网络模型、所述网络裁剪模型得到的数据,将所述N个候选特征数据对应的N个位置标识发送至所述CPU51;
所述CPU51,还用于从内存55存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据。
作为一个实施例,所述GPU531,具体用于分别计算所述显存532存储的每一特征数据与第二特征数据的相似度;按照相似度由高到低排序,从排序中选择前N个相似度对应的特征数据作为所述N个候选特征数据。
作为一个实施例,所述CPU51,具体从内存中获取所述N个位置标识对应的N个特征数据作为所述N个候选特征数据的N个参考特征数据;从N个参考特征数据中选择与所述第一特征数据相似的M个目标特征数据,M小于等于N。
作为一个实施例,所述CPU51,具体用于针对每一候选特征数据,依据预先建立的显存中特征数据与位置标识以及与内存中的特征数据的对应关系,从所述内存中获取所述位置标识对应的特征数据,将获取的特征数据作为该候选特征数据的参考特征数据。
作为一个实施例,所述CPU51,具体用于分别计算所述N个参考特征数据与第一特征数据的相似度;按照相似度由高到低排序,从排序中选择前M个相似度对应的参考特征数据作为所述M个目标特征数据。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
与前述特征比对方法的实施例相对应,本申请还提供了用于执行上述特征比对方法的计算机可读存储介质的实施例。
作为一个实施例,本申请还包括一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现特征比对方法的任一步骤。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例以及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
综上所述,本申请可以使所述CPU将待处理数据输入已训练的多级网络模型,计算得到第一特征数据,并将所述第一特征数据储存到内存中,再将所述第一特征数据输入已训练的网络裁剪模型,对所述第一特征数据进行裁剪得到第二特征数据,将所述第二特征数据发送给所述GPU;GPU从显存存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,将所述N个候选特征数据对应的位置标识发送至所述CPU;所述CPU从内存存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据。本申请可以采用CPU和GPU同步存储方式来根据两者内存大小保存不同精度的特征数据,由于GPU浮点数运算性能远高于CPU,因此可以利用GPU进行高并发的初步特征对比,得到N个候选特征数据,再利用CPU进行高精度的特征对比,得到最终M个目标特征数据,可以充分利用CPU和GPU异构的处理优势,在提高任务吞吐量的同时提升计算精度。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种特征比对方法,其特征在于,所述方法应用于电子设备,所述电子设备至少包括:中央处理器CPU和图形处理器GPU;所述方法包括:
所述CPU将待处理数据输入已训练的多级网络模型,以由所述多级网络模型对输入的目标数据进行网络计算得到第一特征数据,将所述第一特征数据储存到内存中;
所述CPU将所述第一特征数据输入已训练的网络裁剪模型,以由所述网络裁剪模型对输入的所述第一特征数据进行裁剪得到第二特征数据,将所述第二特征数据发送给所述GPU;
所述GPU从显存存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,所述显存存储的特征数据是将样本数据输入至所述多级网络模型、所述网络裁剪模型得到的数据,将所述N个候选特征数据对应的N个位置标识发送至所述CPU;
所述CPU从内存存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据。
2.根据权利要求1所述的方法,其特征在于,所述GPU从显存存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,包括:
所述GPU分别计算所述显存存储的每一特征数据与第二特征数据的相似度;
按照相似度由高到低排序,从排序中选择前N个相似度对应的特征数据作为所述N个候选特征数据。
3.根据权利要求1所述的方法,其特征在于,所述CPU从内存存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据,包括:
从内存中获取所述N个位置标识对应的N个特征数据作为所述N个候选特征数据的N个参考特征数据;
从N个参考特征数据中选择与所述第一特征数据相似的M个目标特征数据,M小于等于N。
4.根据权利要求3所述的方法,其特征在于,从内存中获取所述N个位置标识对应的N个特征数据作为所述N个候选特征数据的N个参考特征数据,包括:
针对每一候选特征数据,依据预先建立的显存中特征数据与位置标识以及与内存中的特征数据的对应关系,从所述内存中获取所述位置标识对应的特征数据,将获取的特征数据作为该候选特征数据的参考特征数据。
5.根据权利要求3所述的方法,其特征在于,从N个参考特征数据中选择与所述第一特征数据相似的M个目标特征数据,M小于等于N,包括:
分别计算所述N个参考特征数据与第一特征数据的相似度;
按照相似度由高到低排序,从排序中选择前M个相似度对应的参考特征数据作为所述M个目标特征数据。
6.一种电子设备,其特征在于,所述电子设备至少包括:中央处理器CPU和图形处理器GPU,其中:
所述CPU,用于将待处理数据输入已训练的多级网络模型,以由所述多级网络模型对输入的目标数据进行网络计算得到第一特征数据,将所述第一特征数据储存到内存中;将所述第一特征数据输入已训练的网络裁剪模型,以由所述网络裁剪模型对输入的所述第一特征数据进行裁剪得到第二特征数据,将所述第二特征数据发送给所述GPU;
所述GPU,用于从显存存储的特征数据中选择出与所述第二特征数据相似的N个候选特征数据,所述显存存储的特征数据是将样本数据输入至所述多级网络模型、所述网络裁剪模型得到的数据,将所述N个候选特征数据对应的N个位置标识发送至所述CPU;
所述CPU,还用于从内存存储的所述N个位置标识所对应的特征数据中选择出与第一特征数据相似的M个目标特征数据。
7.根据权利要求6所述的电子设备,其特征在于,
所述GPU,具体用于分别计算所述显存存储的每一特征数据与第二特征数据的相似度;按照相似度由高到低排序,从排序中选择前N个相似度对应的特征数据作为所述N个候选特征数据。
8.根据权利要求6所述的电子设备,其特征在于,
所述CPU,具体用于从内存中获取所述N个位置标识对应的N个特征数据作为所述N个候选特征数据的N个参考特征数据;从N个参考特征数据中选择与所述第一特征数据相似的M个目标特征数据,M小于等于N。
9.根据权利要求8所述的电子设备,其特征在于,
所述CPU,具体用于针对每一候选特征数据,依据预先建立的显存中特征数据与位置标识以及与内存中的特征数据的对应关系,从所述内存中获取所述位置标识对应的特征数据,将获取的特征数据作为该候选特征数据的参考特征数据。
10.根据权利要求8所述的电子设备,其特征在于,
所述CPU,具体用于分别计算所述N个参考特征数据与第一特征数据的相似度;按照相似度由高到低排序,从排序中选择前M个相似度对应的参考特征数据作为所述M个目标特征数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910368661.2A CN111898747B (zh) | 2019-05-05 | 2019-05-05 | 一种特征比对方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910368661.2A CN111898747B (zh) | 2019-05-05 | 2019-05-05 | 一种特征比对方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111898747A CN111898747A (zh) | 2020-11-06 |
CN111898747B true CN111898747B (zh) | 2023-06-30 |
Family
ID=73169244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910368661.2A Active CN111898747B (zh) | 2019-05-05 | 2019-05-05 | 一种特征比对方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111898747B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112446816B (zh) * | 2021-02-01 | 2021-04-09 | 成都点泽智能科技有限公司 | 显存动态数据存储方法、装置及服务器 |
CN113963197A (zh) * | 2021-09-29 | 2022-01-21 | 北京百度网讯科技有限公司 | 图像识别方法、装置、电子设备和可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559017A (zh) * | 2013-10-23 | 2014-02-05 | 东软集团股份有限公司 | 基于gpu异构计算平台的字符串匹配方法及系统 |
CN104849698A (zh) * | 2015-05-21 | 2015-08-19 | 中国人民解放军海军工程大学 | 一种基于异构多核系统的雷达信号并行处理方法及系统 |
CN105678680A (zh) * | 2015-12-30 | 2016-06-15 | 魅族科技(中国)有限公司 | 一种图像处理的方法和装置 |
CN106019858A (zh) * | 2016-07-22 | 2016-10-12 | 合肥芯碁微电子装备有限公司 | 一种基于cuda技术的直写式光刻机图像数据按位压缩方法 |
CN106547744A (zh) * | 2015-09-16 | 2017-03-29 | 杭州海康威视数字技术股份有限公司 | 一种图像检索方法及系统 |
CN108287985A (zh) * | 2018-01-24 | 2018-07-17 | 深圳大学 | 一种gpu加速的dna序列压缩方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6862027B2 (en) * | 2003-06-30 | 2005-03-01 | Microsoft Corp. | System and method for parallel execution of data generation tasks |
US9075560B2 (en) * | 2009-12-10 | 2015-07-07 | Microsoft Technology Licensing, Llc | Real-time compression with GPU/CPU |
-
2019
- 2019-05-05 CN CN201910368661.2A patent/CN111898747B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559017A (zh) * | 2013-10-23 | 2014-02-05 | 东软集团股份有限公司 | 基于gpu异构计算平台的字符串匹配方法及系统 |
CN104849698A (zh) * | 2015-05-21 | 2015-08-19 | 中国人民解放军海军工程大学 | 一种基于异构多核系统的雷达信号并行处理方法及系统 |
CN106547744A (zh) * | 2015-09-16 | 2017-03-29 | 杭州海康威视数字技术股份有限公司 | 一种图像检索方法及系统 |
CN105678680A (zh) * | 2015-12-30 | 2016-06-15 | 魅族科技(中国)有限公司 | 一种图像处理的方法和装置 |
CN106019858A (zh) * | 2016-07-22 | 2016-10-12 | 合肥芯碁微电子装备有限公司 | 一种基于cuda技术的直写式光刻机图像数据按位压缩方法 |
CN108287985A (zh) * | 2018-01-24 | 2018-07-17 | 深圳大学 | 一种gpu加速的dna序列压缩方法及系统 |
Non-Patent Citations (3)
Title |
---|
Dorefa-net: Training low bitwidth convolutional neural networks with low bitwidth gradients;Zhou S, et al;arXiv preprint arXiv:1606.06160;第1-13页 * |
Towards faster training of global covariance pooling networks by iterative matrix square root normalization;Li P, et al;Proceedings of the IEEE conference on computer vision and pattern recognition;第947-955页 * |
面向大规模三维地形构建的高性能计算支撑技术研究;郭浩然;解放军信息工程大学;第1-150页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111898747A (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106453437B (zh) | 一种设备识别码获取方法及装置 | |
CN110287942B (zh) | 年龄估计模型的训练方法、年龄估计方法以及对应的装置 | |
CN111898747B (zh) | 一种特征比对方法及电子设备 | |
WO2022134881A1 (en) | Data processing method, data processing apparatus, computer device, and non-transitory storage medium | |
WO2020134819A1 (zh) | 一种搜索人脸的方法及相关装置 | |
CN109800078B (zh) | 一种任务处理方法、任务分发终端及任务执行终端 | |
CN112965809A (zh) | 深度学习任务处理系统和方法 | |
CN110968723B (zh) | 一种图像特征值的搜索方法、装置及电子设备 | |
CN110895533A (zh) | 一种表单映射方法、装置、计算机设备和存储介质 | |
US20210390802A1 (en) | Method, Computer Program And Device For Processing Signals | |
CN114049172A (zh) | 物品推荐排序方法、装置、计算机设备及存储介质 | |
CN113204642A (zh) | 文本聚类方法、装置、存储介质和电子设备 | |
CN111221827B (zh) | 基于图形处理器的数据库表连接方法、装置、计算机设备和存储介质 | |
CN112765876A (zh) | 机械设计方案推荐方法、装置及电子设备 | |
CN113971224A (zh) | 图像检索系统、方法和相关设备 | |
CN111752715A (zh) | 大量请求量下的系统优化方法、装置、设备及存储介质 | |
WO2023071566A1 (zh) | 数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品 | |
CN112818007B (zh) | 数据处理方法、装置及可读存储介质 | |
CN115687352A (zh) | 一种存储的方法及装置 | |
CN113111078B (zh) | 资源数据处理方法、装置、计算机设备和存储介质 | |
CN109388500B (zh) | 一种基于无线测量报告mr的处理方法及系统 | |
CN113343646A (zh) | 数据转换方法和装置 | |
CN112668597B (zh) | 一种特征比对方法、装置及设备 | |
CN112100446A (zh) | 搜索方法、可读存储介质和电子设备 | |
CN109947469B (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 |