CN112446464B - 一种神经网络卷积运算方法、装置以及相关产品 - Google Patents
一种神经网络卷积运算方法、装置以及相关产品 Download PDFInfo
- Publication number
- CN112446464B CN112446464B CN201910819940.6A CN201910819940A CN112446464B CN 112446464 B CN112446464 B CN 112446464B CN 201910819940 A CN201910819940 A CN 201910819940A CN 112446464 B CN112446464 B CN 112446464B
- Authority
- CN
- China
- Prior art keywords
- data
- operated
- operation result
- computing nodes
- convolution operation
- 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
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 48
- 238000004364 calculation method Methods 0.000 claims description 77
- 238000004590 computer program Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 20
- 238000013473 artificial intelligence Methods 0.000 claims description 14
- 230000006854 communication Effects 0.000 abstract description 12
- 238000004891 communication Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000012447 hatching Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 210000002364 input neuron Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Communication Control (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种神经网络卷积运算方法、装置及相关产品,所述方法用于对神经网络的卷积运算进行优化。本申请提供的技术方案具有减少通信时间、提高运算效率的优点。
Description
技术领域
本申请涉及信息处理技术领域,具体涉及一种神经网络卷积运算方法、装置以及相关产品。
背景技术
目前,人工神经网络是所有智能方法中最常见的计算模型之一。在进行神经网络各个网络层的运算过程中以及神经网络训练的过程中,存在数据通信的通信时间以及处理数据的计算时间。
然而,现有技术中还没有有效减少通信时间,使得数据通信的时间被数据计算的时间覆盖的方案。为了改进性能,有必要采用各种手段来改进神经网络中的网络层运算。
发明内容
本申请实施例提供了一种神经网络卷积运算方法、装置及相关产品,可减少数据通信时间,使得通信过程被计算过程覆盖,并提高卷积运算的效率。
第一方面,提供一种卷积运算方法,所述方法应用于包括多个计算节点的人工智能处理器,对于任一计算节点,所述方法包括:
根据目标数据执行卷积运算,得到运算结果,所述目标数据为多组待运算数据中的任一组;
在对所述目标数据执行卷积运算并得到运算结果的过程中,在确定所述运算结果被其他计算节点使用的情况下,将所述运算结果发送至对应的所述其他计算节点。
第二方面,提供一种卷积运算装置,所述装置应用于包括多个计算节点的人工智能处理器,对于任一计算节点,所述装置包括:
第一执行单元,用于根据目标数据执行卷积运算,得到运算结果,所述目标数据为多组待运算数据中的任一组;
发送单元,用于在对所述目标数据执行卷积运算并得到运算结果的过程中,在确定所述运算结果被其他计算节点使用的情况下,将所述运算结果发送至对应的所述其他计算节点。
第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的方法。
第四方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面提供的方法。
第五方面,提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行第一方面提供的方法。
本申请提供的技术方案在卷积运算的过程中,通过在执行卷积运算并得到运算结果的过程中,将运算结果发送至对应的需要使用该计算结果的其他计算节点,一边计算一边将发送计算结果,而不是待计算完成后再发送计算结果,从而减少通信时间;并且,将每个计算节点运算的数据分为多组待运算数据,优先执行运算结果被其他计算节点使用的一组待运算数据的卷积运算,这样计算节点就能更快获得卷积运算所需的数据,而无需等待多组待运算数据全部计算完毕;此外,每个计算节点在计算完自己的卷积运算后,即可执行后续的神经网络层的运算,而无须等待计算最慢的计算节点计算完成,从而提高了运算效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种神经网络构架的结构示意图。
图2提供了根据本申请一个实施例的多核系统的示意图。
图3提供了根据本申请一个实施例的卷积算法的示意图。
图4提供了根据本申请另一个实施例的卷积算法的示意图。
图5提供了根据本申请一个实施例的计算节点之间的拓扑结构的示意图。
图6是根据本申请实施例的卷积运算方法的流程图。
图7是根据本申请实施例的卷积运算装置的示意图。
图8是本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
参阅图1,图1提供了一种神经网络构架示意图,如图1所示,神经网络构架可以包括多层结构,该多层结构如图1所示,可以包括:输入层、卷积层1、batchnorm层、卷积层2、中间层(依据不同功能的神经网络构架具有不同的中间层,该中间层可以为至少一层)、卷积层n、全连接层1、激活(例如激活函数:softmax)层。对于神经网络构架,对于计算量较大的层可以称为计算层,例如卷积层、全连接层等等,当然在实际应用中,上述计算层还可以包含其他类型的层,另外,本申请提供的图1中的神经网络构架仅仅是为了举例说明,本申请中的神经网络并不局限如图1所示的构架。
图2提供了根据本申请一个实施例的多核系统的示意图。如图2所示,该核系统可以为一个神经网络芯片。该多核系统包括16个核(CORE),包含4个存储节点,16个核通过一个环状的NOC与4个存储节点DRAM相连。需要注意的是,该多核系统的核可以为神经网络芯片中的计算核,存储节点的类型可以是任意类型的存储器,例如,动态随机存取存储器(Dynamic Random Access Memory,DRAM)、静态随机存取存储器(Static Random AccessMemory,SRAM)等。
根据图2所示的示例,多核系统为16个核以及4的存储节点。然而,可以理解的是,多核系统可以包括任意数量的核以及任意数量的存储节点,这些都属于本申请覆盖的范围。
图3提供了根据本申请一个实施例的卷积算法的示意图。在深度学习所处理的数据量较大时,考虑多个芯片或多个计算核协同处理的总体数据。
首先,将总体数据分配给各个计算节点,需要根据计算节点的数量,确定每个计算节点的输入数据。在一个实施例中,如果人工智能处理器中计算节点的数量为N个,对于N个计算节点,可将总体数据分为N个部分的数据,这N个部分的数据分别作为N个计算节点的输入数据。在另一个可选的实施例中,对于N个计算节点,可将总体数据分为N的倍数(例如2N、3N等)个部分的数据。在又一个实施例中,对于N个计算节点,还可将总体数据分为小于N个部分的数据。在又一个可选实施例中,对于N个计算节点,还可将总体数据分为任意数个部分的数据。在一个实施例中,进行神经网络并行运算时,也可以每个计算节点存储全部权值,对输入神经元进行拆分。
在图3所示的实施例中,存在4个计算节点,计算节点1、计算节点2、计算节点3和计算节点4,分别分布在左上角、右上角、左下角和右下角。将需要处理的总体数据分成4个输入数据,每一个输入数据分配给一个计算节点处理。虽然采用了4个计算节点,本领域技术人员能够理解的是,根据实际应用的需要,计算节点的数目可以是任意的。另外,需要注意的是,计算节点1、计算节点2、计算节点3和计算节点4包括神经网络芯片,和/或神经网络芯片中的计算核。而且,计算节点1、计算节点2、计算节点3和计算节点4之间可以采用任意的拓扑结构,譬如环状、网状、树状,或者其他包括环状的结构。
其次,对于输入数据的拆分,可以根据负载均衡的原则将输入数据拆分为多组待运算数据,也可以将所述输入数据沿着高度方向和/或宽度方向拆分为多组待运算数据。当然,对于输入数据还可以存在其他拆分方式,这些都属于本申请覆盖的范围。
上述对输入数据的拆分,可以是计算节点获取输入数据后进行的拆分,也可以是将输入数据拆分为多组待运算数据后,计算节点接收拆分好的多组待运算数据。
如图3所示,将计算节点1、计算节点2、计算节点3和计算节点4中每个计算节点输入数据拆分为4组待运算数据,即第1组待运算数据,第2组待运算数据、第3组待运算数据和第4组待运算数据。然后,计算节点对这4组待运算数据分别执行卷积运算。
如图3所示,在执行卷积运算的过程中,由于滑动窗口的存在,滑动窗口框住的数据有可能跨越多个计算节点,那么,需要将重叠的部分传输给对应的计算节点,例如,需要将计算节点1的斜线部分表示的计算结果发送给计算节点2。在一个优选的实施例中,计算节点1在执行卷积运算并得到运算结果的过程中,将运算结果发送至计算节点2。这样,一边计算一边将发送运算结果,而不是待计算完成后再发送计算结果,从而减少通信时间。而且,依靠该运算结果执行运算的其他计算节点,在收到该运算结果后,能够更快启动相应的运算。
如图3所示,将为其他计算节点执行后续卷积层的卷积运算时所使用的数据称为重叠数据,例如,如图3中,计算节点1的运算结果中用斜线表示的部分为计算节点2执行后续卷积层的卷积运算时所使用的数据,那么,在一个优选的实施例中,计算节点1将针对第2组待运算数据的运算结果发送至计算节点2的过程中发送重叠数据,即可以发送斜线表示的部分。再如,如图3中,计算节点1的针对第4组待运算数据的计算结果中斜线表示的部分为计算节点2执行后续卷积层的卷积运算时所使用的数据,竖线表示的部分为计算节点3执行后续卷积层的卷积运算时所使用的数据,而阴影表示的部分为计算节点2、计算节点3和计算节点4执行后续卷积层的卷积运算时所使用的数据,那么,计算节点1将斜线表示的部分发送至计算节点2,将竖线表示的部分发送至计算节点3,将将阴影表示的部分发送至计算节点2、计算节点3和计算节点4中的每一者。
另外,对于4组待运算数据可以采用任意顺序。在一个优选的实施例中,计算节点优先执行运算结果被其他计算节点使用的一组待运算数据的卷积运算。图4提供了根据本申请另一个实施例的卷积算法的示意图。如图4所示,执行顺序为实线箭头、虚线箭头、点箭头和点线箭头,箭头上的数字表示第几组待运算数据,例如,1表示第1组待运算数据。
从而,对于计算节点1来说,执行顺序为:第2组待运算数据,第3组待运算数据、第4组待运算数据和第1组待运算数据。对于计算节点2来说,执行顺序为:第1组待运算数据,第3组待运算数据、第4组待运算数据和第2组待运算数据。对于计算节点3来说,执行顺序为:第4组待运算数据,第2组待运算数据、第1组待运算数据和第3组待运算数据。对于计算节点4来说,执行顺序为:第3组待运算数据,第1组待运算数据、第2组待运算数据和第4组待运算数据。
图3和图4只是举出了多组待运算数据的执行顺序的一种实现方式。本领域技术人员在上述实施例的启示下可以想到的其他所有的多组待运算数据的执行顺序,都属于本申请覆盖的范围。
这样,将每个计算节点运算的数据分为多组待运算数据,优先执行运算结果被其他计算节点使用的一组待运算数据的卷积运算,计算节点就能更快获得卷积运算所需的数据,而无需等待多组待运算数据全部计算完毕。
在另一个实施例中,每个计算节点在完成各待运算数据的卷积运算后,执行所对应的后续的神经网络层的运算。对于图3所示的实施例来说,一个计算节点在完成4组待运算数据的卷积运算后,无需等待其他计算节点的各自的卷积运算是否完成,即可执行后续的神经网络层的运算。后续的神经网络层的运算可能是卷积运算,也可能是池化层的运算、分类层的运算等其他网络层的运算。
从而,每个计算节点在计算完自己的卷积运算后,即可执行后续的神经网络层的运算,而无须等待计算最慢的计算节点计算完成,从而提高了运算效率。
根据图3和图4的实施例,表1展示了计算节点1、计算节点2、计算节点3和计算节点4执行卷积运算的过程,在表1中以计算节点1、计算节点2、计算节点3和计算节点4协同执行两层卷积运算为例,其中计算节点1、计算节点2、计算节点3和计算节点4的拓扑结构如图5所示,计算节点1、计算节点2、计算节点3和计算节点4之间能够相互发送和接收数据。
需要注意的是,表1所示的协同执行两层卷积运算以及图5所示的计算节点之间的拓扑结构只是一种具体的实现方式,本领域技术人员在上述拓扑结构以及协同执行两层卷积运算的启发下,能够想到的其他拓扑结构以及协同执行卷积运算的方式,都属于本申请覆盖的范围。
表1
对于计算节点1来说,执行第二层卷积的第2组待运算数据(ID10),需要获取计算节点2执行第一层卷积的第1组待运算数据的运算结果(ID2),这两个执行动作之间相差了3组待运算数据的计算;计算节点1执行第二层卷积的第4组待运算数据(ID11),需要获取计算节点2执行第一层卷积的第3组待运算数据的运算结果(ID4)、计算节点3执行第一层卷积的第2组待运算数据的运算结果(ID5)以及计算节点4执行第一层卷积的第1组待运算数据的运算结果(ID6),这些执行动作之间相差了3组待运算数据的计算;计算节点1执行第二层卷积的第3组待运算数据(ID12),需要获取计算节点3执行第一层卷积的第1组待运算数据的运算结果(ID8),这两个执行动作之间相差了3组待运算数据的计算。
因此,对于计算节点1来说,其无需等待计算节点2、计算节点3和计算节点4,即使其执行速度比计算节点2、计算节点3和计算节点4快3个组待运算数据的计算,也无需降低其执行速度。
基于上述实施例,本申请提出一种卷积运算方法。如图6所示,所述卷积运算方法包括:
步骤S601,根据目标数据执行卷积运算,得到运算结果,所述目标数据为多组待运算数据中的任一组。
如图3所示,计算节点1所要执行的卷积运算包括4组待运算数据,计算系欸按1可以按照预定顺序,对任意一组待运算数据,例如第2组待运算数据,执行卷积运算,得到运算结果。
步骤S602,在对所述目标数据执行卷积运算并得到运算结果的过程中,在确定所述运算结果被其他计算节点使用的情况下,将所述运算结果发送至对应的所述其他计算节点。
如图3所述,例如,计算节点1对第2组待运算数据进行卷积运算的过程中,所得到的运算结果被计算节点2使用。那么,在确定所述运算结果被计算节点2使用的情况下,将所述运算结果发送至对应的计算节点2。再如,计算节点1对第3组待运算数据进行卷积运算的过程中,所得到的运算结果被计算节点2、计算节点3和计算节点4使用。那么,在确定所述运算结果被计算节点2使用的情况下,将所述运算结果发送至对应的计算节点2、计算节点3和计算节点4。
按照上述方法,一边计算一边将发送计算结果,而不是待计算完成后再发送计算结果,从而减少通信时间。而且,依靠该运算结果执行运算的其他计算节点,在收到该运算结果后,能够更快启动相应的运算。
更为具体地,步骤S602包括如下子步骤:
步骤S6021,在所述运算结果中确定重叠数据,所述重叠数据为所述其他计算节点执行后续卷积层的卷积运算时所使用的数据。
如图3所示,计算节点1在对第2组待运算数据进行卷积运算后,运算结果包括了为计算节点2执行后续卷积层的卷积运算时所使用的数据,即重叠数据(在图3中斜线用表示)。
步骤S6022,将所述重叠数据发送至对应的所述其他计算节点。
那么,对于该重叠数据,计算节点1需要将其发送给计算节点2。
更为具体地,步骤S6022包括如下子步骤:
将所述重叠数据发送至对应的一个或多个所述其他计算节点。
如上所述,在图3中,计算节点1在对第4组待运算数据进行卷积运算后,运算结果包括了为计算节点2、计算节点3和计算节点4执行后续卷积层的卷积运算时所使用的数据,即重叠数据(在图3中分别用斜线、竖线和阴影表示)。
那么,对于用斜线、竖线和阴影表示的数据部分,计算节点1需要相应地将其发送给计算节点2、计算节点3和计算节点4中的每一者。
更为具体地,步骤S501包括如下子步骤:
步骤S6011,优先执行所述运算结果被所述其他计算节点使用的所述目标数据的卷积运算。
如图3所述,计算节点优先执行运算结果被其他计算节点使用的一组待运算数据的卷积运算。例如,对于计算节点1来说,执行顺序为:第2组待运算数据,第3组待运算数据、第4组待运算数据和第1组待运算数据。
这样,将每个计算节点运算的数据分为多组待运算数据,优先执行运算结果被其他计算节点使用的一组待运算数据的卷积运算,计算节点就能更快获得卷积运算所需的数据,而无需等待多组待运算数据全部计算完毕。
在进一步的实施例中,所述卷积运算方法还包括:
步骤S603,根据人工智能处理器中计算节点的数量,确定每个计算节点的待运算数据和/或所述输入数据。
如上所述,如果人工智能处理器中计算节点的数量为N个,对于N个计算节点,可将总体数据分为N个部分的数据,这N个部分的数据分别作为N个计算节点的输入数据。在另一个可选的实施例中,对于N个计算节点,可将总体数据分为N的倍数(例如2N、3N等)个部分的数据。在又一个实施例中,对于N个计算节点,还可将总体数据分为小于N个部分的数据。在又一个可选实施例中,对于N个计算节点,还可将总体数据分为任意数个部分的数据。
在进一步的实施例中,所述卷积运算方法还包括:
步骤S604,将输入数据拆分为多组待运算数据。
如上所述,对于输入数据的拆分,可以根据负载均衡的原则将输入数据拆分为多组待运算数据,也可以将所述输入数据沿着高度方向和/或宽度方向拆分为多组待运算数据。当然,对于输入数据还可以存在其他拆分方式,这些都属于本申请覆盖的范围。
上述对输入数据的拆分,可以是计算节点获取输入数据后进行的拆分,也可以是将输入数据拆分为多组待运算数据后,计算节点接收拆分好的多组待运算数据。
如图3所示,将每个计算节点的输入数据拆分为4组待运算数据,即第1组待运算数据,第2组待运算数据、第3组待运算数据和第4组待运算数据。然后,计算节点对这4组待运算数据分别执行卷积运算。
在进一步的实施例中,所述卷积运算方法还包括:
步骤S605,接收所述多组待运算数据。
根据一个实施例中,在计算节点获取输入数据之前,输入数据已经被拆分为多组待运算数据。计算节点接收拆分好的多组待运算数据。
在进一步的实施例中,所述卷积运算方法还包括:
步骤S606,在完成各待运算数据的卷积运算后,执行所对应的后续的神经网络层的运算。
如上所述,图3所示的一个计算节点在完成4组待运算数据的卷积运算后,无需等待其他计算节点的各自的卷积运算是否完成,即可执行后续的神经网络层的运算。后续的神经网络层的运算可能是卷积运算,也可能是池化层的运算、分类层的运算等其他网络层的运算。
这样,每个计算节点在计算完自己的卷积运算后,即可执行后续的神经网络层的运算,而无须等待计算最慢的计算节点计算完成,从而提高了运算效率。
在进一步的实施例中,所述卷积运算方法还包括:
步骤S607,当待运算数据包括接收其他计算节点的运算结果的情况下,确定是否已经完成对其他计算节点的运算结果的接收。
如图3所示,对于计算节点1执行对第2组待运算数据运算,需要获取计算节点2对其第1组待运算数据的运算结果。那么,计算节点1在执行对第2组待运算数据运算之前,需要确定是否已经完成对计算节点2对其第1组待运算数据的运算结果的接收。
步骤S608,在确定完成对所述其他计算节点的运算结果的接收的情况下,根据所述目标数据执行卷积运算。
计算节点1确定已经完成对计算节点2对其第1组待运算数据的运算结果的接收,就可以执行对其第2组待运算数据运算。
以上主要针对计算节点1所执行的动作做了相关描述,本领域技术人员需要注意的是,以上针对计算节点1所执行的动作所作的描述同样也适用于计算节点2、计算节点3和计算节点4。并且,虽然采用了4个计算节点,本领域技术人员能够理解的是,根据实际应用的需要,计算节点的数目可以是任意的。
另外,需要注意的是,计算节点1、计算节点2、计算节点3和计算节点4包括神经网络芯片,和/或神经网络芯片中的计算核。而且,计算节点1、计算节点2、计算节点3和计算节点4之间可以采用任意的拓扑结构,譬如环状、网状、树状,或者其他包括环状的结构。
根据上述卷积运算方法,通过在执行卷积运算并得到运算结果的过程中,将运算结果发送至对应的需要使用该计算结果的其他计算节点,一边计算一边将发送计算结果,而不是待计算完成后再发送计算结果,从而减少通信时间;并且,将每个计算节点运算的数据分为多组待运算数据,优先执行运算结果被其他计算节点使用的一组待运算数据的卷积运算,这样计算节点就能更快获得卷积运算所需的数据,而无需等待多组待运算数据全部计算完毕;此外,每个计算节点在计算完自己的卷积运算后,即可执行后续的神经网络层的运算,而无须等待计算最慢的计算节点计算完成,从而提高了运算效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本披露,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本披露所必须的。
进一步需要说明的是,虽然图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
根据另一个实施例,本发明还提供一种神经网络卷积运算装置。如图7所示,该神经网络卷积运算装置包括:
第一执行单元701,用于根据目标数据执行卷积运算,得到运算结果,所述目标数据为多组待运算数据中的任一组。
更为具体地,第一执行单元701用于:优先执行所述运算结果被所述其他计算节点使用的所述目标数据的卷积运算。
发送单元702,用于在对所述目标数据执行卷积运算并得到运算结果的过程中,在确定所述运算结果被其他计算节点使用的情况下,将所述运算结果发送至对应的所述其他计算节点。
更为具体地,发送单元702用于:
在所述运算结果中确定重叠数据,所述重叠数据为所述其他计算节点执行后续卷积层的卷积运算时所使用的数据;
将所述重叠数据发送至对应的所述其他计算节点。
更为具体地,发送单元702用于:将所述重叠数据发送至对应的一个或多个所述其他计算节点。
在进一步的实施例中,所述卷积运算装置还包括:
第一确定单元703,用于根据人工智能处理器中计算节点的数量,确定每个计算节点的待运算数据和/或所述输入数据。
在进一步的实施例中,所述卷积运算装置还包括:
拆分单元704,用于将输入数据拆分为多组待运算数据。
如上所述,对于输入数据的拆分,可以根据负载均衡的原则将输入数据拆分为多组待运算数据,也可以将所述输入数据沿着高度方向和/或宽度方向拆分为多组待运算数据。当然,对于输入数据还可以存在其他拆分方式,这些都属于本申请覆盖的范围。
上述对输入数据的拆分,可以是计算节点获取输入数据后进行的拆分,也可以是将输入数据拆分为多组待运算数据后,计算节点接收拆分好的多组待运算数据。
在进一步的实施例中,所述卷积运算装置还包括:
接收单元705,用于接收所述多组待运算数据。
根据一个实施例中,在计算节点获取输入数据之前,输入数据已经被拆分为多组待运算数据。计算节点接收拆分好的多组待运算数据。
在进一步的实施例中,所述卷积运算装置还包括:
第二执行单元706,用于在完成各待运算数据的卷积运算后,执行所对应的后续的神经网络层的运算。
在进一步的实施例中,所述卷积运算装置还包括:
第二确定单元707,用于当待运算数据包括接收其他计算节点的运算结果的情况下,确定是否已经完成对其他计算节点的运算结果的接;以及
第三执行单元708,用于在确定完成对所述其他计算节点的运算结果的接收的情况下,根据所述目标数据执行卷积运算。
根据上述卷积运算装置,通过在执行卷积运算并得到运算结果的过程中,将运算结果发送至对应的需要使用该计算结果的其他计算节点,一边计算一边将发送计算结果,而不是待计算完成后再发送计算结果,从而减少通信时间;并且,将每个计算节点运算的数据分为多组待运算数据,优先执行运算结果被其他计算节点使用的一组待运算数据的卷积运算,这样计算节点就能更快获得卷积运算所需的数据,而无需等待多组待运算数据全部计算完毕;此外,每个计算节点在计算完自己的卷积运算后,即可执行后续的神经网络层的运算,而无须等待计算最慢的计算节点计算完成,从而提高了运算效率。
参阅图8,图8提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如图6所示的方法以及细化方案。
应该理解,上述的装置实施例仅是示意性的,本披露的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本披露各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述处理器或芯片可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述片上缓存、片外内存、存储器可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random-AccessMemory)、增强动态随机存取存储器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所示的方法以及细化方案。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
依据以下条款可更好地理解前述内容:
条款1,一种卷积运算方法,其特征在于,所述方法应用于包括多个计算节点的人工智能处理器,对于任一计算节点,所述方法包括:
根据目标数据执行卷积运算,得到运算结果,所述目标数据为多组待运算数据中的任一组;
在对所述目标数据执行卷积运算并得到运算结果的过程中,在确定所述运算结果被其他计算节点使用的情况下,将所述运算结果发送至对应的所述其他计算节点。
条款2,如条款1所述的方法,其特征在于,所述将所述运算结果发送至对应的所述其他计算节点,包括:
在所述运算结果中确定重叠数据,所述重叠数据为所述其他计算节点执行后续卷积层的卷积运算时所使用的数据;
将所述重叠数据发送至对应的所述其他计算节点。
条款3,如条款2所述的方法,其特征在于,所述将所述运算结果发送至对应的所述其他计算节点,包括:
将所述重叠数据发送至对应的一个或多个所述其他计算节点。
条款4,如条款1所述的方法,其特征在于,所述根据目标数据执行卷积运算,得到运算结果,包括:
优先执行所述运算结果被所述其他计算节点使用的所述目标数据的卷积运算。
条款5,如条款1所述的方法,其特征在于,所述方法还包括:
将输入数据拆分为所述多组待运算数据。
条款6,如条款5所述的方法,其特征在于,所述将输入数据拆分为所述多组待运算数据,包括:
将所述输入数据根据负载均衡的原则拆分为所述多组待运算数据。
条款7,如条款5所述的方法,其特征在于,所述将输入数据拆分为所述多组待运算数据,包括:
将所述输入数据沿着高度方向和/或宽度方向拆分为所述多组待运算数据。
条款8,如条款1所述的方法,其特征在于,所述方法还包括:
接收所述多组待运算数据。
条款9,如条款1或5所述的方法,其特征在于,所述方法还包括:
根据所述人工智能处理器中所述计算节点的数量,确定所述待运算数据和/或所述输入数据。
条款10,如条款1所述的方法,其特征在于,所述方法还包括:
在完成各待运算数据的卷积运算后,执行所对应的后续的神经网络层的运算。
条款11,如条款1所述的方法,其特征在于,所述方法还包括:
当所述待运算数据包括接收其他计算节点的运算结果的情况下,确定是否已经完成对所述其他计算节点的运算结果的接收;
在确定完成对所述其他计算节点的运算结果的接收的情况下,根据所述目标数据执行卷积运算。
条款12,如条款1至11任一项所述的方法,其特征在于,所述多个计算节点所形成的拓扑结构包括环状、网状、树状,或者其他包括环状的结构。
条款13,如条款1至12任一项所述的方法,其特征在于,所述计算节点包括:
神经网络芯片,和/或所述神经网络芯片中的计算核。
条款14,一种卷积运算装置,其特征在于,所述装置应用于包括多个计算节点的人工智能处理器,对于任一计算节点,所述装置包括:
第一执行单元,用于根据目标数据执行卷积运算,得到运算结果,所述目标数据为多组待运算数据中的任一组;
发送单元,用于在对所述目标数据执行卷积运算并得到运算结果的过程中,在确定所述运算结果被其他计算节点使用的情况下,将所述运算结果发送至对应的所述其他计算节点。
条款15,如条款14所述的装置,其特征在于,所述第一执行单元用于:
在所述运算结果中确定重叠数据,所述重叠数据为所述其他计算节点执行后续卷积层的卷积运算时所使用的数据;
将所述重叠数据发送至对应的所述其他计算节点。
条款16,如条款14所述的装置,其特征在于,所述发送单元用于:
将所述重叠数据发送至对应的一个或多个所述其他计算节点。
条款17,如条款14所述的装置,其特征在于,所述第一执行单元用于:
优先执行所述运算结果被所述其他计算节点使用的所述目标数据的卷积运算。
条款18,如条款14所述的装置,其特征在于,所述装置还包括:
拆分单元,用于将输入数据拆分为所述多组待运算数据。
条款19,如条款18所述的装置,其特征在于,所述拆分单元用于:
将所述输入数据根据负载均衡的原则拆分为所述多组待运算数据。
条款20,如条款18所述的装置,其特征在于,所述拆分单元用于:
将所述输入数据沿着高度方向和/或宽度方向拆分为所述多组待运算数据。
条款21,如条款14所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收所述多组待运算数据。
条款22,如条款14或18所述的装置,其特征在于,所述装置还包括:
第一确定单元,用于根据所述人工智能处理器中所述计算节点的数量,确定所述待运算数据和/或所述输入数据。
条款23,如条款14所述的装置,其特征在于,所述装置还包括:
第二执行单元,用于在完成各待运算数据的卷积运算后,执行所对应的后续的神经网络层的运算。
条款24,如条款14所述的装置,其特征在于,所述装置还包括:
第二确定单元,用于当所述待运算数据包括接收其他计算节点的运算结果的情况下,确定是否已经完成对所述其他计算节点的运算结果的接收;
第三执行单元,用于在确定完成对所述其他计算节点的运算结果的接收的情况下,根据所述目标数据执行卷积运算。
条款25,如条款14至24任一项所述的装置,其特征在于,所述多个计算节点所形成的拓扑结构包括环状、网状、树状,或者其他包括环状的结构。
条款26,如条款14至25任一项所述的装置,其特征在于,所述计算节点包括:
神经网络芯片,和/或所述神经网络芯片中的计算核。
条款27,一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如条款1-13任一所述的方法。
条款28,一种计算机可读存储介质,其特征在于,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如条款1-13任一项所述的方法。
条款29,一种计算机程序产品,其特征在于,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如条款1-13任一项所述的方法。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本披露的方法及其核心思想。同时,本领域技术人员依据本披露的思想,基于本披露的具体实施方式及应用范围上做出的改变或变形之处,都属于本披露保护的范围。综上所述,本说明书内容不应理解为对本披露的限制。
Claims (25)
1.一种卷积运算方法,其特征在于,所述方法应用于包括多个计算节点的人工智能处理器,对于任一计算节点,所述计算节点包括:神经网络芯片,和/或所述神经网络芯片中的计算核,所述方法包括:
根据目标数据执行卷积运算,得到运算结果,所述目标数据为多组待运算数据中的任一组;
在对所述目标数据执行卷积运算并得到运算结果的过程中,在确定所述运算结果被其他计算节点使用的情况下,将所述运算结果发送至对应的所述其他计算节点;
所述将所述运算结果发送至对应的所述其他计算节点,包括:
在所述运算结果中确定重叠数据,所述重叠数据为所述其他计算节点执行后续卷积层的卷积运算时所使用的数据;
将所述重叠数据发送至对应的所述其他计算节点。
2.如权利要求1所述的方法,其特征在于,所述将所述运算结果发送至对应的所述其他计算节点,包括:
将所述重叠数据发送至对应的一个或多个所述其他计算节点。
3.如权利要求1所述的方法,其特征在于,所述根据目标数据执行卷积运算,得到运算结果,包括:
优先执行所述运算结果被所述其他计算节点使用的所述目标数据的卷积运算。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
将输入数据拆分为所述多组待运算数据。
5.如权利要求4所述的方法,其特征在于,所述将输入数据拆分为所述多组待运算数据,包括:
将所述输入数据根据负载均衡的原则拆分为所述多组待运算数据。
6.如权利要求4所述的方法,其特征在于,所述将输入数据拆分为所述多组待运算数据,包括:
将所述输入数据沿着高度方向和/或宽度方向拆分为所述多组待运算数据。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述多组待运算数据。
8.如权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述人工智能处理器中所述计算节点的数量,确定所述待运算数据和/或所述输入数据。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
在完成各待运算数据的卷积运算后,执行所对应的后续的神经网络层的运算。
10.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述待运算数据包括接收其他计算节点的运算结果的情况下,确定是否已经完成对所述其他计算节点的运算结果的接收;
在确定完成对所述其他计算节点的运算结果的接收的情况下,根据所述目标数据执行卷积运算。
11.如权利要求1至10任一项所述的方法,其特征在于,所述多个计算节点所形成的拓扑结构包括环状、网状、树状,或者其他包括环状的结构。
12.一种卷积运算装置,其特征在于,所述装置应用于包括多个计算节点的人工智能处理器,对于任一计算节点,所述计算节点包括:神经网络芯片,和/或所述神经网络芯片中的计算核,所述装置包括:
第一执行单元,用于根据目标数据执行卷积运算,得到运算结果,所述目标数据为多组待运算数据中的任一组;在所述运算结果中确定重叠数据,所述重叠数据为其他计算节点执行后续卷积层的卷积运算时所使用的数据;将所述重叠数据发送至对应的所述其他计算节点;
发送单元,用于在对所述目标数据执行卷积运算并得到运算结果的过程中,在确定所述运算结果被其他计算节点使用的情况下,将所述运算结果发送至对应的所述其他计算节点。
13.如权利要求12所述的装置,其特征在于,所述发送单元用于:
将所述重叠数据发送至对应的一个或多个所述其他计算节点。
14.如权利要求12所述的装置,其特征在于,所述第一执行单元用于:
所述第一执行单元用于:
优先执行所述运算结果被所述其他计算节点使用的所述目标数据的卷积运算。
15.如权利要求12所述的装置,其特征在于,所述装置还包括:
拆分单元,用于将输入数据拆分为所述多组待运算数据。
16.如权利要求15所述的装置,其特征在于,所述拆分单元用于:
所述拆分单元用于:
将所述输入数据根据负载均衡的原则拆分为所述多组待运算数据。
17.如权利要求15所述的装置,其特征在于,所述拆分单元用于:
将所述输入数据沿着高度方向和/或宽度方向拆分为所述多组待运算数据。
18.如权利要求12所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收所述多组待运算数据。
19.如权利要求15所述的装置,其特征在于,所述装置还包括:
第一确定单元,用于根据所述人工智能处理器中所述计算节点的数量,确定所述待运算数据和/或所述输入数据。
20.如权利要求12所述的装置,其特征在于,所述装置还包括:
第二执行单元,用于在完成各待运算数据的卷积运算后,执行所对应的后续的神经网络层的运算。
21.如权利要求12所述的装置,其特征在于,所述装置还包括:
第二确定单元,用于当所述待运算数据包括接收其他计算节点的运算结果的情况下,确定是否已经完成对所述其他计算节点的运算结果的接收;
第三执行单元,用于在确定完成对所述其他计算节点的运算结果的接收的情况下,根据所述目标数据执行卷积运算。
22.如权利要求12至21任一项所述的装置,其特征在于,所述多个计算节点所形成的拓扑结构包括环状、网状、树状,或者其他包括环状的结构。
23.如权利要求12至21任一项所述的装置,其特征在于,所述计算节点包括:
第二确定单元,用于当所述待运算数据包括接收其他计算节点的运算结果的情况下,确定是否已经完成对所述其他计算节点的运算结果的接收;
第三执行单元,用于在确定完成对所述其他计算节点的运算结果的接收的情况下,根据所述目标数据执行卷积运算。
24.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-11任一所述的方法。
25.一种计算机可读存储介质,其特征在于,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-11任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910819940.6A CN112446464B (zh) | 2019-08-31 | 2019-08-31 | 一种神经网络卷积运算方法、装置以及相关产品 |
PCT/CN2020/095205 WO2021036404A1 (zh) | 2019-08-31 | 2020-06-09 | 数据传输方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910819940.6A CN112446464B (zh) | 2019-08-31 | 2019-08-31 | 一种神经网络卷积运算方法、装置以及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112446464A CN112446464A (zh) | 2021-03-05 |
CN112446464B true CN112446464B (zh) | 2023-05-30 |
Family
ID=74735198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910819940.6A Active CN112446464B (zh) | 2019-08-31 | 2019-08-31 | 一种神经网络卷积运算方法、装置以及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112446464B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726353A (zh) * | 2017-10-29 | 2019-05-07 | 上海寒武纪信息科技有限公司 | 卷积运算装置和方法 |
CN109978151A (zh) * | 2017-12-27 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 神经网络处理器板卡及相关产品 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102415508B1 (ko) * | 2017-03-28 | 2022-07-01 | 삼성전자주식회사 | 컨볼루션 신경망 처리 방법 및 장치 |
KR102452953B1 (ko) * | 2017-10-30 | 2022-10-11 | 삼성전자주식회사 | 뉴럴 네트워크의 컨볼루션 연산을 수행하는 방법 및 장치 |
KR20190051697A (ko) * | 2017-11-07 | 2019-05-15 | 삼성전자주식회사 | 뉴럴 네트워크의 디컨벌루션 연산을 수행하는 장치 및 방법 |
CN109993273B (zh) * | 2017-12-29 | 2021-05-11 | 深圳云天励飞技术有限公司 | 卷积神经网络的卷积实现方法及相关产品 |
-
2019
- 2019-08-31 CN CN201910819940.6A patent/CN112446464B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726353A (zh) * | 2017-10-29 | 2019-05-07 | 上海寒武纪信息科技有限公司 | 卷积运算装置和方法 |
CN109978151A (zh) * | 2017-12-27 | 2019-07-05 | 北京中科寒武纪科技有限公司 | 神经网络处理器板卡及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN112446464A (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263921B (zh) | 一种联邦学习模型的训练方法及装置 | |
TWI759361B (zh) | 用於稀疏神經網路加速的架構、方法、電腦可讀取媒體和裝備 | |
US10509846B2 (en) | Accelerator for processing data | |
CN107301456B (zh) | 基于向量处理器的深度神经网络多核加速实现方法 | |
US20180260710A1 (en) | Calculating device and method for a sparsely connected artificial neural network | |
EP3451236A1 (en) | Method and device for executing forwarding operation of fully-connected layered neural network | |
JP2020536337A5 (zh) | ||
US20230026006A1 (en) | Convolution computation engine, artificial intelligence chip, and data processing method | |
CN105930902A (zh) | 一种神经网络的处理方法、系统 | |
CN112633490B (zh) | 执行神经网络模型的数据处理装置、方法及相关产品 | |
CN107527090A (zh) | 应用于稀疏神经网络的处理器和处理方法 | |
CN110309918B (zh) | 神经网络在线模型的验证方法、装置和计算机设备 | |
WO2022134465A1 (zh) | 加速可重构处理器运行的稀疏化数据处理方法和装置 | |
WO2023179482A1 (zh) | 一种图像处理方法、神经网络的训练方法以及相关设备 | |
CN109753319A (zh) | 一种释放动态链接库的装置及相关产品 | |
CN110490302B (zh) | 一种神经网络编译优化方法、装置以及相关产品 | |
CN113055218A (zh) | Nfv网络的冗余性评价方法、装置及计算设备 | |
CN113240128B (zh) | 数据不平衡的协同训练方法、装置、电子设备及存储介质 | |
CN110992241A (zh) | 异构嵌入式系统及其加速神经网络目标检测的方法 | |
CN112446464B (zh) | 一种神经网络卷积运算方法、装置以及相关产品 | |
CN110750945B (zh) | 一种芯片的仿真方法、装置、仿真芯片以及相关产品 | |
WO2018135515A1 (ja) | 情報処理装置、ニューラルネットワークの設計方法及び記録媒体 | |
CN112446463B (zh) | 一种神经网络全连接层运算方法、装置以及相关产品 | |
CN109697511A (zh) | 数据推理方法、装置及计算机设备 | |
CN109993200A (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 |