CN110955530A - 深度学习引擎并行处理数据方法、装置、设备及储存介质 - Google Patents

深度学习引擎并行处理数据方法、装置、设备及储存介质 Download PDF

Info

Publication number
CN110955530A
CN110955530A CN202010114094.0A CN202010114094A CN110955530A CN 110955530 A CN110955530 A CN 110955530A CN 202010114094 A CN202010114094 A CN 202010114094A CN 110955530 A CN110955530 A CN 110955530A
Authority
CN
China
Prior art keywords
data sets
node
sets
engines
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.)
Pending
Application number
CN202010114094.0A
Other languages
English (en)
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 Corerain Technologies Co Ltd
Original Assignee
Shenzhen Corerain Technologies Co Ltd
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 Corerain Technologies Co Ltd filed Critical Shenzhen Corerain Technologies Co Ltd
Priority to CN202010114094.0A priority Critical patent/CN110955530A/zh
Publication of CN110955530A publication Critical patent/CN110955530A/zh
Pending legal-status Critical Current

Links

Images

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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • 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)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Processing (AREA)

Abstract

本申请实施例公开了一种深度学习引擎并行处理数据方法、装置、设备及储存介质,本申请公开了一种深度学习引擎并行处理数据方法,该方法包括:获取存储的多个数据集、参数集和偏置集;对所述多个数据集分流为多个节点数据集;基于所述参数集对所述多个节点数据集进行预处理;基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果。本申请实施例提供的一种深度学习引擎并行处理数据方法,在硬件数据流架构引入多引擎加速方法,减少器件的资源浪费,加快了AI的数据流硬件加速计算,对数据集进行多输入多输出的数据流AI硬件加速。

Description

深度学习引擎并行处理数据方法、装置、设备及储存介质
技术领域
本发明涉及深度学习计算技术领域,尤其涉及深度学习引擎并行处理数据方法、装置、设备及储存介质。
背景技术
近年来人工智能(Artificial Intelligence,AI)不断的爆发热潮,与设备计算能力,深度学习网络结构的发展分不开。在整个网络的计算都使用浮点计算的情况下,会对中央处理器(Central Processing Unit,CPU)造成很大的计算依赖。如果可以把数据由浮点转换成定点值,在硬件设备并行处理定点计算,则可提高网络计算能力。
数据流的固定处理流结构,导致对网络处理的灵活性大打折扣。市场上大部分的AI加速使用指令集的方式。以指令集的方式,适配多种网络的加速配置。在AI数据流硬件加速的过程中,把参考数据,参考参数输入到固化的引擎计算,得到实际结果。在相关技术中,若数据流的固定处理流结构针对不同的器件,会造成资源浪费,数据流的引擎只能处理单个数据集,对于输入的多个数据,需要排队处理。
发明内容
本申请提供一种深度学习引擎并行处理数据方法、装置、设备及储存介质,以实现AI的数据流硬件加速计算。
在一实施例中,本申请实施例提供了一种深度学习引擎并行处理数据方法,该方法包括:
获取存储的多个数据集、参数集和偏置集;
将所述多个数据集分流为多个节点数据集;
基于所述参数集对所述多个节点数据集进行预处理;
基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果。
可选的,所述参数集用于在深度学习模型中调整所述多个数据集的权重,所述偏置集用于在深度学习模型中调整深度学习模型中的数据与实际数据的误差。
可选的,所述基于多个计算引擎根据所述参数集和所述偏置集对所述多个节点数据集进行同时计算以并行输出多个计算结果,包括:
获取计算引擎的数量;
根据所述计算引擎的数量按照预设规则根据所述参数集和所述偏置集同时对所述多个节点数据集进行计算以并行输出多个计算结果。
可选的,所述预设规则包括:
判断所述计算引擎的数量是否大于所述节点数据集的数量;
响应于所述计算引擎的数量大于所述节点数据集的数量的判断结果,使用与所述节点数据集的数量具有相同数量的计算引擎。
可选的,在所述判断所述计算引擎的数量是否大于所述节点数据集的数量之后,还包括:
响应于所述计算引擎的数量小于所述节点数据集的数量的判断结果,使用与所述计算引擎的数量具有相同数量的节点数据集;
继续执行判断所述计算引擎的数量是否大于所述节点数据集的数量;响应于所述计算引擎的数量大于所述节点数据集的数量的判断结果,使用与所述节点数据集的数量具有相同数量的计算引擎;
直至所述多个节点数据集全部计算完成。
可选的,在所述基于多个计算引擎根据所述参数集和所述偏置集对所述多个节点数据集进行同时计算以并行输出多个计算结果之后,还包括:对所述多个计算结果调整并存储,所述调整包括下述之一:调整输出位置;调整数据结构。
在一实施例中,本申请实施例还提供了一种深度学习引擎并行处理数据装置,该装置包括:
存储模块,设置为获取存储的多个数据集、参数集和偏置集;
调度模块,设置为将所述多个数据集分流为多个节点数据集;
处理模块,设置为基于所述参数集对所述多个节点数据集进行预处理;
计算模块,设置为基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果。
在一实施例中,本申请实施例还提供了一种设备,该设备包括:一个或多个处理器;
存储装置,设置为存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一所述的方法。
在一实施例中,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,所述计算机程序包括程序指令,该程序指令被处理器执行时实现如上述任一所述的方法。
本申请实施例公开了一种深度学习引擎并行处理数据方法、装置、设备及储存介质,本申请公开了一种深度学习引擎并行处理数据方法,该方法包括:获取存储的多个数据集、参数集和偏置集;对所述多个数据集分流为多个节点数据集;基于所述参数集对所述多个节点数据集进行预处理;基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果。本申请实施例提供的一种深度学习引擎并行处理数据方法,在硬件数据流架构引入多引擎加速方法,减少器件的资源浪费,加快了AI的数据流硬件加速计算,对数据集进行多输入多输出的数据流AI硬件加速。
附图说明
图1是本申请实施例中一种深度学习引擎并行处理数据方法的流程示意图;
图2是本申请实施例中另一种深度学习引擎并行处理数据方法的流程示意图;
图3是本申请实施例中一种深度学习引擎并行处理数据装置的结构示意图;
图4是本申请实施例中一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请进行说明。此处所描述的实施例仅仅用于解释本申请,而非对本申请的限定。为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将多个步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,多个步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述多种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确限定。
实施例一
图1为本申请实施例提供的一种深度学习引擎并行处理数据方法的流程图,适用于使用多个引擎同时处理多个数据集的情况,包括步骤100至步骤130。
步骤100、获取存储的多个数据集、参数集和偏置集。
本实施例中,在深度学习的过程中,通过大量的数据集对神经网络进行训练使神经网络达到要求的模型形式。数据集为大量数据的集合,一般以矩阵形式输入到神经网络中,输入的数据为图像,图像在计算机中表示为一个大的三维数字数组。示例性的,一幅图像是248像素宽,400像素高,并且具有三个颜色通道红色,绿色,蓝色(RedGreenBlue,RGB)。因此,图像由248*400*3个数字组成,或总共297600个数字。每个数字都是一个整数,范围从0(黑色)到255(白色)。参数集和偏置集是在神经网络模型通过大量的训练数据计算和反向调节从而推导得出的参数,参数集和偏置集的数值在神经网络不断的训练过程中不断地更新。在本实施例中,在数据集的计算前,在神经网络中获取多个数据集和与多个数据集对应的参数集和偏置集,获取完毕后准备输入计算引擎对多个数据集进行计算,本实施例中的计算引擎相当于AI网络加速器,可以是现场可编程门阵列(FieldProgrammableGateArray,FPGA)器件,由专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)实现,在此不做限定。
在其他替代实施例中,所述参数集用于在深度学习模型中调整所述多个数据集的权重,所述偏置集用于在深度学习模型中调整深度学习模型中的数据与实际数据的误差。偏置集可以在深度学习模型中调整目标值和实际值的误差。
其中,多个引擎可共享参数集和偏置集,即不同的数据集可同时使用相同的参数集和偏置集。在深度学习神经网络模型中,每个神经元的计算传递中,接收多个前层神经元的输出,但每个前层神经元乘一个权重系数,因为是线性变换,该权重系数就是参数集,参数集在神经网络的训练过程中可以不断更新完善,使其更加符合模型需求。而偏置集调整神经网络模型中的数据和实际数据之间可能产生的固有误差,数据集通过参数集和偏置集的调整之后,通过激活函数即能输出计算结果。
步骤110、将所述多个数据集分流为多个节点数据集。
本实施例中,当大量的数据集,参数集和偏置集输入到硬件中时,计算引擎会根据数据集的矢量数和计算引擎数量调整数据的维度,形状和存放位置,将多个数据集分流为多个节点数据集,多个节点数据集在多个计算引擎中同时进行计算处理,通过对多个数据集的分流保证尽量多的计算引擎同时对数据进行处理,提高了数据的处理速度,保证了多个计算引擎以最高的效率对数据集进行处理。
步骤120、基于所述参数集对所述多个节点数据集进行预处理。
本实施例中,数据集的预处理有多种形式,例如平均减法、标准化和主成分分析(PrincipalComponentsAnalysis,PCA)与白化等等,在本实施例中以平均减法为例。平均减法是最常见的预处理形式。它涉及减去数据中每个特征的均值,并具有几何解释,即沿着每个维度围绕原点围绕数据云。在数据中,此操作实现为:X-=np.mean(X,axis=0)。其中,np.mean()函数为取均值函数,axis=0,是对各列求均值,该函数返回1*n矩阵,在一实施例中,对于图像,为了方便起见,通常从所有像素(例如X-=np.mean(X))中减去单个值,或者在三个颜色通道中单独地这样做。通过参数集对数据集进行预处理,将每个数据的像素进行归一化,保证了数据的准确处理速度。
步骤130、基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果。
本实施例中,多个计算引擎同时对多个节点数据集进行计算,在神经网络的计算过程中,每个神经元在接收多个前层神经元的输出之前乘以对应的参数集,通过偏置集对多个节点数据集进行修正,根据神经网络的激活函数对多个节点数据进行计算,输出对应的计算结果。在一实施例中,多个计算引擎共用参数集和偏置集,能够同时处理多路数据,加快了AI的数据流硬件加速计算。
本申请实施例提供的一种深度学习引擎并行处理数据方法,通过获取存储的多个数据集、参数集和偏置集;将所述多个数据集分流为多个节点数据集;基于所述参数集对所述多个节点数据集进行预处理;基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果,在硬件数据流架构引入多引擎加速方法,减少器件的资源浪费,加快了AI的数据流硬件加速计算,对数据集进行多输入多输出的数据流AI硬件加速。
实施例二
图2为本申请实施例提供的另一种深度学习引擎并行处理数据方法的流程图,本实施例是在实施例一的基础上进行了拓展,在一实施例中,该方法包括:步骤200至步骤250。
步骤200、获取存储的多个数据集、参数集和偏置集。
步骤210、将所述多个数据集分流为多个节点数据集。
步骤220、基于所述参数集对所述多个节点数据集进行预处理。
步骤230、获取计算引擎的数量。
本实施例中,在对多个节点数据集进行分流之后,确定硬件设备中计算引擎的数量。计算引擎的数量越多,同时进行处理计算的节点数据集也就越多,提高了整体数据的处理速度;计算引擎的数量越少,同时能够处理的节点数据集也越少,其他没有处理的节点数据集等待前一批节点数据集处理完毕。在本实施例中,并不对计算引擎的数量做出限定,但是至少存在一个计算引擎对节点数据集进行计算处理,至少存在两个计算引擎对多个节点数据集同时进行计算处理。
步骤240、根据所述计算引擎的数量按照预设规则根据所述参数集和所述偏置集同时对所述多个节点数据集进行计算以并行输出多个计算结果。
本实施例中,多个计算引擎按照预先设定的规则同时对多个节点数据集进行计算,在神经网络的计算过程中,每个神经元在接收多个前层神经元的输出之前乘以对应的参数集,通过偏置集对多个节点数据进行修正,根据神经网络的激活函数对多个节点数据集进行计算,输出对应的计算结果。
在一实施例中,所述预设规则包括:判断所述计算引擎的数量是否大于所述节点数据集的数量;响应于所述计算引擎的数量大于所述节点数据集的数量的判断结果,使用与节点数据集的数量具有相同数量的计算引擎。
其中,如果计算引擎的数量大于节点数据集的数量,那么所有的节点数据集可以同时输入到神经网络进行计算。示例性的,若输入的节点数据集有10000个,硬件中存在的计算引擎的个数为12000个,那么同时使用10000个计算引擎对10000个节点数据集进行计算即可达到同时处理多个节点数据集的效果。
在一实施例中,响应于所述计算引擎的数量小于所述节点数据集的数量的判断结果,使用与所述计算引擎的数量具有相同数量的节点数据集;继续执行判断所述计算引擎的数量是否大于所述节点数据集的数量;响应于所述计算引擎的数量大于所述节点数据集的数量的判断结果,使用与节点数据集的数量具有相同数量的计算引擎;直至多个节点数据集全部计算完成。
其中,如果计算引擎的数量小于节点数据集的数量,那么利用所有计算引擎计算一部分节点数据集,该部分节点数据集的数量与计算引擎的数量相同,判断剩下没有处理的节点数据集数量,并重复以上过程。示例性的,若输入的节点数据集有10000个,硬件中存在的计算引擎的个数为4000个,那么会同时使用4000个计算引擎对4000个节点数据集同时进行计算。全部计算完毕后,剩下6000个节点数据集没有处理,此时使用4000个计算引擎对4000个节点数据集同时进行计算,剩下2000个节点数据集。使用2000个计算引擎同时计算余下的2000个节点数据集即可处理完所有节点数据集。该预设规则保证了所有引擎同时利用,提高了深度学习中神经网络的计算速度,减少硬件的资源浪费。
步骤250、对所述多个计算结果调整并存储。
在一实施例中,所述调整包括下述之一:调整输出位置;调整数据结构。
本实施例中,对多个计算引擎的结果进行调整,可同时输出多个计算结果到存储器。当单个计算引擎的运算结束后,会输出当前层的计算结果。如果是最后输出层,则调整计算结果的位置输出到外部。如果计算结果作为下一层的输入,适配调整数据的结构,这里相当于是一种线性转换,通过参数集的加入,对上一层的结构修改摆放顺序和位置,以满足下一层数据可以直接输入,而不需要额外的软件干预。
本申请实施例提供的方法,通过获取存储的多个数据集、参数集和偏置集;将所述多个数据集分流为多个节点数据集;基于所述参数集对所述多个节点数据集进行预处理;基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果,并且提供了多个计算引擎处理规则,在硬件数据流架构引入多引擎加速方法,减少器件的资源浪费,加快了AI的数据流硬件加速计算,对数据集进行多输入多输出的数据流AI硬件加速。
实施例三
本申请实施例所提供的用于深度学习引擎并行处理数据装置可执行本申请任意实施例所提供的方法,具备执行方法相应的功能模块和效果。图3是本申请实施例中的一种深度学习引擎并行处理数据装置300的结构示意图。参照图3,本申请实施例提供的深度学习引擎并行处理数据装置300可以包括:存储模块310、调度模块320、处理模块330以及计算模块340。
存储模块310,设置为获取存储的多个数据集、参数集和偏置集。
调度模块320,设置为将所述多个数据集分流为多个节点数据集。
处理模块330,设置为基于所述参数集对所述多个节点数据集进行预处理。
计算模块340,设置为基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果。
在一实施例中,所述参数集用于在深度学习模型中调整所述多个数据集的权重,所述偏置集用于在深度学习模型中调整深度学习模型中的数据与实际数据的误差。
在一实施例中,计算模块340还包括:
获取引擎数量子模块341,设置为获取计算引擎的数量。
计算子模块342,设置为根据所述计算引擎的数量按照预设规则根据所述参数集和所述偏置集同时对所述多个节点数据集进行计算以并行输出多个计算结果。
所述预设规则包括:
判断所述计算引擎的数量是否大于所述节点数据集的数量;
响应于所述计算引擎的数量大于所述节点数据集的数量的判断结果,使用与节点数据集的数量具有相同数量的计算引擎。
在所述判断所述计算引擎的数量是否大于所述节点数据集的数量之后,所述预设规则还包括:
响应于所述计算引擎的数量小于所述节点数据集的数量的判断结果,使用与所述计算引擎的数量具有相同数量的节点数据集;
继续执行判断所述计算引擎的数量是否大于所述节点数据集的数量;
响应于所述计算引擎的数量大于所述节点数据集的数量的判断结果,使用与节点数据集的数量具有相同数量的计算引擎;
直至所述多个节点数据集全部计算完成。
在一实施例中,还包括:
适配模块,设置为对所述多个计算结果调整并存储,所述调整包括下述之一:调整输出位置;调整数据结构。
本申请实施例提供的一种深度学习引擎并行处理数据装置,通过获取存储的多个数据集、参数集和偏置集;将所述多个数据集分流为多个节点数据集;将所述参数集对所述多个节点数据集进行预处理;基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果,在硬件数据流架构引入多引擎加速方法,减少器件的资源浪费,加快了AI的数据流硬件加速计算,对数据集进行多输入多输出的数据流AI硬件加速。
实施例四
图4为本申请实施例提供的一种计算机设备的结构示意图,该计算机设备可以包括多个计算引擎。如图4所示,该计算机设备包括存储器410、处理器420,计算机设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;设备中的存储器410、处理器420可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的方法对应的程序指令/模块(例如,用于深度学习引擎并行处理数据装置中的存储模块310、调度模块320、处理模块330、计算模块340)。处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行设备/终端/设备的多种功能应用以及数据处理,即实现上述方法。
其中,处理器420设置为运行存储在存储器410中的计算机程序,实现如下步骤:
获取存储的多个数据集、参数集和偏置集;
将所述多个数据集分流为多个节点数据集;
基于所述参数集对所述多个节点数据集进行预处理;
基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果。
在其中一个实施例中,本申请实施例所提供的一种计算机设备,其计算机程序不限于如上的方法操作,还可以执行本申请任意实施例所提供的方法。
存储器410可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至设备/终端/设备。上述网络的实例包括互联网、企业内部网、局域网、移动通信网及其组合。
该计算机设备包含多个计算引擎,多个计算引擎共用参数集和偏置集,能够同时处理多路数据,加快了AI的数据流硬件加速计算。
本申请实施例提供的设备,通过获取存储的多个数据集、参数集和偏置集;将所述多个数据集分流为多个节点数据集;基于所述参数集对所述多个节点数据集进行预处理;基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果,在硬件数据流架构引入多引擎加速方法,减少器件的资源浪费,加快了AI的数据流硬件加速计算,对数据集进行多输入多输出的数据流AI硬件加速。
实施例五
本申请实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行上述方法,该方法包括:
获取存储的多个数据集、参数集和偏置集;
将所述多个数据集分流为多个节点数据集;
基于所述参数集对所述多个节点数据集进行预处理;
基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果。
本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请实施例所提供的方法。
本申请实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者以上的组合。计算机可读存储介质包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RandomAccessMemory,RAM)、只读存储器(Read-OnlyMemory,ROM)、可擦式可编程只读存储器(ErasableProgrammableRead-OnlyMemory,EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CompactDiscReadOnlyMemory,CD-ROM)、光存储器件、磁存储器件、或者上述合适的组合。在本文件中,计算机可读存储介质可以是包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括电磁信号、光信号或上述合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的多种计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
存储介质上包含的程序代码可以用多种适当的介质传输,包括无线、电线、光缆、射频(RadioFrequency,RF)等等,或者上述合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过一种或多种网络——包括局域网(LocalAreaNetwork,LAN)或广域网(WideAreaNetwork,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本申请实施例提供的一种存储介质,通过获取存储的多个数据集、参数集和偏置集;将所述多个数据集分流为多个节点数据集;基于所述参数集对所述多个节点数据集进行预处理;基于多个计算引擎根据所述参数集和偏置集对多个节点数据集进行同时计算以并行输出多个计算结果,在硬件数据流架构引入多引擎加速方法,减少器件的资源浪费,加快了AI的数据流硬件加速计算,对数据集进行多输入多输出的数据流AI硬件加速。

Claims (10)

1.一种深度学习引擎并行处理数据方法,其特征在于,包括:
获取存储的多个数据集、参数集和偏置集;
将所述多个数据集分流为多个节点数据集;
基于所述参数集对所述多个节点数据集进行预处理;
基于多个计算引擎根据所述参数集和所述偏置集对所述多个节点数据集进行同时计算以并行输出多个计算结果。
2.根据权利要求1中所述的方法,其特征在于,所述参数集用于在深度学习模型中调整所述多个数据集的权重,所述偏置集用于在深度学习模型中调整深度学习模型中的数据与实际数据的误差。
3.根据权利要求1中所述的方法,其特征在于,所述基于多个计算引擎根据所述参数集和所述偏置集对所述多个节点数据集进行同时计算以并行输出多个计算结果,包括:
获取计算引擎的数量;
根据所述计算引擎的数量按照预设规则根据所述参数集和所述偏置集同时对所述多个节点数据集进行计算以并行输出多个计算结果。
4.根据权利要求3中所述的方法,其特征在于,所述预设规则包括:
判断所述计算引擎的数量是否大于所述节点数据集的数量;
响应于所述计算引擎的数量大于所述节点数据集的数量的判断结果,使用与所述节点数据集的数量具有相同数量的计算引擎。
5.根据权利要求4中所述的方法,其特征在于,在所述判断所述计算引擎的数量是否大于所述节点数据集的数量之后,还包括:
响应于所述计算引擎的数量小于所述节点数据集的数量的判断结果,使用与所述计算引擎的数量具有相同数量的节点数据集;
继续执行判断所述计算引擎的数量是否大于所述节点数据集的数量;响应于所述计算引擎的数量大于所述节点数据集的数量的判断结果,使用与所述节点数据集的数量具有相同数量的计算引擎;
直至所述多个节点数据集全部计算完成。
6.根据权利要求1中所述的方法,其特征在于,在所述基于多个计算引擎根据所述参数集和所述偏置集对所述多个节点数据集进行同时计算以并行输出多个计算结果之后,还包括:对所述多个计算结果调整并存储,所述调整包括下述之一:调整输出位置;调整数据结构。
7.一种深度学习引擎并行处理数据装置,其特征在于,包括:
存储模块,设置为获取存储的多个数据集、参数集和偏置集;
调度模块,设置为将所述多个数据集分流为多个节点数据集;
处理模块,设置为基于所述参数集对所述节点数据集进行预处理;
计算模块,设置为基于多个计算引擎根据所述参数集和所述偏置集对所述多个节点数据集进行同时计算以并行输出多个计算结果。
8.根据权利要求7中所述的装置,其特征在于,还包括:适配模块,设置为对所述多个计算结果调整并存储,所述调整包括下述之一:调整输出位置;调整数据结构。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,设置为存储一个或多个程序,
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现如权利要求1-6中任一项所述的方法。
CN202010114094.0A 2020-02-25 2020-02-25 深度学习引擎并行处理数据方法、装置、设备及储存介质 Pending CN110955530A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010114094.0A CN110955530A (zh) 2020-02-25 2020-02-25 深度学习引擎并行处理数据方法、装置、设备及储存介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010114094.0A CN110955530A (zh) 2020-02-25 2020-02-25 深度学习引擎并行处理数据方法、装置、设备及储存介质

Publications (1)

Publication Number Publication Date
CN110955530A true CN110955530A (zh) 2020-04-03

Family

ID=69985752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010114094.0A Pending CN110955530A (zh) 2020-02-25 2020-02-25 深度学习引擎并行处理数据方法、装置、设备及储存介质

Country Status (1)

Country Link
CN (1) CN110955530A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918507A (zh) * 2021-12-09 2022-01-11 之江实验室 一种深度学习框架适配ai加速芯片的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805798A (zh) * 2017-05-05 2018-11-13 英特尔公司 用于深度学习框架的细粒度计算通信执行
CN109643336A (zh) * 2018-01-15 2019-04-16 深圳鲲云信息科技有限公司 人工智能处理装置设计模型建立方法、***、存储介质、终端
CN109635922A (zh) * 2018-11-20 2019-04-16 华中科技大学 一种分布式深度学习参数量化通信优化方法及***
CN110135575A (zh) * 2017-12-29 2019-08-16 英特尔公司 用于分布式机器学习的通信优化

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805798A (zh) * 2017-05-05 2018-11-13 英特尔公司 用于深度学习框架的细粒度计算通信执行
CN110135575A (zh) * 2017-12-29 2019-08-16 英特尔公司 用于分布式机器学习的通信优化
CN109643336A (zh) * 2018-01-15 2019-04-16 深圳鲲云信息科技有限公司 人工智能处理装置设计模型建立方法、***、存储介质、终端
CN109635922A (zh) * 2018-11-20 2019-04-16 华中科技大学 一种分布式深度学习参数量化通信优化方法及***

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918507A (zh) * 2021-12-09 2022-01-11 之江实验室 一种深度学习框架适配ai加速芯片的方法和装置
CN113918507B (zh) * 2021-12-09 2022-04-08 之江实验室 一种深度学习框架适配ai加速芯片的方法和装置

Similar Documents

Publication Publication Date Title
US11870947B2 (en) Generating images using neural networks
US20190130255A1 (en) Method and apparatus for generating fixed-point type neural network
WO2022006919A1 (zh) 基于激活定点拟合的卷积神经网络训练后量化方法及***
CN110929865B (zh) 网络量化方法、业务处理方法及相关产品
KR20180073118A (ko) 컨볼루션 신경망 처리 방법 및 장치
US11144782B2 (en) Generating video frames using neural networks
JP2022502733A (ja) ニューラル・ネットワーク・コアにおける動的精度のためのデータ表現
US20200389182A1 (en) Data conversion method and apparatus
KR20200094056A (ko) 컨벌루션 신경망 파라미터 최적화 방법, 컨벌루션 신경망 연산방법 및 그 장치
KR20190098671A (ko) 뉴럴 네트워크의 고속 처리 방법 및 그 방법을 이용한 장치
CN114418121A (zh) 模型训练方法、对象处理方法及装置、电子设备、介质
CN115759237A (zh) 端到端的深度神经网络模型压缩及异构转换***及方法
CN114580636A (zh) 基于三目标联合优化的神经网络轻量化部署方法
CN110503149B (zh) 一种图像中局部特征分类方法及***
CN116229226A (zh) 一种适用于光电吊舱的双通道图像融合目标检测方法
CN110955530A (zh) 深度学习引擎并行处理数据方法、装置、设备及储存介质
CN112446461A (zh) 一种神经网络模型训练方法及装置
CN115496181A (zh) 深度学习模型的芯片适配方法、装置、芯片及介质
CN116644783A (zh) 模型训练方法、对象处理方法及装置、电子设备、介质
CN112561050A (zh) 一种神经网络模型训练方法及装置
KR20210082993A (ko) 양자화 영상 생성 방법 및 양자화 영상 생성 방법을 수행하는 센서 장치
CN111402121A (zh) 图像风格的转换方法、装置、计算机设备和存储介质
CN112232477A (zh) 图像数据处理方法、装置、设备及介质
KR102384588B1 (ko) 신경망 연산방법 및 신경망 가중치 생성방법
US20240036816A1 (en) Systems and methods for identifying scaling factors for deep neural networks

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wang Shaojun

Inventor after: Li Yuanchao

Inventor after: Cai Quanxiong

Inventor after: Niu Xinyu

Inventor before: Li Yuanchao

Inventor before: Cai Quanxiong

Inventor before: Niu Xinyu

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200403