CN109844774A - 一种并行反卷积计算方法、单引擎计算方法及相关产品 - Google Patents
一种并行反卷积计算方法、单引擎计算方法及相关产品 Download PDFInfo
- Publication number
- CN109844774A CN109844774A CN201880003706.XA CN201880003706A CN109844774A CN 109844774 A CN109844774 A CN 109844774A CN 201880003706 A CN201880003706 A CN 201880003706A CN 109844774 A CN109844774 A CN 109844774A
- Authority
- CN
- China
- Prior art keywords
- deconvolution
- parallel
- data
- input data
- calculation method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 abstract description 9
- 230000015572 biosynthetic process Effects 0.000 abstract description 2
- 108091006146 Channels Proteins 0.000 description 23
- 238000010586 diagram Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 210000004218 nerve net Anatomy 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013497 data interchange Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
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
-
- 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)
- 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)
- Devices For Executing Special Programs (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
Abstract
本申请提供一种并行反卷积计算方法、单引擎计算方法及相关产品,所述并行反卷积计算方法包括如下步骤:获取Pd个输入数据,以及Pk个反卷积核参数;将Pd个输入数据同时与一个反卷积核进行运算,形成数据并行;在Pk个反卷积核中同时以Pd个输入数据进行数据并行,形成反卷积并行;其中,Pd和Pk为大于等于1的整数。本申请通过Pd个输入数据与一个反卷积核并行计算,再在Pk个反卷积核中同时以Pd个输入数据进行数据并行形成反卷积并行,极大提高了反卷积神经网络的并行度。
Description
技术领域
本申请涉及计算机以及人工智能技术领域,具体涉及一种并行反卷积计算方法、单引擎计算方法及相关产品。
背景技术
随着生成神经网络在机器学习领域的不断发展与成熟,反卷积层被越来越多的应用到深度卷积网络的算法开发与应用中。卷积操作的作用类似神经网络中的编码器,用于对高维数据进行低维特征提取。反卷积通常用于将低维特征映射成高维输入,相当于一个解码器,实现了低维向量到高维向量的重构。反卷积操作主要应用于对抗生成神经网络,在图像分割、图像生成、边缘检测等领域都有很重要的作用。
现有的反卷积操作计算量大,能耗大,当使在反卷积神经网张加速器上时,使现有反卷积加速器并行度不高,性能不理想,多个反卷积引擎的加入使控制系统复杂。
申请内容
本申请实施例提供了一种并行反卷积计算方法、单引擎计算方法及相关产品,只采用一个反卷积引擎通过处理器进行反复调用,减少了反卷积引擎的数量,降低功耗。
第一方面,本申请提供一种并行反卷积计算方法,所述方法包括如下步骤:
S1、获取Pd个输入数据,以及Pk个反卷积核参数;
S21、将Pd个输入数据同时与一个反卷积核进行运算,形成数据并行;
S22、在Pk个反卷积核中同时以Pd个输入数据进行数据并行,形成反卷积并行;
其中,Pd和Pk为大于等于1的整数。
第二方面,提供一种并行反卷积单引擎计算方法,其特征在于,所述方法包括如下步骤:
S101、通过总线接口对反卷积计算引擎和存取器进行参数配置;
S102、将输入数据及参数存储到缓存器中;
S103、从缓存器中读取Pk个反卷积核参数k*k,并存储到寄存器中,用于并行计算。
S104、处理器调用反卷积计算引擎,利用反卷积计算引擎,使用第一方面所述的并行反卷积计算方法计算输入数据的第一个输入通道的数据,并将数据结果存储在输出缓存器中;
S105、通过处理器多次调用反卷积计算引擎,迭代多个输入通道,将当前通道输出结果与前一通道输出结果相加,得到当前数据结果,将当前数据结果存储在当前输出缓存器中;
S106、计算完成输入通道后,将输出缓存器中的数据读到存储器中;
S107、重复步骤S103-S106,直到得到最终结果。
优选的,所述步骤S101中包括:
将Pk个反卷积核进行循环展开,形成反卷积处理单元,所述反卷积处理单元用于输入数据的反卷积计算。
优选的,所述步骤S102中包括:
将待处理数据存储在存储器中,通过存取器将待处理数据读到缓存器中作为输入数据备用。
第三方面,一种并行反卷积计算系统,其特征在于,所述系统包括:
获取模块,用于获取Pd个输入数据,以及Pk个反卷积核参数;
并行运算模块,用于将Pd个输入数据同时与一个反卷积核进行运算,形成数据并行;
并行反卷积模块,用于在Pk个反卷积核中同时以Pd个输入数据进行数据并行,形成反卷积并行。
第四方面,一种并行反卷积单计算引擎架构,其特征在于,所述引擎架构包括:处理器、总线接口、设置有反卷积核的反卷积计算引擎、存取器、片上存储器、片外存储器以及互连;
其中,所述处理器与所述总线接口通过所述互连进行连接,所述总线接口与所述反卷积计算引擎及所述存取器分别进行连接,所述存取器与所述片外存储器通过所述互连进行连接,所述存取器与所述片上存储器进行连接,所述片上存储器设置于所述反卷积计算引擎内;
优选的,所述反卷积计算引擎包括:
反卷积处理单元,由反卷积核循环展开形成,用于对输入数据进行计算;
数据输入通道,与所述反卷积处理单元输入端进行连接,用于输入待处理数据;
输出缓存器,与所述反卷积处理单元输出端进行连接,用于缓存输入数据的计算结果;
加法单元,用于将当前数据输入通道的输出结果与前一通道输出结果进行相加,并写回所述输出缓存器。
优选的,所述反卷积计算引擎还包括:
参数缓存器,用于缓存反卷积核参数;
寄存器,用于存储从参数缓存器中读取的Pk个并行反卷积核参数。
第五方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如第一方面提供的方法。
第六方面,提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行第一方面提供的方法。
实施本申请实施例,具有如下有益效果:
可以看出,本申请通过Pd个输入数据与一个反卷积核并行计算,再在Pk个反卷积核中同时以Pd个输入数据进行数据并行形成反卷积并行,极大提高了反卷积神经网络的并行度,通过处理器多次调用反卷积计算引擎进行计算来实现整个神经网络,神经网络更改时,硬件不需要更改,不需要额外增加新的反卷积计算引擎,只需更改处理器对参数进行配置,灵活性强,通用性强,资源使用少。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是并行反卷积计算方法流程示意图。
图2是本申请提供的并行反卷积单引擎计算方法的流程示意图。
图3是本申请提供的另一种并行反卷积单引擎计算方法的流程示意图。
图4是本申请提供的一种并行反卷积单计算引擎架构的结构图。
图5是本申请提供的反卷积计算引擎的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请中的电子装置可以包括:服务器、智能摄像设备、智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备等,上述电子装置仅是举例,而非穷举,包含但不限于上述电子装置,为了描述的方便,下面实施例中将上述电子装置称为用户设备(User equipment,UE)、终端或电子设备。当然在实际应用中,上述用户设备也不限于上述变现形式,例如还可以包括:智能车载终端、计算机设备等等。
如图1所示,一种并行反卷积计算方法,为了提高计算引擎的并行度,本文引入数据并行(Pd)和反卷积核并行(Pk)两参数。其中,Pd表示同时处理的输入数据量;Pk表示并行处理的反卷积核的数目。
所述方法包括如下步骤:
S1、获取Pd个输入数据,以及Pk个反卷积核参数;
S21、将Pd个输入数据同时与一个反卷积核进行运算,形成数据并行;
S22、在Pk个反卷积核中同时以Pd个输入数据进行数据并行,形成反卷积并行;
其中,Pd和Pk为大于等于1的整数。
在反卷积计算中,Pd个输入数据同时和一个反卷积核进行运算,Pd个输入数据,同时和Pk个反卷积核进行运算,使得数据的并行与反卷积的并行同时进行,极大提高了反卷积神经网络的并行度,从而实现性能的最优化。
如图2所示,第二方面,提供一种并行反卷积单引擎计算方法,其特征在于,所述方法包括如下步骤:
S101、通过总线接口对反卷积计算引擎和存取器进行参数配置;进一步的,通过处理器进行参数配置,所述参数配置包括配置并行参数,具体的配置数据并行参数为Pd和配置反卷积并行参数为Pk。
S102、将输入数据及参数存储到缓存器中;这样,使所述反卷积计算引擎可以对输入数据及参数进行调用,加快计算的过程。
S103、从缓存器中读取Pk个反卷积核参数k*k,并存储到寄存器中,用于并行计算。所述Pk个反卷积核参数k*k的数据量为Pk*k*k,以w位宽的寄存器为例,其寄存器为Pk*k*k*w位,所述寄存器中的参数用于并行计算。
S104、处理器调用反卷积计算引擎,利用反卷积计算引擎,使用第一方面所述的并行反卷积计算方法计算输入数据的第一个输入通道的数据,并将数据结果存储在输出缓存器中;具体的计算方法请参照第一方面,输出缓存器中存储计算结果,需要说明的是,每个输入通道对一个输出缓存器。
S105、通过处理器多次调用反卷积计算引擎,迭代多个输入通道,将当前通道输出结果与前一通道输出结果相加,得到当前数据结果,将当前数据结果存储在当前输出缓存器中;进一步的,在得到通过反卷积处理单元计算得到第一当前数据结果后,将第一当前数据结果存储在当前输出缓存器中,再将第一当前数据结果从当前输出缓存器中读出,同时将前一个数据结果从前一个输出缓存器中读出,将第一当前数据结果与前一个数据进行加法计算,得到当前数据结果,再写回当前输出缓存器中。比如,经过反卷积处理单元计算得到第一当前数据结果为1,前一个数据结果为4,则当前数据结果为第一当前数据结果1与前一个数据结果4的求和值,所以当前数据结果为5,对当前数据结果5返写加当前输出缓存器中。
S106、计算完成所有输入通道后,将输出缓存器中的数据读到存储器中;
S107、重复步骤S103-S106,直到得到最终结果。
这样通过处理器多次调用反卷积计算引擎进行计算来实现整个神经网络,神经网络更改时,硬件不需要更改,不需要额外增加新的反卷积计算引擎,只需更改处理器对参数进行配置,灵活性强,通用性强,资源使用少。
如图3所示,做为一种可能实施例,所述方法还可以是包括步骤:
S101a、通过总线接口对反卷积计算引擎和存取器进行参数配置;进一步的,通过处理器进行参数配置,所述参数配置包括配置并行参数,具体的配置数据并行参数为Pd和配置反卷积并行参数为Pk。
S102a、将输入数据及参数存储到缓存器中;这样,使所述反卷积计算引擎可以对输入数据及参数进行调用,加快计算的过程。
S103a、从缓存器中读取Pk个反卷积核参数k*k,并存储到寄存器中,用于并行计算。所述Pk个反卷积核参数k*k的数据量为Pk*k*k,以w位宽的寄存器为例,其寄存器为Pk*k*k*w位,所述寄存器中的参数用于并行计算。
S104a、处理器调用反卷积计算引擎,利用反卷积计算引擎,使用第一方面所述的并行反卷积计算方法计算输入数据的第一个输入通道的数据,并将数据结果存储在输出缓存器中;具体的计算方法请参照第一方面,输出缓存器中存储计算结果,需要说明的是,每个输入通道对一个输出缓存器。
S105a、通过处理器多次调用反卷积计算引擎,迭代多个输入通道,将当前通道输出结果与前一通道输出结果相加,得到当前数据结果,将当前数据结果存储在当前输出缓存器中;进一步的,在得到通过反卷积处理单元计算得到第一当前数据结果后,将第一当前数据结果存储在当前输出缓存器中,再将第一当前数据结果从当前输出缓存器中读出,同时将前一个数据结果从前一个输出缓存器中读出,将第一当前数据结果与前一个数据进行加法计算,得到当前数据结果,再写回当前输出缓存器中。比如,经过反卷积处理单元计算得到第一当前数据结果为1,前一个数据结果为4,则当前数据结果为第一当前数据结果1与前一个数据结果4的求和值,所以当前数据结果为5,对当前数据结果5返写加当前输出缓存器中。
S106a、计算完成一个输入通道后,将输出缓存器中的数据读到存储器中;
S107a、重复步骤S103a-S106a,直到得到最终结果。
在本申请实施例中,所述步骤S101中包括:
将Pk个反卷积核进行循环展开,形成反卷积处理单元,所述反卷积处理单元用于输入数据的反卷积计算。
进一步的,在本申请实施例中,所述步骤S102中包括:
将待处理数据存储在存储器中,通过存取器将待处理数据读到缓存器中作为输入数据备用。
第三方面,一种并行反卷积计算系统,其特征在于,所述系统包括:
获取模块,用于获取Pd个输入数据,以及Pk个反卷积核参数;
并行运算模块,用于将Pd个输入数据同时与一个反卷积核进行运算,形成数据并行;
并行反卷积模块,用于在Pk个反卷积核中同时以Pd个输入数据进行数据并行,形成反卷积并行。
如图4所示,第四方面,一种并行反卷积单计算引擎架构,其特征在于,所述引擎架构包括:处理器1、总线接口3、设置有反卷积核的反卷积计算引擎4、存取器5、片上存储器、片外存取器5以及互连2;
其中,所述处理器1与所述总线接口3通过所述互连2进行连接,所述总线接口3与所述反卷积计算引擎4及所述存取器5分别进行连接,所述存取器5与所述片外存取器5通过所述互连2进行连接,所述存取器5与所述片上存储器进行连接,所述片上存储器设置于所述反卷积计算引擎4内。
所述处理器1可以使用ARM处理器1,所述片外存取器5可以采用DDR存储器,所述存取器5可以使用DMA存取器5,所述总线接口3包括地址映射模块及AXI-Lite桥电路。
如图5所示,进一步的,在本申请实施例中,所述反卷积计算引擎包括:
反卷积处理单元41(PE),由反卷积核循环展开形成,用于对输入数据进行计算;
数据输入通道,与所述反卷积处理单元41输入端进行连接,用于输入待处理数据;
输出缓存器42,与所述反卷积处理单元41输出端进行连接,用于缓存输入数据的计算结果;
加法单元,用于将当前数据输入通道的输出结果与前一通道输出结果进行相加,并写回所述输出缓存器42。
进一步的,所述反卷积计算引擎还包括:
参数缓存器,用于缓存反卷积核参数;
寄存器,用于存储从参数缓存器中读取的Pk个并行反卷积核参数。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种并行反卷积计算方法或单引擎计算方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种并行反卷积计算方法或单引擎计算方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的
另外,在本申请各个实施例中的处理器、芯片可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上硬件集成在一个单元中。计算机可读存储介质或计算机可读程序可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种并行反卷积计算方法,其特征在于,所述方法包括如下步骤:
S1、获取Pd个输入数据,以及Pk个反卷积核参数;
S21、将Pd个输入数据同时与一个反卷积核进行运算,形成数据并行;
S22、在Pk个反卷积核中同时以Pd个输入数据进行数据并行,形成反卷积并行;
其中,Pd和Pk为大于等于1的整数。
2.一种并行反卷积单引擎计算方法,其特征在于,所述方法包括如下步骤:
S101、通过总线接口对反卷积计算引擎和存取器进行参数配置;
S102、将输入数据及参数存储到缓存器中;
S103、从缓存器中读取Pk个反卷积核参数k*k,并存储到寄存器中,用于并行计算。
S104、处理器调用反卷积计算引擎,使用如权利要求1所述的并行反卷积计算方法计算输入数据的第一个输入通道的数据,并将数据结果存储在输出缓存器中;
S105、通过处理器多次调用反卷积计算引擎,迭代多个输入通道,将当前通道输出结果与前一通道输出结果相加,得到当前数据结果,将当前数据结果存储在当前输出缓存器中;
S106、计算完成输入通道后,将输出缓存器中的数据读到存储器中;
S107、重复步骤S103-S106,直到得到最终结果。
3.如权利要求2所述的并行反卷积单引擎计算方法,其特征在于,所述步骤S101中包括:
将Pk个反卷积核进行循环展开,形成反卷积处理单元,所述反卷积处理单元用于输入数据的反卷积计算。
4.如权利要求3所述的并行反卷积单引擎计算方法,其特征在于,所述步骤S102中包括:
将待处理数据存储在存储器中,通过存取器将待处理数据读到缓存器中作为输入数据备用。
5.一种并行反卷积计算系统,其特征在于,所述系统包括:
获取模块,用于获取Pd个输入数据,以及Pk个反卷积核参数;
并行运算模块,用于将Pd个输入数据同时与一个反卷积核进行运算,形成数据并行;
并行反卷积模块,用于在Pk个反卷积核中同时以Pd个输入数据进行数据并行,形成反卷积并行。
6.一种并行反卷积单计算引擎架构,其特征在于,所述引擎架构包括:处理器、总线接口、设置有反卷积核的反卷积计算引擎、存取器、片上存储器、片外存储器以及互连;
其中,所述处理器与所述总线接口通过所述互连进行连接,所述总线接口与所述反卷积计算引擎及所述存取器分别进行连接,所述存取器与所述片外存储器通过所述互连进行连接,所述存取器与所述片上存储器进行连接,所述片上存储器设置于所述反卷积计算引擎内;
7.如权利要求6所述的并行反卷积单计算引擎架构,其特征在于,所述反卷积计算引擎包括:
反卷积处理单元,由反卷积核循环展开形成,用于对输入数据进行计算;
数据输入通道,与所述反卷积处理单元输入端进行连接,用于输入待处理数据;
输出缓存器,与所述反卷积处理单元输出端进行连接,用于缓存输入数据的计算结果;
加法单元,用于将当前数据输入通道的输出结果与前一通道输出结果进行相加,并写回所述输出缓存器。
8.如权利要求7所述的并行反卷积单计算引擎架构,其特征在于,所述反卷积计算引擎还包括:
参数缓存器,用于缓存反卷积核参数;
寄存器,用于存储从参数缓存器中读取的Pk个并行反卷积核参数。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-4中任意一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如权利要求1-4中任意一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/102636 WO2020041962A1 (zh) | 2018-08-28 | 2018-08-28 | 一种并行反卷积计算方法、单引擎计算方法及相关产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109844774A true CN109844774A (zh) | 2019-06-04 |
CN109844774B CN109844774B (zh) | 2023-01-24 |
Family
ID=66883763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880003706.XA Active CN109844774B (zh) | 2018-08-28 | 2018-08-28 | 一种并行反卷积计算方法、单引擎计算方法及相关产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109844774B (zh) |
WO (1) | WO2020041962A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813721A (zh) * | 2020-07-15 | 2020-10-23 | 深圳鲲云信息科技有限公司 | 神经网络数据处理方法、装置、设备及存储介质 |
CN112926020A (zh) * | 2019-12-06 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 反卷积处理方法、图像处理方法和相应装置 |
CN113361699A (zh) * | 2021-07-16 | 2021-09-07 | 安谋科技(中国)有限公司 | 乘法电路、片上系统和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875011A (zh) * | 2017-01-12 | 2017-06-20 | 南京大学 | 二值权重卷积神经网络加速器的硬件架构及其计算流程 |
CN106959937A (zh) * | 2017-03-30 | 2017-07-18 | 中国人民解放军国防科学技术大学 | 一种面向gpdsp的反卷积矩阵的向量化实现方法 |
CN108241890A (zh) * | 2018-01-29 | 2018-07-03 | 清华大学 | 一种可重构神经网络加速方法及架构 |
CN108268931A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 数据处理的方法、装置和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3330898A1 (en) * | 2016-12-01 | 2018-06-06 | Altera Corporation | Method and apparatus for performing different types of convolution operations with the same processing elements |
CN108229379A (zh) * | 2017-12-29 | 2018-06-29 | 广东欧珀移动通信有限公司 | 图像识别方法、装置、计算机设备和存储介质 |
CN108416783B (zh) * | 2018-02-01 | 2021-04-02 | 湖北工业大学 | 基于全卷积神经网路的道路场景分割方法 |
-
2018
- 2018-08-28 CN CN201880003706.XA patent/CN109844774B/zh active Active
- 2018-08-28 WO PCT/CN2018/102636 patent/WO2020041962A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108268931A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 数据处理的方法、装置和系统 |
CN106875011A (zh) * | 2017-01-12 | 2017-06-20 | 南京大学 | 二值权重卷积神经网络加速器的硬件架构及其计算流程 |
CN106959937A (zh) * | 2017-03-30 | 2017-07-18 | 中国人民解放军国防科学技术大学 | 一种面向gpdsp的反卷积矩阵的向量化实现方法 |
CN108241890A (zh) * | 2018-01-29 | 2018-07-03 | 清华大学 | 一种可重构神经网络加速方法及架构 |
Non-Patent Citations (2)
Title |
---|
CHEN ZHANG等: "Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks", 《FPGA15:PROCEEDINGS OF THE 2015 ACM/SIGDA INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE GATE ARRAYS》 * |
张军阳等: "二维矩阵卷积的并行计算方法", 《浙江大学学报(工学版)》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112926020A (zh) * | 2019-12-06 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 反卷积处理方法、图像处理方法和相应装置 |
CN112926020B (zh) * | 2019-12-06 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 反卷积处理方法、图像处理方法和相应装置 |
CN111813721A (zh) * | 2020-07-15 | 2020-10-23 | 深圳鲲云信息科技有限公司 | 神经网络数据处理方法、装置、设备及存储介质 |
WO2022012563A1 (zh) * | 2020-07-15 | 2022-01-20 | 深圳鲲云信息科技有限公司 | 神经网络数据处理方法、装置、设备及存储介质 |
CN111813721B (zh) * | 2020-07-15 | 2022-09-09 | 深圳鲲云信息科技有限公司 | 神经网络数据处理方法、装置、设备及存储介质 |
CN113361699A (zh) * | 2021-07-16 | 2021-09-07 | 安谋科技(中国)有限公司 | 乘法电路、片上系统和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109844774B (zh) | 2023-01-24 |
WO2020041962A1 (zh) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445471B (zh) | 处理器和用于在处理器上执行矩阵乘运算的方法 | |
CN111738431B (zh) | 神经网络运算设备和方法 | |
CN109844774A (zh) | 一种并行反卷积计算方法、单引擎计算方法及相关产品 | |
CN107895191A (zh) | 一种信息处理方法及相关产品 | |
CN109993273A (zh) | 卷积神经网络的卷积实现方法及相关产品 | |
CN109858613A (zh) | 一种深度神经网络的压缩方法、系统及终端设备 | |
CN110088777A (zh) | 反卷积实现方法及相关产品 | |
CN108447040A (zh) | 直方图均衡化方法、装置及终端设备 | |
CN106204439A (zh) | 图片自适应处理的方法和系统 | |
CN111738435A (zh) | 一种基于移动设备的在线稀疏训练方法及系统 | |
CN114138231B (zh) | 执行矩阵乘法运算的方法、电路及soc | |
CN109145107A (zh) | 基于卷积神经网络的主题提取方法、装置、介质和设备 | |
CN107491809A (zh) | 一种fpga实现残差网络中激活函数的方法 | |
CN109993286A (zh) | 稀疏神经网络的计算方法及相关产品 | |
CN107977923B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN110414663B (zh) | 神经网络的卷积实现方法及相关产品 | |
CN116129501A (zh) | 人脸位姿估计方法及装置 | |
CN114419339A (zh) | 基于电力肖像的数据重建模型训练的方法和装置 | |
CN110399881B (zh) | 一种端到端的基于双目立体图像的质量增强方法及装置 | |
CN108334946B (zh) | 深度神经网络模型的处理方法、装置和设备 | |
US20200184319A1 (en) | Systems and devices for configuring neural network circuitry | |
CN112329925B (zh) | 模型生成方法、特征提取方法、装置及电子设备 | |
CN115146780B (zh) | 一种量子张量网络转置和收缩协同的方法和装置 | |
CN115495968B (zh) | 网格划分方法、终端以及存储介质 | |
CN117973092B (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 |