CN110458286B - 数据处理方法、装置、计算机设备和存储介质 - Google Patents
数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110458286B CN110458286B CN201910748310.4A CN201910748310A CN110458286B CN 110458286 B CN110458286 B CN 110458286B CN 201910748310 A CN201910748310 A CN 201910748310A CN 110458286 B CN110458286 B CN 110458286B
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- dynamic
- label information
- processor
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及一种数据处理方法、装置、计算机设备和存储介质。其所公开的板卡包括:存储器件、接口装置和控制器件以及数据处理装置;其中,数据处理装置与存储器件、控制器件以及接口装置分别连接;存储器件,用于存储数据;接口装置,用于实现数据处理装置与外部设备之间的数据传输;控制器件,用于对数据处理装置的状态进行监控。本公开实施例所提供的数据处理方法、装置、计算机设备和存储介质,通过标签信息对神经网络中的数据进行标记,简化了对数据进行处理、存储等处理的过程,减少了对硬件资源的占用,且提高了神经网络运算的速度。
Description
技术领域
本公开涉及计算机技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,神经网络(neural networks)也有了显著的进步,可以通过特定或者通用的处理器进行神经网络运算。相关技术中,在神经网络中数据类型多、运算量大、硬件限制等因素的影响下,神经网络运算的速度受到了很大限制。
发明内容
基于此,有必要针对上述技术问题,提供一种数据处理方法、装置、计算机设备和存储介质。
根据本公开的一方面,提供了一种数据处理方法,应用于处理器,所述方法包括:
获取待处理数据以及所述待处理数据的标签信息,所述待处理数据用于进行神经网络运算,所述标签信息包括动态标签信息;
根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,并存储所述处理后数据,所述处理后数据的数据状态与所述动态标签信息一致;
其中,所述动态标签信息用于表征所述待处理数据与运行所述神经网络的处理器相关的信息。
根据本公开的另一方面,提供了一种数据处理装置,用于处理器,所述装置包括:
获取模块,获取待处理数据以及所述待处理数据的标签信息,所述待处理数据用于进行神经网络运算,所述标签信息包括动态标签信息;
数据处理模块,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,并存储所述处理后数据,所述处理后数据的数据状态与所述动态标签信息一致;
其中,所述动态标签信息用于表征所述待处理数据与运行所述神经网络的处理器相关的信息。
根据本公开的另一方面,提供了一种电子设备,该电子设备包括上述数据处理装置。
根据本公开的另一方面,提供了一种板卡,该板卡包括上述数据处理装置。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述数据处理方法。
在一些实施例中,所述电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
在一些实施例中,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
本公开实施例提供一种数据处理方法、装置、计算机设备和存储介质,通过标签信息对神经网络中的数据进行标记,以标签信息为依据对数据进行处理、存储,为用户提供了更为友好的API,改善了软件的性能,减少了对硬件资源的占用,且提高了神经网络运算的速度。
通过权要中的技术特征进行推导,能够达到对应背景技术中的技术问题的有益效果。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开实施例的数据处理方法的处理器的示意图。
图2a示出根据本公开一实施例的数据处理方法的流程图。
图2b示出根据本公开一实施例的数据处理方法中确定数据类别的流程图。
图2c示出根据本公开一实施例的数据处理方法中确定数据类别的示意图。
图3a示出根据本公开实施例的数据处理方法中的关联列表的示意图。
图3b示出根据本公开实施例的数据处理方法中的计算图的示意图。
图3c示出根据本公开实施例的数据处理方法中的数据转换的示意图。
图4a示出根据本公开实施例的数据处理方法中数据转移的流程图。
图4b示出根据本公开实施例的数据处理方法中所设计的用于神经网络运算的装置的示意图。
图4c示出根据本公开实施例的数据处理方法中用于神经网络运算装置的使用示意图。
图5示出根据本公开实施例的数据处理装置的框图。
图6示出根据本公开实施例的板卡的结构框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
相关技术中,对神经网络加速器的研究已经取得了显著成就,并为很多深度学习算法提供了有力的硬件支持。为了提高神经网络加速器的性能,神经网络开发工具包(neural network development kit,简称NDK)中的算法优化和数据布局(包括数据的存储、变形、转移等与数据相关的处理)是不可缺少的。神经网络算法中丰富的数据类型导致了数据布局信息的多样性。如何将复杂的数据布局信息添加至NDK,从而引导软件全方面的工作,以避免用户感知,同时提供用户友好的API,并能改善软件的性能,提供神经网络运算的速度是亟待解决的问题。本公开实施例提供一种数据处理方法、装置、计算机设备和存储介质,通过标签信息对神经网络中的数据进行标记,简化了对数据进行存储、变形、转移等处理的过程,为用户提供了更为友好的API,改善了软件的性能,减少了对硬件资源的占用,且提高了神经网络运算的速度。
根据本公开实施例的数据处理方法可应用于处理器中,该处理器可以包括通用处理器,例如CPU(Central Processing Unit,中央处理器),其中,通用处理器可以对该电子设备接收的数据及指令进行预处理等操作,该通用处理器也可以实现指令编译等功能。处理器也可以包括执行人工智能运算的人工智能处理器(IPU)。人工智能运算可包括机器学习运算或类脑运算等。其中,机器学习运算包括神经网络运算、k-means运算、支持向量机运算等。该人工智能处理器可例如包括GPU(Graphics Processing Unit,图形处理单元)、NPU(Neural-Network Processing Unit,神经网络处理单元)、DSP(Digital Signal Process,数字信号处理单元)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片中的一种或组合。本公开对人工智能处理器的具体类型不作限制。
在一种可能的实现方式中,本公开中所提及的人工智能处理器可包括多个处理单元,每个处理单元可以独立运行所分配到的各种任务,如:卷积运算任务、池化任务或全连接任务等。本公开对处理单元及处理单元所运行的任务不作限制。该人工智能处理器可以根据该通用处理器传送的编译后的指令执行机器学习运算,如该人工智能处理器可以根据编译后的指令执行神经网络推理或训练等运算,以实现图像识别、语音识别等。
当然,在其他可能的实施例中,该人工智能处理器也可以实现上述的指令编译等功能。进一步可选地,本公开一实施例的电子设备可以包括上述的处理器,即该电子设备可以包括上述的通用处理器和人工智能处理器。
图1示出根据本公开实施例的数据处理方法的处理器的示意图。如图1所示,处理器100包括多个处理单元101以及存储单元102,多个处理单元101用于执行指令序列,存储单元102用于存储数据,存储单元102可包括随机存储器(RAM,Random Access Memory)和寄存器堆。处理器100中的多个处理单元101既可共用部分存储空间,例如共用部分RAM存储空间和寄存器堆,又可同时拥有各自的存储空间。
图2a示出根据本公开一实施例的数据处理方法的流程图。如图2a所示,该方法应用于处理器,该方法包括步骤S11和步骤S12。
在步骤S11中,获取待处理数据的标签信息,待处理数据用于进行神经网络运算。其中,标签信息包括静态标签信息,静态标签信息用于表征待处理数据参与神经网络运算相关的信息。
在本实施例中,静态标签信息可以包括描述待处理数据本身性质的数据类型、维度、维度值等信息,还包括基于待处理数据所参与的神经网络运算相关的信息。静态标签信息可以在神经网络建立之后确定,待处理数据的静态标签信息可以适用于任意运行神经网络的处理器,也即在不同的处理器中待处理数据的静态标签信息是不变的。同一待处理数据在不同的神经网络中的静态标签信息可能不同。可选地,待处理数据的静态标签信息可以是获取待处理数据的过程(用户输入待处理数据的过程)中处理器自动检测确定的,也可以是根据用户输入的信息确定的,本公开对此不作限制。
在步骤S12中,根据标签信息,将待处理数据存入数据存储空间中。
在本实施例中,处理器可以根据标签信息确定存储待处理数据所需的数据存储空间大小,进而申请所需的数据存储空间,而后将待处理数据存储至申请到的数据存储空间中。具体地,处理器可以直接根据静态标签信息进行数据存储空间申请,存储待处理数据。例如,根据待处理数据的静态标签信息确定待处理数据的数据量,进而根据确定的数据量申请存储待处理数据的数据存储空间,进而存储待处理数据。
可选地,静态标签信息可以包括以下至少一项:数据类别、静态数据类型、静态数据维度、静态数据维度顺序以及对应每个静态数据维度的维度值。
在该实现方式中,数据类别表示的待处理数据在神经网络中属于何种类别的数据,是基于用户是否可见、在神经网络中所参与操作等信息确定的。静态数据类型表示的是待处理数据的类型和位数,如静态数据类型可以为32位浮点数等。静态数据维度可以是一维、二维、多维等维度,静态数据维度顺序可以表示待处理数据的存储和/或读取的维度顺序。对应每个静态数据维度的维度值表示的是对应静态数据维度的长度或尺寸。例如,某待处理数据为矩阵,静态数据维度包括行和列,静态数据维度顺序为行优先,行的维度值为10、列的维度值为4。某待处理数据为三维数据,静态数据维度包括第一维、第二维、第三维,静态数据维度顺序为第三维>第二维>第一维,第一维的维度值为10、第二维的维度值为4、第三维的维度值为8。
在一种可能的实现方式中,获取待处理数据的标签信息,可以包括:根据待处理数据对应于神经网络的出度、入度和待处理数据参与的神经网络中的操作,确定待处理数据的数据类别。
在该实现方式中,入度表示该待处理数据作为数据节点所参与的前续操作节点的数量(该待处理数据为前续操作节点的输出),出度表示待处理数据作为数据节点所参与的后续操作节点的数量(该待处理数据为后续操作节点的输入)。例如,某待处理数据cc可以是1个前续操作节点的输出、3个后续操作节点的输入,则该待处理数据cc的出度为3、入度为1。可以为不同的数据类别设置不同的代码,以进行区分。如下表1所示,描述了不同数据类别的数据所具有的特点和对应的标识。
可选地,数据类别可以包括以下任一项:指令(Instruction)、输入神经元(InputNeuron)、输出神经元(Output Neuron)、隐藏神经元(Hidden Neuron)、常量神经元(Constant Neuron)、输入权值(Input Weight)、输出权值(Output Weight)、常量权值(Constant Weight)和辅助数据(Auxiliary)。
表1数据类别、对应标识及数据特点
其中,指令的出度和入度为零,用于触发神经网络运算。输入神经元、常量神经元、输入权值、常量权值、辅助数据的出度大于1、入度为0。输出神经元、输出权值的出度为0、入度大于或等于1。隐藏神经元的出度和入度均大于或等于1。
在一种可能的实现方式中,待处理数据的静态标签信息可以表示为:
Static:classification,type1,DIM_A1…An,{x1…xn}
其中,static为表示标签信息为静态标签信息的标识。classification表示数据类别,type1表示静态数据类型。DIM_A1…An中的n表示静态数据维度,A1…An表示静态数据维度顺序为A1…An。A1的维度值为x1…An的维度值为xn。“,”、“{}”仅用于在本公开中分隔静态标签信息中的不同参数,并非静态标签信息的必备内容,实际应用中“,”、“{}”可以不存在,也可以由其他标识替代,本公开对此不作限制。
应当理解的是,本领域技术人员可以根据实际需要对静态标签信息、数据类别的标识,以及静态标签信息中各参数的位置进行设置,本公开对此不作限制。
例如,某待处理数据的静态标签信息为:Static:IW,Float32,DIM_HW,{10,4},则表示该待处理数据为输入权值(数据类别)、32位浮点数(静态数据类型)、二维行优先(静态数据维度及静态数据维度顺序)、行具有10个数(维度值)、列具有4个数(维度值)。
图2b示出根据本公开一实施例的数据处理方法中确定数据类别的流程图。在一种可能的实现方式中,如图2b所示,确定静态标签信息中的数据类别的步骤包括步骤S31至步骤S34。
在步骤S31中,获取待标记计算图。
其中,待标记计算图中包括无类别数据节点、操作节点、以及无类别的数据节点与操作节点之间的连接关系。无类别数据节点中包括参与神经网络运算的数据(包括待处理数据以及下文所提及的第二数据)、数据的除数据类别之外的其余静态标签信息、与该数据节点相连接的前续操作节点和后续操作节点。操作节点中包括对应的参数、与该操作节点连接的输入数据节点和输出数据节点(也即上述无类别数据节点)。
在该实现方式中,待标记计算图可以用于存储神经网络结构的图结构,也可以是用于存储数据图结构,该数据图结构仅用于存储数据,本公开对此不作限制。
在步骤S32中,遍历待标记计算图,获得待标记计算图中所有的无类别数据节点和操作节点。
在该实现方式中,处理器可以从待标记计算图的某一个无类别数据节点(如,输入神经元)开始进行遍历,先确定该无类别数据节点的前续操作节点和后续操作节点,之后再获取新的无类别数据节点,继续确定该新的无类别数据节点的前续操作节点和后续操作节点,直至遍历到所有的节点(包括无类别数据节点和操作节点)。
在步骤S33中,在数据节点队列中依次存储遍历到的无类别数据节点,在操作节点队列中依次存储遍历到的操作节点。
其中,数据节点队列中仅存储无类别数据节点,处理器每次存储遍历到无类别数据节点之后,需先判断数据节点队列中该无类别数据节点是否已经进行了存储,若数据节点队列中已存则不再存储该无类别数据节点。若数据节点队列中未存储该无类别数据节点,则存储该无类别数据节点。处理器每次存储遍历到的操作节点之前,需先判断操作节点队列中该操作节点是否已存,若操作节点队列中已存则不再存储该操作节点。若操作节点队列中未存储该操作节点,则存储该操作节点。这样,可以节省存储空间,提高遍历速度。
在步骤S34中,在遍历的过程中,确定数据节点队列中无类别数据节点对应的数据类别,并将确定的数据类别存入待标记计算图中对应的数据节点内(如存入数据节点的静态标签信息中),以及将确定了数据类别的无类别数据节点从数据节点队列中删除。此时,待标记计算图中的该无类别数据节点由于已存储了其对应的数据类别,变为具备完整内容的数据节点。直至数据节点队列为空,确定出待标记计算图中所有无类别数据节点的数据类别后,结束节点扫描和数据类别确定,得到已标记计算图。
举例来说,图2c示出根据本公开一实施例的数据处理方法中确定数据类别的示意图。如图2c所示,确定数据类别包括节点扫描过程和数据类别确定过程。
节点扫描过程:
处理器获取到待标记计算图之后对其进行遍历。处理器可以先获取到无类别数据节点1,并将其存储至数据节点队列的头部(或称首位)。而后,处理器将无类别数据节点1的后续操作节点1’存储至操作节点队列的尾部。处理器之后获取无类别数据节点2,并在确定数据节点队列中并未存储无类别数据节点2之后,将无类别数据节点2存储至数据节点队列的尾部。而后,处理器通过查询操作节点队列,确定操作节点1’已存,则处理器不存储无类别数据节点2的后续操作节点1’。基于同样过程,处理器将获取到的无类别数据节点3存储至数据节点队列的尾部。处理器还继续扫描待标记计算图,获取无类别数据节点4,在确定数据节点队列中并未存储无类别数据节点4之后,将无类别数据节点4存储至数据节点队列的尾部。并判断操作节点队列中是否存储无类别数据节点4的前续操作节点1’和后续操作节点2’,由于操作节点队列中已存储操作节点1’,则将操作节点2’存入操作节点队列的尾部。处理器还继续扫描待标记计算图,获取无类别数据节点5,在确定数据节点队列中并未存储无类别数据节点5之后,将无类别数据节点5存储至数据节点队列的尾部。并判断操作节点队列中是否存储无类别数据节点5的前续操作节点2’,由于操作节点队列中已存储操作节点2’,则不对操作节点2’进行存储。
数据类别确定过程:
处理器在扫描节点的过程中,可以先根据数据节点队列的头部的无类别数据节点1的出度、入度、对应的前续操作节点和后续操作节点,确定无类别数据节点1的数据类别为“输入神经元”,进而将“输入神经元”的标识添加到待标记计算图中的无类别数据节点1中,如添加到该数据节点1的静态标签信息中;同时,处理器需在数据节点队列中删除已经确定出数据类别的无类别数据节点1。处理器继续查询数据节点队列的头部,若数据节点队列的头部存储有无类别数据节点,则执行上述数据类别确定过程;若数据节点队列的头部为空,则结束,并确定已完成该待标记计算图中所有数据节点的数据类别的确定,形成已标记计算图。
可选地,静态标签信息中的静态数据类型、静态数据维度、静态数据维度顺序以及对应每个静态数据维度的维度值等静态标签信息,处理器可以通过对其接收到的数据进行检测确定。或者,处理器可以在接收数据时,根据用户或数据的发送端提供的信息确定上述静态标签信息。
在一种可能的实现方式中,标签信息还可以包括动态标签信息,动态标签信息用于表征待处理数据与运行神经网络的处理器相关的信息。其中,上述步骤S11,获取待处理数据的标签信息,可以包括:根据处理器和静态标签信息,生成待处理数据的动态标签信息。
在该实现方式中,动态标签信息是在确定运行神经网络的处理器之后,根据静态标签信息以及处理器的算力、性能等确定的,以使得具有动态标签信息的待处理数据能够适用于处理器的运算。当神经网络采用不同的处理器进行运算时,待处理数据的动态标签信息可以不同。当两个处理器的性能、算力等参数相同时,待处理数据的动态标签信息可能相同。
在一种可能的实现方式中,动态标签信息可以包括以下至少一项:动态数据类型、动态数据维度顺序、分片参数、填充参数和数据尺寸。
在该实现方式中,动态数据类型可以是根据运行神经网络的处理器所能处理的数据的类型、算力等确定的。如,某处理器能够处理16位浮点数,那么在利用该处理器运行神经网络时,待处理数据的动态数据类型即为16位浮点数。动态数据维度顺序可以是根据运行神经网络的处理器读取或存储数据的需求确定。分片参数可以根据运行神经网络的处理器的算力确定的,例如,某处理器每一次能够进行8个数的运算,则可以将分片参数设置为8。填充参数可以根据该待处理数据的静态数据维度的维度值、分片参数确定的。数据尺寸或者称为数据的大小、数据量,其是根据静态数据维度的维度值、分片参数以及填充参数确定的。
在一种可能的实现方式中,确定动态标签信息的步骤包括:
获取运行神经网络的目标处理器的信息,目标处理器的信息中可以包括目标处理器所能处理的数据的数据类型,目标处理器的读取、存储数据的维度顺序,目标处理器每一次处理的数据位数(或处理的数的个数)等与目标数量的算力和性能相关的信息。
根据目标处理器的信息和待处理数据的静态标签信息,确定待处理数据的动态标签信息。
其中,根据目标处理器的信息和待处理数据的静态标签信息,确定待处理数据的动态标签信息,可以包括以下至少一项:
根据目标处理器所能处理的数据的数据类型确定动态数据类型;
根据目标处理器的读取、存储数据的维度顺序确定动态数据维度顺序;
根据目标处理器每一次处理的数据位数确定分片参数;
根据分片参数、静态数据维度的维度值确定填充参数;
根据静态数据维度的维度值、分片参数以及填充参数确定数据尺寸。
在一种可能的实现方式中,待处理数据的动态标签信息可以表示为:
dynamic:type2,DIM_B1…Bn,tiling,padding,size
其中,dynamic表示该标签信息为动态标签信息的标识。type2表示动态数据类型。DIM_B1…Bn表示动态数据维度顺序为B1…Bn。Tiling为分片参数。Padding为填充参数,size为数据尺寸。“,”、“{}”仅用于在本公开中分隔动态标签信息中的不同参数,并非动态标签信息的必备内容,实际应用中“,”、“{}”可以不存在,也可以由其他标识替代,本公开对此不作限制。
举例来说,假定某待处理数据的静态标签信息为Static:IW,Float32,DIM_HW,{10,4}。且运行待处理数据所参与的神经网络的处理器,采用列优先方式存储数据,能够对16位浮点数进行处理,每次最多可进行8个数的计算。那么,待处理数据的动态标签信息中tiling=8,padding=tiling-(10-tiling)=6,size=(10+6)×4×2(16位浮点数所占用的字节)=128Byte。那么,该待处理数据的动态标签信息可以为dynamic:Float16,DIM_WH,8,6,128Byte。
在本实施例中,可以根据实际需要对动态标签信息和静态标签信息中的各参数的位置进行调整,本公开对此不作限制。
可选地,处理器可以存储上述待处理数据的标签信息。可选地,上述待处理数据的标签信息可以与待处理数据分离单独存储,即该待处理数据有其对应的数据存储空间,该待处理数据的标签信息尤其对应的标签存储空间,该标签存储空间与上述的数据存储空间可以不重叠。具体地,该方法还可以包括:将待处理数据的标签信息存入标签存储空间中。其中,该标签存储空间进一步可以包括静态标签存储空间和动态标签存储空间,静态标签信息存入标签存储空间中的静态标签存储空间中;动态标签信息存入标签存储空间中的动态标签存储空间中。可选地,处理器还可以将待处理数据的静态标签信息和动态标签信息存储在同一标签存储空间中,本公开对此不作限制。
在该实现方式中,可以将待处理数据的静态标签信息和动态标签信息存储至不同的标签存储空间中,以便于处理器对静态标签信息和动态标签信息进行管理。并且,由于待处理数据的数量庞大,存在多个待处理数据具有相同的标签信息的情况,将待处理数据、静态标签信息、动态标签信息分开存储更有利于进行标签信息的复用,节省存储空间。
在一种可能的实现方式中,该方法还可以包括:将标签信息的标签标识和待处理数据的数据标识对应存储至关联列表,关联列表用于记录待处理数据与标签信息的对应关系。进一步可选地,该关联列表可以存储至存储器中,处理器可以通过查询该关联列表确定待处理数据对应的标签信息,或者通过相应的标签信息确定相应的待处理数据。
在该实现方式中,待处理数据的数据标识以及待处理数据的标签信息的标签标识可以是相同或者相匹配的标识,标签标识和数据标识可以是编号、符号等标识。数据标识还可以是对应的待处理数据的存储地址(如物理地址的首地址、指示存储地址的指针等能够表示待处理数据存储地址的信息),对应的标签标识可以是存储待处理数据的标签信息的存储地址(如物理地址的首地址、指示存储地址的指针等能够表示待处理数据存储地址的信息)。本领域技术人员可以根据实际需要对标签标识、数据标识进行设置,本公开对此不作限制。
图3a示出根据本公开实施例的数据处理方法中的关联列表的示意图,如图3a所示,根据关联列表中的对应关系1可以确定待处理数据A的标签信息为静态标签信息a和动态标签信息1。根据对应关系2可以确定待处理数据B的标签信息为静态标签信息b和动态标签信息1。根据对应关系3可以确定待处理数据C的标签信息为静态标签信息c和动态标签信息2。根据对应关系4可以确定待处理数据D的标签信息为静态标签信息c和动态标签信息3。待处理数据A和待处理数据B公用相同的动态标签信息1。待处理数据C和待处理数据D公用相同的静态标签信息c。
通过上述方式,处理器可以根据关联列表准确、快速地确定待处理数据与标签信息之间的对应关系。在其他可选的实现方式中,该待处理数据与标签信息之间的对应关系还可以采用关联列表之外的其他方式进行存储。
在一种可能的实现方式中,将待处理数据的标签信息存入标签存储空间中,可以包括:为标签信息添加第一标识,并将带有第一标识的标签信息存储至标签存储空间中。其中,根据标签信息,将待处理数据存入数据存储空间中,可以包括:为待处理数据添加与第一标识匹配的第二标识,并将带有第二标识的待处理数据存入数据存储空间。
在该实现方式中,第一标识和第二标识可以是相同、或者唯一对应的标识,例如,相同的编号、编码等标识。第一标识可以是表示对应的待处理数据的存储地址的标识,第二标识可以是表示待处理数据的标签信息的存储地址的标识。这样,处理器可以根据第一标识和第二标识快速、准确地确定待处理数据和对应的标签信息。
进一步可选地,处理器可以根据标签信息及神经网络的结构数据存储神经网络,例如,处理器可以根据标签信息和神经网络的结构图存储神经网络,其中,神经网络的结构图可以包括数据节点和操作节点,其中,该数据节点中包含数据的标签信息。
在一种可能的实现方式中,该方法还可以包括:
获取神经网络中的数据节点,数据节点包括参与神经网络运算的第二数据、第二数据的标签信息、第二数据的出度、入度和第二数据与操作节点的连接关系,第二数据可以包括待处理数据;
获取神经网络中的操作节点(也可称运算节点),操作节点包括对应的参数、对应的输入数据节点和输出数据节点;
获取神经网络所对应的计算图,计算图中包括神经网络所包含的操作节点、所对应的数据节点以及数据节点与操作节点之间的连接关系;
存储数据节点、操作节点和计算图。
在该实现方式中,图3b示出根据本公开实施例的数据处理方法中的计算图的示意图,如图3b所示,在构建神经网络之后,可以根据构建的神经网络确定对应的数据节点、操作节点和计算图。其中,数据节点用于记录第二数据的结构或标记(包括第二数据的标签信息),根据第二数据的出度、入度以及第二数据与操作节点之间的连接关系,可以确定第二数据可以作为哪些前续操作节点的输出、以及可以作为哪些后续操作节点的输入。操作节点用于记录对输入的一个或多个输入数据节点所进行的操作或运算所需的参数,以及执行相应的操作或运算后输出的一个或多个输出数据节点。例如,假定某操作节点为对输入的3个输入数据节点的数据进行卷积运算得到一个输出数据节点的数据,则操作节点中需记录的参数包括卷积核的尺寸、步幅以及填充等。计算图以图的形式来表示神经网络,计算图中包括数据节点、操作节点和表征数据节点和操作节点的连接关系的有向的“边”。
在一种可能的实现方式中,处理器可以根据计算图生成一个或多个对应的指令,以通过执行一个或多个指令实现神经网络运算。可选地,处理器包含的通用处理器可以根据计算图以及该计算图中包含的标签信息等,对计算图进行编译处理,获得一个或多个指令,之后,该通用处理器可以执行指令以实现神经网络训练或推理等运算。可选地,处理器包含的通用处理器可以编译获得指令,处理器包含的人工智能处理器可以根据该编译后的指令进行神经网络训练或推理等运算。
在一种可能的实现方式中,根据标签信息,将待处理数据存入数据存储空间中,包括:
在标签信息中包含动态标签信息时,根据动态标签信息中的数据尺寸,从数据存储空间中申请用于存储待处理数据的第一数据存储空间;
将待处理数据存入第一数据存储空间中。
在该实现方式中,在待处理数据的标签信息中有动态标签信息时,处理器可以根据用户的请求,或者自动根据动态标签信息中的数据尺寸为待处理数据申请第一数据存储空间,并将待处理数据存储至第一数据存储空间。
举例来说,可以通过如“labelMalloc(&wp,weight)”等方式实现第一数据存储空间的申请,其中,weight所需的第一数据存储空间的大小,其可以根据动态标签信息中的数据尺寸确定的,可以是用户根据处理器提供的待处理数据的动态标签信息中的数据尺寸输入(也可以是处理器自动识别待处理数据的动态标签信息中的数据尺寸)确定的。通过上述方式,可以从某个指定的数据存储空间wp(wp为数据存储空间的编号、编码等标识)中为待处理数据申请到第一数据存储空间。
进一步地,将第一数据存入第一数据存储空间中,可以包括:
判断第一数据当前的数据状态与动态标签信息是否一致,数据状态包括第一数据的数据类型、数据维度的顺序和维度值;可选地,该数据状态可以是根据第一数据的静态标签信息确定的。
在第一数据当前的数据状态与动态标签信息不一致时,根据静态标签信息和动态标签信息对第一数据进行转换,得到转换后的第一数据,转换后的第一数据的数据状态与动态标签信息一致;
将转换后的第一数据存入第一数据存储空间中。
在该实现方式中,在将第一数据存储至数据存储空间之前,在判断出第一数据当前的数据状态与第一数据的动态标签信息一致时,可以直接将第一数据存储至第一数据存储空间。第一数据当前的数据状态与第一数据的动态标签信息是否一致,可以是第一数据当前的数据类型与动态数据类型相同、当前的数据维度的顺序与动态数据维度顺序相同、当前对应维度的维度值与根据分片参数、填充参数和静态数据维度的维度值所计算出的维度值相同。
在一种可能的实现方式中,根据静态标签信息和动态标签信息对第一数据进行转换,得到转换后的第一数据,可以包括以下至少一项处理:
数据类型转换处理:将待处理数据的数据类型转换为动态数据类型;
维度顺序调整处理:对待处理数据的数据维度的顺序进行调整;
数据填充处理:根据填充参数,对待处理数据进行填充;
数据切分处理:根据分片参数,对待处理数据进行切分。
在一种可能的实现方式中,处理器可以先判断待处理数据当前的数据类型与动态数据类型是否一致,若不一致,可以先将待处理数据的数据类型转换为动态数据类型。对类型转换后的待处理数据的数据维度的顺序进行调整,使其与动态数据维度顺序相同。根据填充参数对调整了维度顺序的待处理数据进行填充。根据分片参数对填充后的待处理数据进行分片,得到转换后的待处理数据,转换后的待处理数据包括多个数据分片,每个数据分片的尺寸与分片参数相对应。处理器也可以先对调整了维度顺序的待处理数据进行分片,而后对分片后剩余的尺寸与分片参数不对应的一个或多个待填充分片进行填充,以得到转换后的待处理数据。
举例来说,图3c示出根据本公开实施例的数据处理方法中的数据转换的示意图。如图3c所示,该待处理数据的静态标签信息为“Static:IW,Float32,DIM_HW,{10,4}”。待处理数据当前的数据状态与静态标签信息一致。待处理数据的动态标签信息为“dynamic:Float16,DIM_WH,8,6,128Byte”。处理器可以先将待处理数据的数据类型由32位浮点数转换为16位浮点数。而后对待处理数据进行转置处理,使其数据维度顺序与“DIM_WH”一致。基于分片参数“8”,将待处理数据切分为两个数据分片。而后根据填充参数“6”对尺寸与分片参数不对应的数据分片进行填充,如均用0进行填充补位。最终,得到转换后的待处理数据。
在将上述方法进行实际应用的过程中,用于利用上述带有标签信息的待处理数据进行神经网络运算时,需要将上述方法以软件的形式体现,以供用户使用。软件中为用户提供的API中需要为用户提供输入待处理数据的输入接口。由于用户已知或者可见的是通过输入接口输入的待处理数据对应静态标签信息的数据量(或称尺寸),而在实际应用过程中待处理数据的存储和运算中其数据状态是与动态标签信息相对应的,而动态标签信息对用户是不可见的。假定处理器需要根据用户输入数据量或数据尺寸之后,申请存储数据状态与动态标签信息相对应的待处理数据的第一数据存储空间,则可以在为用户提供的API中添加输入数据量的另一输入接口,处理器为用户显示待处理数据的动态标签信息中的数据尺寸,以便于用于输入,进而使处理器进行第一数据存储空间的申请。或者,处理器可以直接根据待处理数据的动态标签信息中的数据尺寸进行第一数据存储空间的申请,用户所提供的API更无需添加输入接口。以上两种方式对用户而言其所需进行的操作都是非常简便的,为用户所提供的API都是非常友好的。并且,实时根据待处理数据的动态标签信息进行存储空间申请,能够节省存储空间,减少资源占用。
通过上述方式,在待处理数据有动态标签信息时,按照动态标签信息存储待处理数据,该待处理数据能够与处理器的性能相匹配。处理器在再次使用该待处理数据时,可以直接对其进行处理,无需进行数据变形或转换,简化了处理器使用待处理数据的过程,能够提升处理器的运算速度,节省运算时间。在一种可能的实现方式中,在待处理数据参与神经网络运算的过程中,待处理数据可能需要在不同的数据存储空间之间进行转移(如Load或Store等访存操作),次数,处理器可以根据该待处理数据的标签信息,实现上述的数据访存操作。
在一种可能的实现方式中,图4a示出根据本公开实施例的数据处理方法中数据转移的流程图,处理器在接收到进行待处理数据转移(或称转存)的转移请求时,进行待处理数据的转移,如图4a所示,进行数据转移的过程可以包括步骤S41和步骤S42。
在步骤S41中,获取待处理数据以及所述待处理数据的标签信息,所述标签信息包括动态标签信息。
在步骤S42中,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,并存储所述处理后数据,所述处理后数据的数据状态与所述动态标签信息一致。
在一种可能的实现方式中,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,可以包括:
判断所述待处理数据当前的数据状态是否与所述动态标签信息一致;
在所述待处理数据当前的数据状态与所述动态标签信息不一致时,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据。对待处理数据所进行的处理包括数据类型转换处理、维度顺序调整处理、数据填充处理和数据切分处理等,详见上文相关描述,此处不再赘述。
在一种可能的实现方式中,存储所述处理后数据,可以包括:
根据所述处理后数据的动态标签信息,从所述处理器的数据存储空间中申请用于存储所述处理后数据的转移数据存储空间;其中,所述处理器后数据的动态标签信息与所述待处理数据的动态标签信息一致;
将所述处理后数据存入所述转移数据存储空间中。
在一种可能的实现方式中,处理器在接收到进行待处理数据转移请求时可以获取待处理数据的当前数据存储空间地址、目标存储空间、数据尺寸以及转移方向,进而从当前数据存储空间中获取待处理数据,基于关联列表或者待处理数据中的第二标识,获取待处理数据的动态标签信息和静态标签信息。判断待处理数据当前的数据状态与动态标签信息是否一致,若不一致则对待处理数据进行处理,得到数据状态与动态标签信息一致的处理后数据。根据动态标签信息中的数据尺寸从目标存储空间中申请用于存储处理后数据的转移数据存储空间,并将处理后数据存入转移数据存储空间中。其中,若待处理数据当前的数据状态与动态标签信息一致,可以直接将待处理数据存入转移数据存储空间中。
其中,当前数据存储空间地址、转移数据存储空间和转移方向可以根据用户的输入或者根据接收到的转移请求确定。数据尺寸可以根据待处理数据的动态标签信息确定。转移方向可以为从一个存储器转移至另一存储器、存储器内部进行转移,在处理器包括主处理器和一个或多个从处理器时,“从一个存储器转移至另一存储器”包括:从主处理器对应的存储器转移至从处理器对应的存储器中、从一个从处理器对应的存储器转移至主处理器对应的存储器中、从一个从处理器对应的存储器转移至另一个从处理器对应的存储器中。其中,该主处理器可以是CPU等通用处理器,该从处理器可以是人工智能处理器。
举例来说,可以通过如“labelMemcpy(wp,wp_cpu,weight,HostToDevice)”等方式实现待处理数据的转移,其表示为从主机(如CPU端)的存储器中的当前数据存储空间wp_cpu(可以为当前数据存储空间的物理地址等)中获取待处理数据,并对待处理数据处理后获得的处理后数据存储至设备(如人工智能处理器端)中申请到的大小为weight的转移数据存储空间wp中。其中,在进行数据转移的过程中、将处理后数据存储至转移数据存储空间wp之前,需要处理器申请到大小为weight的转移数据存储空间wp。在处理器所包括的主处理器为CPU、从处理器也为CPU时,在进行数据转移的过程中,可以是主处理器或从处理器进行数据存储空间的申请。在处理器包括的主处理器为CPU、从处理器为IPU时,在进行数据转移的过程中,可以是主处理器进行数据存储空间的申请。
在一种可能的实现方式中,处理器在接收到进行待处理数据转移(或称转存)的转移请求时,若确定待处理数据仅有静态标签信息、也即没有动态标签信息时,可根据静态数据维度以及对应的维度值确定数据尺寸。进而根据数据尺寸申请转移数据存储空间,并将待处理数据存储至转移数据存储空间。
通过上述方式,在进行数据转移的过程中,优先按照待处理数据的动态标签信息对待处理数据的数据状态进行判断,保证转存至转移数据储存空间中的处理后数据能够与处理器的性能相匹配。处理器在再次使用该处理后数据时,可以直接对其进行运算等处理,无需进行数据变换,简化了处理器使用处理后数据的过程,能够提升处理器的运算速度,节省运算时间。
在本实施例中,由于标签信息和待处理数据存储在不同的存储空间中,需要通过相应的策略,保证处理器能够根据待处理数据确定对应的标签信息。
在一种可能的实现方式中,该方法还可以包括用于对进行神经网络开发、执行的装置进行设置,使得装置能够实现以下步骤:开发创建步骤、开发编译步骤和开发运行步骤,通过上述步骤对用于对进行神经网络开发、执行的装置进行设置,可以使得该装置能够进行神经网络开发、执行神经网络运算,该装置可以包括处理器(处理器可以包括CPU等通用处理器和人工智能处理器)其中,CPU用于执行开发创建步骤、开发编译步骤和开发运行步骤。具体如下:
开发创建步骤,创建神经网络运算所需的数据节点、操作节点,并根据数据节点与操作节点之间的连接关系生成计算图,并存储数据节点、操作节点和计算图。
开发编译步骤,对计算图进行扫描,确定每个数据节点中数据所对应的数据类别和动态标签信息,并根据计算图生成对应的一个或多个指令。可选地,通用处理器可以根据该计算图及其中的标签信息对计算图进行编译处理,获得指令。
开发运行步骤,根据数据节点中数据的动态标签信息,对数据节点中的数据进行转换,得到转换后的数据。其中,该转换后的数据的动态标签信息可以与人工智能处理器等用于指令的设备的硬件信息一致。
在一种可能的实现方式中,开发运行步骤还可以包括:对装置(如IPU等处理器)进行管理,对装置所进行的管理包括以下至少一项:控制装置执行神经网络运算的开始、结束,对装置进行配置,进行寄存器设置,进行检查中断等与装置的运行相关的处理,本公开对此不作限制。
在一种可能的实现方式中,开发运行步骤还可以包括:对装置(如IPU等处理器)的内存进行管理,对装置的内存所进行的关联包括内存申请、内存释放等与内存的使用相关的关联。例如,开发运行步骤包括根据数据节点中数据的动态标签信息,申请用于存储对应的数据的第一数据存储空间。开发运行步骤包括根据数据节点中数据的标签信息将数据从当前数据存储空间中转移到转移数据存储空间中。开发运行步骤包括释放闲置的内存资源。
在一种可能的实现方式中,图4b示出根据本公开实施例的数据处理方法中所设计的用于神经网络运算的装置的示意图,如图4b所示,处理器可以包括开发创建模块41、开发编译模块42和开发运行模块43,该开发创建模块41、开发编译模块42和开发运行模块43可以集成于处理器的通用处理器中。
其中,开发创建模块41包括:用于创建并存储数据节点的数据节点子模块、用于创建并存储操作节点的操作节点子模块、用于创建并存储计算图的计算图子模块。开发创建模块41用于向开发编译模块42发送计算图。
开发编译模块42中包括:用于扫描计算图生成数据节点的标签信息(包括数据类别和动态标签信息)的计算图扫描子模块、用于生成数据节点的动态标签信息以及根据计算图生成指令的指令生成子模块。开发编译模块42用于向开发运行模块43发送指令和标签信息。
开发运行模块43包括:用于进行数据变换的数据变换子模块、用于对装置进行管理的装置管理子模块、用于对装置的内存进行管理的内存管理子模块。
在该实现方式中,用户根据上述用于进行神经网络开发的步骤可以简单、快捷地对执行神经网络运算的装置进行设计。
在一种可能的实现方式中,图4c示出根据本公开实施例的数据处理方法中用于神经网络运算装置的使用示意图,如图4c所示,该方法还可以包括用于执行神经网络的以下执行创建步骤、执行编译步骤和执行运行步骤,通过上述步骤可以对用于神经网络运算的装置进行使用,进而实现神经网络运算。该用于神经网络运算的装置可以包括CPU和IPU等处理器。
执行创建步骤(如步骤S61),CPU等通用处理器可以用于创建执行神经网络运算所需的数据节点、操作节点,并根据数据节点与操作节点之间的连接关系生成计算图。
执行编译步骤(如步骤S62),CPU等通用处理器可以用于扫描计算图生成数据节点的标签信息(包括数据类别和动态标签信息)的计算图,并对计算图进行编译,生成对应计算图的硬件指令。
执行运行步骤(如步骤S63),IPU等人工智能处理器可以用于运行硬件指令,实现神经网络训练或推理等运算。基于硬件指令调用对应的函数对数据进行运算,完成神经网络运算过程。当然,CPU等通用处理器也可以用于运行硬件指令,实现神经网络训练或推理等运算。
在一种可能的实现方式中,执行运算步骤还可以包括:IPU或CPU等处理器用于基于硬件指令进行数据存储空间(如上文所述的申请第一数据存储空间)、标签存储空间申请,以及进行数据的移动(如上文所述的将数据转移至转移数据存储空间)。
在一种可能的实现方式中,执行运算步骤还可以包括:IPU或CPU等处理器用于释放不再使用的资源。
在该实现方式中,用户根据上述用于执行神经网络的步骤,可以简便、快捷地使用对应的处理器等装置执行神经网络运算。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
进一步需要说明的是,虽然图2a、图2b、图4a的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2a、图2b、图4a中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图5示出根据本公开实施例的数据处理装置的框图。如图5所示,该装置应用于处理器,该装置包括获取模块51和数据处理模块52。获取模块51,获取待处理数据以及待处理数据的标签信息,待处理数据用于进行神经网络运算,标签信息包括动态标签信息;数据处理模块52,根据动态标签信息对待处理数据进行处理,得到处理后数据,并将处理后数据存储至处理器,处理后数据的数据状态与动态标签信息一致;其中,动态标签信息用于表征待处理数据与运行神经网络的处理器相关的信息。
在一种可能的实现方式中,动态标签信息可以包括以下至少一项:动态数据类型、动态数据维度顺序、分片参数、填充参数和数据尺寸。
在一种可能的实现方式中,数据处理模块52,可以包括:判断子模块,判断待处理数据当前的数据状态是否与动态标签信息一致;处理子模块,在待处理数据当前的数据状态与动态标签信息不一致时,根据动态标签信息对待处理数据进行处理,得到处理后数据;其中,数据状态包括数据类型、数据维度的顺序和维度值。
在一种可能的实现方式中,处理子模块可以执行以下至少一项处理:将待处理数据的数据类型转换为动态数据类型;对待处理数据的数据维度的顺序进行调整;根据填充参数,对待处理数据进行填充;根据分片参数,对待处理数据进行切分。
在一种可能的实现方式中,获取模块51,可以包括:动态标签生成子模块,根据处理器和获取的静态标签信息,生成待处理数据的动态标签信息;其中,静态标签信息包括以下至少一项:数据类别、静态数据类型、静态数据维度、静态数据维度顺序以及对应每个静态数据维度的维度值。
在一种可能的实现方式中,获取模块51,可以包括:类别确定子模块,根据待处理数据对应于神经网络的出度、入度和待处理数据参与的神经网络中的操作,确定待处理数据的数据类别;其中,数据类别可以包括以下任一项:指令、输入神经元、输出神经元、隐藏神经元、常量神经元、输入权值、输出权值、常量权值和辅助数据。
在一种可能的实现方式中,装置还可以包括:标签存储模块,将标签信息存入标签存储空间;其中,静态标签信息存入标签存储空间中的静态标签存储空间中;动态标签信息存入标签存储空间中的动态标签存储空间中。
在一种可能的实现方式中,数据处理模块52,可以包括:空间申请子模块,根据处理后数据的动态标签信息,从处理器的数据存储空间中申请用于存储处理后数据的转移数据存储空间;其中,处理器后数据的动态标签信息与待处理数据的动态标签信息一致;
数据存储子模块,将处理后数据存入转移数据存储空间中。
本公开所提供的数据处理装置,通过标签信息对神经网络中的数据进行标记,以标签信息为依据对数据进行处理、存储,为用户提供了更为友好的API,改善了软件的性能,减少了对硬件资源的占用,且提高了神经网络运算的速度。
本公开实施例还提供一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述数据处理方法。
应该理解,上述的装置实施例仅是示意性的,本公开的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本公开各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述人工智能处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic RandomAccess Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在一种可能的实现方式中,还公开了一种板卡,其包括存储器件、接口装置和控制器件以及上述数据处理装置;其中,所述数据处理装置与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述数据处理装置与外部设备之间的数据传输;所述控制器件,用于对所述数据处理装置的状态进行监控。
图6示出根据本公开实施例的板卡的结构框图,参阅图6,上述板卡除了包括上述数据处理装置389以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件390、接口装置391和控制器件392;
所述存储器件390与所述数据处理装置通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述数据处理装置通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述数据处理装置内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MB/s。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述数据处理装置中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述数据处理装置电连接。所述接口装置用于实现所述数据处理装置与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述数据处理装置,实现数据转移。优选的,当采用PCIE 3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置还可以是其他的接口,本公开并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述数据处理装置的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述数据处理装置电连接。所述控制器件用于对所述数据处理装置的状态进行监控。具体的,所述数据处理装置与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述数据处理装置可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述数据处理装置可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述数据处理装置中多个处理芯片、多个处理和/或多个处理电路的工作状态的调控。
在一种可能的实现方式中,公开了一种电子设备,其包括了上述数据处理装置。电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
依据以下条款可更好地理解前述内容:
条款A1.一种数据处理方法,应用于处理器,所述方法包括:
获取待处理数据以及所述待处理数据的标签信息,所述待处理数据用于进行神经网络运算,所述标签信息包括动态标签信息;
根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,并存储所述处理后数据,所述处理后数据的数据状态与所述动态标签信息一致;
其中,所述动态标签信息用于表征所述待处理数据与运行所述神经网络的处理器相关的信息。
条款A2.根据条款A1所述的方法,所述动态标签信息包括以下至少一项:动态数据类型、动态数据维度顺序、分片参数、填充参数和数据尺寸。
条款A3.根据条款A2所述的方法,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,包括:
判断所述待处理数据当前的数据状态是否与所述动态标签信息一致;
在所述待处理数据当前的数据状态与所述动态标签信息不一致时,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据;
其中,所述数据状态包括数据类型、数据维度的顺序和维度值。
条款A4.根据条款A3所述的方法,在所述待处理数据当前的数据状态与所述动态标签信息不一致时,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,包括以下至少一项处理:
将所述待处理数据的数据类型转换为所述动态数据类型;
对所述待处理数据的数据维度的顺序进行调整;
根据所述填充参数,对所述待处理数据进行填充;
根据所述分片参数,对所述待处理数据进行切分。
条款A5.根据条款A1-条款A4任一项所述的方法,获取待处理数据以及所述待处理数据的标签信息,包括:
根据所述处理器和获取的静态标签信息,生成所述待处理数据的动态标签信息;
其中,所述静态标签信息包括以下至少一项:数据类别、静态数据类型、静态数据维度、静态数据维度顺序以及对应每个静态数据维度的维度值。
条款A6.根据条款A5所述的方法,获取待处理数据以及所述待处理数据的标签信息,包括:
根据所述待处理数据对应于所述神经网络的出度、入度和所述待处理数据参与的所述神经网络中的操作,确定所述待处理数据的数据类别;
其中,所述数据类别包括以下任一项:指令、输入神经元、输出神经元、隐藏神经元、常量神经元、输入权值、输出权值、常量权值和辅助数据。
条款A7.根据条款A5所述的方法,所述方法还包括:
将所述标签信息存入标签存储空间;
其中,所述静态标签信息存入所述标签存储空间中的静态标签存储空间中;
所述动态标签信息存入所述标签存储空间中的动态标签存储空间中。
条款A8.根据条款A1或6所述的方法,存储所述处理后数据,包括:
根据所述处理后数据的动态标签信息,从所述处理器的数据存储空间中申请用于存储所述处理后数据的转移数据存储空间;其中,所述处理器后数据的动态标签信息与所述待处理数据的动态标签信息一致;
将所述处理后数据存入所述转移数据存储空间中。
条款A9.一种数据处理装置,应用于处理器,所述装置包括:
获取模块,获取待处理数据以及所述待处理数据的标签信息,所述待处理数据用于进行神经网络运算,所述标签信息包括动态标签信息;
数据处理模块,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,并将所述处理后数据存储至所述处理器,所述处理后数据的数据状态与所述动态标签信息一致;
其中,所述动态标签信息用于表征所述待处理数据与运行所述神经网络的处理器相关的信息。
条款A10.根据条款A9所述的装置,所述动态标签信息包括以下至少一项:动态数据类型、动态数据维度顺序、分片参数、填充参数和数据尺寸。
条款A11.根据条款A10所述的装置,所述数据处理模块,包括:
判断子模块,判断所述待处理数据当前的数据状态是否与所述动态标签信息一致;
处理子模块,在所述待处理数据当前的数据状态与所述动态标签信息不一致时,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据;
其中,所述数据状态包括数据类型、数据维度的顺序和维度值。
条款A12.根据条款A11所述的装置,所述处理子模块执行以下至少一项处理:
将所述待处理数据的数据类型转换为所述动态数据类型;
对所述待处理数据的数据维度的顺序进行调整;
根据所述填充参数,对所述待处理数据进行填充;
根据所述分片参数,对所述待处理数据进行切分。
条款A13.根据条款A9-条款A12任一项所述的装置,所述获取模块,包括:
动态标签生成子模块,根据所述处理器和获取的静态标签信息,生成所述待处理数据的动态标签信息;
其中,所述静态标签信息包括以下至少一项:数据类别、静态数据类型、静态数据维度、静态数据维度顺序以及对应每个静态数据维度的维度值。
条款A14.根据条款A13所述的装置,所述获取模块,包括:
类别确定子模块,根据所述待处理数据对应于所述神经网络的出度、入度和所述待处理数据参与的所述神经网络中的操作,确定所述待处理数据的数据类别;
其中,所述数据类别包括以下任一项:指令、输入神经元、输出神经元、隐藏神经元、常量神经元、输入权值、输出权值、常量权值和辅助数据。
条款A15.根据条款A13所述的装置,所述装置还包括:
标签存储模块,将所述标签信息存入标签存储空间;
其中,所述静态标签信息存入所述标签存储空间中的静态标签存储空间中;
所述动态标签信息存入所述标签存储空间中的动态标签存储空间中。
条款A16.根据条款A9或14所述的装置,所述数据处理模块,包括:
空间申请子模块,根据所述处理后数据的动态标签信息,从所述处理器的数据存储空间中申请用于存储所述处理后数据的转移数据存储空间;其中,所述处理器后数据的动态标签信息与所述待处理数据的动态标签信息一致;
数据存储子模块,将所述处理后数据存入所述转移数据存储空间中。
条款A17.一种电子设备,所述电子设备包括如条款A9至条款A16任一项所述的数据处理装置。
条款A18.一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及如条款A9至条款A16任一项所述的数据处理装置;
其中,所述数据处理装置与所述存储器件、所述控制器件以及所述接口装置分别连接;
所述存储器件,用于存储数据;
所述接口装置,用于实现所述数据处理装置与外部设备之间的数据传输;
所述控制器件,用于对所述数据处理装置的状态进行监控。
条款A19.根据条款A18所述的板卡,
所述存储器件包括:多组存储单元,每一组所述存储单元与所述数据处理装置通过总线连接,所述存储单元为:DDR SDRAM;
所述数据处理装置包括:DDR控制器,用于对每个所述存储单元的数据传输与数据存储的控制;
所述接口装置为:标准PCIE接口。
条款A20.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现条款A1至条款A8任一项所述的数据处理方法。
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本公开的方法及其核心思想。同时,本领域技术人员依据本公开的思想,基于本公开的具体实施方式及应用范围上做出的改变或变形之处,都属于本公开保护的范围。综上所述,本说明书内容不应理解为对本公开的限制。
Claims (12)
1.一种数据处理方法,其特征在于,应用于处理器,所述方法包括:
获取待处理数据以及所述待处理数据的标签信息,所述待处理数据用于进行神经网络运算,所述标签信息包括动态标签信息;
根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,并根据预先得到的存储指令,存储所述处理后数据,所述处理后数据用于作为目标处理器在利用神经网络进行运算时所需的数据,所述处理后数据的数据状态与所述动态标签信息一致;
其中,所述动态标签信息用于表征所述待处理数据与运行所述神经网络的目标处理器相关的信息;所述动态标签信息包括以下至少一项:动态数据类型、动态数据维度顺序、分片参数、填充参数和数据尺寸;
所述预先得到的存储指令是预先根据所述标签信息对神经网络的计算图进行编译处理得到的对应于所述神经网络的指令。
2.根据权利要求1所述的方法,其特征在于,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,包括:
判断所述待处理数据当前的数据状态是否与所述动态标签信息一致;
在所述待处理数据当前的数据状态与所述动态标签信息不一致时,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据;
其中,所述数据状态包括数据类型、数据维度的顺序和维度值。
3.根据权利要求2所述的方法,其特征在于,在所述待处理数据当前的数据状态与所述动态标签信息不一致时,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,包括以下至少一项处理:
将所述待处理数据的数据类型转换为所述动态数据类型;
对所述待处理数据的数据维度的顺序进行调整;
根据所述填充参数,对所述待处理数据进行填充;
根据所述分片参数,对所述待处理数据进行切分。
4.根据权利要求1-3任一项所述的方法,其特征在于,获取待处理数据以及所述待处理数据的标签信息,包括:
根据所述处理器和获取的静态标签信息,生成所述待处理数据的动态标签信息;
其中,所述静态标签信息包括以下至少一项:数据类别、静态数据类型、静态数据维度、静态数据维度顺序以及对应每个静态数据维度的维度值。
5.根据权利要求4所述的方法,其特征在于,获取待处理数据以及所述待处理数据的标签信息,包括:
根据所述待处理数据对应于所述神经网络的出度、入度和所述待处理数据参与的所述神经网络中的操作,确定所述待处理数据的数据类别;
其中,所述数据类别包括以下任一项:指令、输入神经元、输出神经元、隐藏神经元、常量神经元、输入权值、输出权值、常量权值和辅助数据。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述标签信息存入标签存储空间;
其中,所述静态标签信息存入所述标签存储空间中的静态标签存储空间中;
所述动态标签信息存入所述标签存储空间中的动态标签存储空间中。
7.根据权利要求1或5所述的方法,其特征在于,存储所述处理后数据,包括:
根据所述处理后数据的动态标签信息,从所述处理器的数据存储空间中申请用于存储所述处理后数据的转移数据存储空间;其中,所述处理器后数据的动态标签信息与所述待处理数据的动态标签信息一致;
将所述处理后数据存入所述转移数据存储空间中。
8.一种数据处理装置,其特征在于,应用于处理器,所述装置包括:
获取模块,获取待处理数据以及所述待处理数据的标签信息,所述待处理数据用于进行神经网络运算,所述标签信息包括动态标签信息;
数据处理模块,根据所述动态标签信息对所述待处理数据进行处理,得到处理后数据,并根据预先得到的存储指令,存储所述处理后数据,所述处理后数据用于作为目标处理器在利用神经网络进行运算时所需的数据,所述处理后数据的数据状态与所述动态标签信息一致;
其中,所述动态标签信息用于表征所述待处理数据与运行所述神经网络的目标处理器相关的信息;所述动态标签信息包括以下至少一项:动态数据类型、动态数据维度顺序、分片参数、填充参数和数据尺寸;
所述预先得到的存储指令是预先根据所述标签信息对神经网络的计算图进行编译处理得到的对应于所述神经网络的指令。
9.一种电子设备,其特征在于,所述电子设备包括如权利要求8所述的数据处理装置。
10.一种板卡,其特征在于,所述板卡包括:存储器件、接口装置和控制器件以及如权利要求8所述的数据处理装置;
其中,所述数据处理装置与所述存储器件、所述控制器件以及所述接口装置分别连接;
所述存储器件,用于存储数据;
所述接口装置,用于实现所述数据处理装置与外部设备之间的数据传输;
所述控制器件,用于对所述数据处理装置的状态进行监控。
11.根据权利要求10所述的板卡,其特征在于,
所述存储器件包括:多组存储单元,每一组所述存储单元与所述数据处理装置通过总线连接,所述存储单元为:DDR SDRAM;
所述数据处理装置包括:DDR控制器,用于对每个所述存储单元的数据传输与数据存储的控制;
所述接口装置为:标准PCIE接口。
12.一种非易失性计算机可读存储介质,其特征在于,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现权利要求1至7任一项所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110673119.5A CN113435591B (zh) | 2019-08-14 | 2019-08-14 | 数据处理方法、装置、计算机设备和存储介质 |
CN201910748310.4A CN110458286B (zh) | 2019-08-14 | 2019-08-14 | 数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910748310.4A CN110458286B (zh) | 2019-08-14 | 2019-08-14 | 数据处理方法、装置、计算机设备和存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110673119.5A Division CN113435591B (zh) | 2019-08-14 | 2019-08-14 | 数据处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110458286A CN110458286A (zh) | 2019-11-15 |
CN110458286B true CN110458286B (zh) | 2022-02-08 |
Family
ID=68486445
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110673119.5A Active CN113435591B (zh) | 2019-08-14 | 2019-08-14 | 数据处理方法、装置、计算机设备和存储介质 |
CN201910748310.4A Active CN110458286B (zh) | 2019-08-14 | 2019-08-14 | 数据处理方法、装置、计算机设备和存储介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110673119.5A Active CN113435591B (zh) | 2019-08-14 | 2019-08-14 | 数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113435591B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281405A (zh) * | 2020-09-27 | 2022-04-05 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置和存储介质 |
CN114282679A (zh) * | 2020-09-27 | 2022-04-05 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981941A (zh) * | 2012-11-08 | 2013-03-20 | 大唐软件技术股份有限公司 | 一种告警处理方法及告警处理装置 |
CN106447034A (zh) * | 2016-10-27 | 2017-02-22 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN107832842A (zh) * | 2017-11-28 | 2018-03-23 | 北京地平线信息技术有限公司 | 针对折叠特征数据执行卷积运算的方法和装置 |
CN109657782A (zh) * | 2018-12-14 | 2019-04-19 | 北京中科寒武纪科技有限公司 | 运算方法、装置及相关产品 |
CN109754011A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 基于Caffe的数据处理方法、装置和相关产品 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7433860B1 (en) * | 2003-08-05 | 2008-10-07 | Sprint Communications Company L.P. | Method and system for labeling communications cables |
US9418331B2 (en) * | 2013-10-28 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus for tagging classes using supervised learning |
US9600764B1 (en) * | 2014-06-17 | 2017-03-21 | Amazon Technologies, Inc. | Markov-based sequence tagging using neural networks |
US10223371B2 (en) * | 2014-11-21 | 2019-03-05 | Vmware, Inc. | Host-based deduplication using array generated data tags |
CN115115029A (zh) * | 2015-11-06 | 2022-09-27 | 谷歌有限责任公司 | 训练神经网络的方法、系统及存储介质 |
WO2018184570A1 (zh) * | 2017-04-06 | 2018-10-11 | 上海寒武纪信息科技有限公司 | 运算装置和方法 |
CN109492241B (zh) * | 2018-08-10 | 2020-03-10 | 中科寒武纪科技股份有限公司 | 转换方法、装置、计算机设备和存储介质 |
CN110096309B (zh) * | 2018-11-14 | 2020-04-14 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
-
2019
- 2019-08-14 CN CN202110673119.5A patent/CN113435591B/zh active Active
- 2019-08-14 CN CN201910748310.4A patent/CN110458286B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981941A (zh) * | 2012-11-08 | 2013-03-20 | 大唐软件技术股份有限公司 | 一种告警处理方法及告警处理装置 |
CN106447034A (zh) * | 2016-10-27 | 2017-02-22 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN107832842A (zh) * | 2017-11-28 | 2018-03-23 | 北京地平线信息技术有限公司 | 针对折叠特征数据执行卷积运算的方法和装置 |
CN109657782A (zh) * | 2018-12-14 | 2019-04-19 | 北京中科寒武纪科技有限公司 | 运算方法、装置及相关产品 |
CN109754011A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 基于Caffe的数据处理方法、装置和相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN113435591B (zh) | 2024-04-05 |
CN113435591A (zh) | 2021-09-24 |
CN110458286A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110458285B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110647981B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110119807B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN114580606A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110458286B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110555522B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112084023B (zh) | 数据并行处理的方法、电子设备及计算机可读存储介质 | |
CN111047005A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111353124A (zh) | 运算方法、装置、计算机设备和存储介质 | |
WO2021018313A1 (zh) | 数据同步方法及装置以及相关产品 | |
CN114580607A (zh) | 数据处理方法、装置和存储介质 | |
CN111061507A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111813449A (zh) | 运算方法、装置及相关产品 | |
CN111275197B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN109543835B (zh) | 运算方法、装置及相关产品 | |
CN109542837B (zh) | 运算方法、装置及相关产品 | |
CN115373646A (zh) | 扩展信息方法、装置和相关产品 | |
CN114282679A (zh) | 数据处理方法、装置和存储介质 | |
CN111338694B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN112395008A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111290789B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111026440B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111290788B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111353125B (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN111124497B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing Applicant after: Zhongke Cambrian Technology Co., Ltd Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |