CN113592067B - 一种用于卷积神经网络的可配置型卷积计算电路 - Google Patents
一种用于卷积神经网络的可配置型卷积计算电路 Download PDFInfo
- Publication number
- CN113592067B CN113592067B CN202110804282.0A CN202110804282A CN113592067B CN 113592067 B CN113592067 B CN 113592067B CN 202110804282 A CN202110804282 A CN 202110804282A CN 113592067 B CN113592067 B CN 113592067B
- Authority
- CN
- China
- Prior art keywords
- input
- data
- convolution
- module
- calculation
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 188
- 238000013528 artificial neural network Methods 0.000 title abstract description 9
- 238000010586 diagram Methods 0.000 claims description 18
- 238000013527 convolutional neural network Methods 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 8
- 230000003139 buffering effect Effects 0.000 claims description 2
- 241001442055 Vipera berus Species 0.000 description 68
- 108091006146 Channels Proteins 0.000 description 31
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- DBOHWMPKJCJANT-UHFFFAOYSA-N brooker's merocyanine Chemical group C1=CN(C)C=CC1=CC=C1C=CC(=O)C=C1 DBOHWMPKJCJANT-UHFFFAOYSA-N 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing 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
- G06N3/045—Combinations of networks
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种用于卷积神经网络的可配置型卷积计算电路,其中,计算控制模块对卷积层四重循环计算中的三重循环,即感受野内的循环、输入特征图间的循环和输出特征图间的循环进行展开,并将各循环进行卷积计算所需的像素数据和权值数据输入到卷积计算模块中;并将对应的偏置数据输入到加法树模块中;卷积计算模块分别在不同方向上对上述三重循环同时进行并行运算;加法树模块针对不同工作模式进行加法计算;其中,加法树模块包括单通道模式和多通道模式,计算控制模块可根据进行卷积计算的像素数据为单通道数据还是多通道数据随时切换加法树模块的工作模式,提升了针对单通道数据输入时电路资源的利用率,从而提高了卷积计算电路的运算效率。
Description
技术领域
本发明属于人工智能算法电路实现领域,更具体地,涉及一种用于卷积神经网络的可配置型卷积计算电路。
背景技术
随着计算能力的发展和数据量的增加,人工智能算法中的多种深度神经网络模型已经广泛应用在计算机视觉、生物特征信息、自然语言处理等领域,其中卷积神经网络在目标识别、特征信息处理等多个应用场景上达到了前所未有的精度;然而目前应用场景下卷积神经网络在使用计算处理核心CPU、图形处理器GPU单元计算分别存在着运算效率低和能耗高等问题,为提高硬件端卷积神经网络前向推理的能效性,设计用于卷积神经网络电路的ASIC(特殊应用集成电路),以达到降低其整体电路功耗以及提高电路吞吐量的同时控制电路面积的目的是十分必要的。
卷积神经网络模型是由卷积层、池化层和全连接层所构建的,其中卷积层以及池化层负责对输入的序列数据进行特征提取,全连接层将提取的特征进行非线性组合输出。卷积层为整个卷积神经网络的核心部分,其计算的流程由四重循环计算组成,由内到外依次为:第一重循环:感受野内卷积计算;第二重循环:输入特征图间的卷积计算,即输入通道循环;第三重循环:输出特征图上的卷积计算;第四重循环:输出特征图间的卷积计算,即输出通道循环。卷积神经网络的重复权值的特性以及激活值的冗余性使其在硬件电路结构实现过程中存在大量的优化方式。
针对卷积运算的四重循环所展现的权值共享特性,现有的卷积计算电路中对于输入像素数据和权值数据以及卷积计算的方式存在多种展开循环方式,通常采用展开循环并行计算的结构,但在进行卷积层四重循环计算中的第二重循环时,即展开通道数进行计算过程中,在输入数据通道数为单通道数时,其通道数小于展开通道数,会导致并行计算过程中出现计算资源浪费的现象,硬件资源的利用率较低,从而造成整体电路计算效率下降,吞吐量降低。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供一种用于卷积神经网络的可配置型卷积计算电路,用以解决现有技术硬件资源的利用率较低的技术问题。
为了实现上述目的,本发明提供了一种用于卷积神经网络的可配置型卷积计算电路,包括:卷积计算模块、加法树模块和计算控制模块;
计算控制模块用于对卷积层四重循环计算中的感受野内的循环、输入特征图间的循环和输出特征图间的循环进行展开,并将各循环进行卷积计算所需的像素数据和权值数据输入到卷积计算模块中;将对应的偏置数据输入到加法树模块中,并对加法树模块的工作模式进行控制;当进行卷积计算的像素数据为单通道数据时,设置加法树模块的工作模式为单通道模式;当进行卷积计算的像素数据为多通道数据时,设置加法树模块的工作模式为多通道模式;
卷积计算模块用于分别在第一方向、第二方向和第三方向上对感受野内的循环、输入特征图间的循环和输出特征图间的循环同时进行并行运算;上述第一方向、第二方向和第三方向均不同;
加法树模块用于在单通道模式下,将卷积计算模块第二方向上并行输出的结果分别与偏置数据进行加法运算;在多通道模式下,将卷积计算模块第二方向上并行输出的结果进行累加后,与偏置数据进行加法运算;
其中,卷积层四重循环由内到外包括感受野内的循环、输入特征图间的循环、输出特征图上的循环和输出特征图间的循环;感受野内的循环用于分别对不同卷积核内的数据进行卷积运算;输入特征图间的循环用于分别对不同输入通道的数据进行卷积运算;输出特征图上的循环用于分别计算输出特征图上各像素点处的卷积结果;输出特征图间的循环用于分别计算不同的输出通道的卷积结果。
进一步优选地,输入特征图间的循环的展开数为Nin,Nin为不小于3的整数;此时,卷积计算模块第二方向上的输出端有Nin个,并行输出Nin个卷积运算结果,分别记为Result1、Result2、......、ResultNin。
进一步优选地,当进行卷积计算的像素数据为单通道数据时,进行卷积计算的像素数据每个通道的数据长度均为Nin的整数倍,即为N*Nin,将像素数据输入到卷积计算模块之前,将每个通道的数据分为Nin段,并在首段数据的前面进行k个0填充,尾段数据的末尾也进行k个0填充;当卷积核的大小为2*k+1时,将像素数据每个通道的数据按照标号顺序分段为:1~N+k,N-k+1~2*N+k,...,(Nin-1)*N-k+1~Nin*N;每段数据沿着第一方向分别并行输入到卷积计算模块中。
进一步优选地,当进行卷积计算的像素数据为多通道数据时,将每个通道的像素数据沿着第一方向分别并行输入到卷积计算模块中;且当像素数据的通道数大于Nin时,将像素数据按通道进行分批后,将各批次的像素数据依次输入到卷积计算模块中。
进一步优选地,加法树模块包括二输入加法器、FIFO单元、二路选择器、条件判断电路和数据选通器。
进一步优选地,当Nin为偶数时:
二输入加法器的个数为分别记为Adder1、Adder2、......、AdderNin、二路选择器的个数为/>分别记为
AdderNin的第一输入端输入ResultNin,第二输入端与的输出端相连;/>的第一输入端输入偏置数据Bias,第二输入端与FIFO单元的输出端相连,控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;
Adder(Nin-1)的第一输入端输入Result(Nin-1),第二输入端与的输出端相连;/>的第一输入端输入偏置数据Bias,第二输入端输入0,控制端与计算控制模块相连,接收计算控制模块输入的使能信号En;
Adderm的第一输入端输入Resultm,第二输入端输入偏置数据Bias,控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;m为[1,Nin-2]中的奇数,即1,3,5,......,Nin-3;
Addern的第一输入端输入Resultn,第二输入端与Selector(n/2)的输出端相连;Selector(n/2)的第一输入端输入偏置数据Bias,第二输入端输入Result(n-1),控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;n为[1,Nin-2]中的偶数,即2,4,6,......,Nin-2;
Adder1、Adder2、......、AdderNin的输出端均与数据选通器相连;的控制端均与计算控制模块相连,接收计算控制模块输入的使能信号MODE1;Adder(Nin+1)的第一输入端与Adder2的输出端相连,第二输入端与Adder4的输出端相连;Adderq的第一输入端与Adder(q-1)的输出端相连,第二输入端与Adder(2q-2Nin+2)的输出端相连,/> 的第一输入端与的输出端相连,第二输入端与/>的输出端相连;/>的第一输入端与/>的输出端相连,第二输入端与AdderNin的输出端相连;的输出端与条件判断电路相连;条件判断电路的第一输出端与数据选通器相连,第二输出端与FIFO单元的输入端相连;
当进行卷积计算的像素数据为单通道数据时,计算控制模块将MODE和En置1,MODE1置0,将加法树模块的工作模式设置为单通道模式,此时,二路选择器均选通Bias数据;Adderm使能,执行加法运算; 均不使能,不执行加法运算;由数据选通器选通输出Nin个计算结果,即Resultp+bias,p=1,2,......,Nin;
当进行卷积计算的像素数据为多通道数据时,计算控制模块将MODE置0,MODE1置1,将加法树模块的工作模式设置为多通道模式,此时,Selector(n/2)选通Result(n-1),Selector(Nin/2)选通FIFO单元的输入,将Addem、Adder(Nin-1)和AdderNin的加法运算结果求和;其中,若输入特征图间的循环未完成,则将En置0,使选通0;否则,将En置1,使/>选通Bias数据;条件判断电路用于判断当前是否完成了输入特征图间的循环,若是,则将当前Addern、Adder(Nin-1)和AdderNin的加法运算结果之和输出到数据选通器中,数据选通器选通输出当前Addern、Adder(Nin-1)和AdderNin的加法运算结果之和;否则,将当前的Addern、Adder(Nin-1)和AdderNin的加法运算结果之和输出至FIFO单元中。
进一步优选地,当Nin为奇数时:
二输入加法器的个数为分别记为/> 二路选择器的个数为/>分别记为/>
AdderNin的第一输入端输入ResultNin,第二输入端与的输出端相连,/>的第一输入端输入偏置数据Bias,第二输入端与FIFO单元的输出端相连,控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;
Adder(Nin-1)的第一输入端输入Result(Nin-1),第二输入端与的输出端相连;/>的第一输入端输入偏置数据Bias,第二输入端输入0,控制端与计算控制模块相连,接收计算控制模块输入的使能信号En;
Adderm的第一输入端输入Resultm,第二输入端与的输出端相连;的第一输入端输入偏置数据Bias,第二输入端输入Result(m-1),控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;m为[2,Nin-2]中的奇数,即3,5,......,Nin-2;
Addern的第一输入端输入Resulm,第二输入端输入偏置数据Bias,控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;n为1以及[1,Nin-2]中的偶数,即1,2,4,6,......,Nin-3;
Adder1、Adder2、......、AdderNin的输出端均与数据选通器相连;的控制端均与计算控制模块相连,接收计算控制模块输入的使能信号MODE1;Adder(Nin+1)的第一输入端输入Result1,第二输入端与Adder3的输出端相连;Adders的第一输入端与Adder(s-1)的输出端相连,第二输入端与Adder(2s-2Nin+1)的输出端相连,/> 的第一输入端与/>的输出端相连,第二输入端与Adder(Nin-1)的输出端相连;的第一输入端与/>的输出端相连,第二输入端与AdderNin的输出端相连;/>的输出端与条件判断电路相连;条件判断电路的第一输出端与数据选通器相连,第二输出端与FIFO单元的输入端相连;
当进行卷积计算的像素数据为单通道数据时,计算控制模块将MODE和En置1,MODE1置0,将加法树模块的工作模式设置为单通道模式,此时,二路选择器均选通Bias数据;Addern使能,执行加法运算; 均不使能,不执行加法运算;由数据选通器选通输出Nin个计算结果,即Resultp+bias,p=1,2,......,Nin;
当进行卷积计算的像素数据为多通道数据时,计算控制模块将MODE置0,MODE1置1,将加法树模块的工作模式设置为多通道模式,此时,选通Result(m-1),选通FIFO单元的输入,将Result1、Adderm、Adder(Nin-1)和AdderNin的加法运算结果求和;其中,若输入特征图间的循环未完成,则将En置0,使/>选通0;否则,将En置1,/>选通Bias数据;条件判断电路用于判断当前是否完成了输入特征图间的循环,若是,则将当前Result1、Adderm、Adder(Nin-1)和AdderNin的加法运算结果之和输出到数据选通器中,数据选通器选通输出当前Result1、Adderm、Adder(Nin-1)和AdderNin的加法运算结果之和;否则,将当前的Result1、Adderm、Adder(Nin-1)和AdderNin的加法运算结果之和输出至FIFO单元中。
进一步优选地,Nin取值为3或4,此时,电路硬件资源开销与计算效率最平衡。
进一步优选地,上述卷积计算模块包括MAC阵列;MAC阵列包括多个MAC乘加单元;MAC乘加单元呈阵列分布,其排布方式为:MAC乘加单元沿着第一方向重复排列uy个,uy个乘加单元通过级联的方式连接在一起形成乘加子模块;乘加子模块沿着第二方向重复排列ux个形成乘加核模块;乘加核模块沿着第三方向重复排列uz个形成一个包含uy*ux*nz个MAC乘加单元的阵列电路;其中,ux、uy和uz为不小于2的整数;其中,ux取值为Nin;
第一方向、第二方向和第三方向分别对应着感受野内的循环、输入特征图间的循环和输出特征图间的循环的展开运算;
每个乘加子模块均输出一个卷积运算结果,并行输出Nin个卷积运算结果,即Result1、Result2、......、ResultNin。
进一步优选地,上述卷积计算电路还包括输入缓存模块,输入缓存模块用于缓存计算控制模块输入的像素数据、权重数据和偏置数据,并将像素数据和权重数据输入到卷积计算模块中,将偏置数据输入到加法树模块中。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
1、本发明提供了一种用于卷积神经网络的可配置型卷积计算电路,其中,加法树模块有单通道模式和多通道模式两种工作模式,计算控制模块可根据进行卷积计算的像素数据为单通道数据还是多通道数据随时切换加法树模块的工作模式,提升了针对单通道数据输入时电路资源的利用率,从而提高了卷积计算电路的运算效率。
2、本发明所提供的可配置型卷积计算电路中,卷积计算模块为Mac阵列,MAC阵列根据卷积运算的四重循环运算分别在感受野内卷积计算、输入特征图间的卷积计算、输出特征图间的卷积计算采取展开并行计算,并在第一方向上的数据进行流动输入计算,有效提升了权值数据、像素数据的复用率,大幅度降低数据的存取次数,使电路的整体性能得到了提升。
3、本发明所提供的可配置型卷积计算电路中,对于单通道数据,对进行卷积计算的像素数据先进行分割后再输入到卷积计算模块中,并行处理各像素数据的卷积运算,能够充分利用卷积计算模块的硬件资源,大大提高了硬件资源的利用率;另外,提前将数据进行分割,能够对输入数据进行直接计算,可以减少冗余的数据访存操作以及控制操作。
4、本发明所提供的可配置型卷积计算电路中,加法树模块仅包括二输入加法器、FIFO单元、二路选择器、条件判断电路和数据选通器,在第一层加法树电路采用二路选择器,选择两种模式计算需要的数据输入至加法器中,做到了资源共享,两种模式共用部分加法器,降低了加法器的资源开销,从而实现在不增加电路复杂度和电路面积的前提下,使加法树模块同时具有单通道模式和多通道模式,且单通道模式和多通道模式之间能够灵活切换,计算效率较高。
附图说明
图1为本发明所提供的用于卷积神经网络的可配置型卷积计算电路的结构示意图;
图2为本发明所提供的MAC阵列结构示意图;
图3为本发明所提供的带有输入缓存模块的可配置型卷积计算电路的结构示意图;
图4为本发明所提供的针对单通道输入的数据序列处理方式的示意图;
图5为本发明所提供的加法树模块的电路结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为了实现上述目的,本发明提供了一种用于卷积神经网络的可配置型卷积计算电路,如图1所示,包括:卷积计算模块、加法树模块和计算控制模块;
计算控制模块用于对卷积层四重循环计算中的感受野内的循环、输入特征图间的循环和输出特征图间的循环进行展开,并将各循环进行卷积计算所需的像素数据和权值数据输入到卷积计算模块中;将对应的偏置数据输入到加法树模块中,并对加法树模块的工作模式进行控制;当进行卷积计算的像素数据为单通道数据时,设置加法树模块的工作模式为单通道模式;当进行卷积计算的像素数据为多通道数据时,设置加法树模块的工作模式为多通道模式;
卷积计算模块用于分别在第一方向、第二方向和第三方向上对感受野内的循环、输入特征图间的循环和输出特征图间的循环同时进行并行运算;上述第一方向、第二方向和第三方向均不同;
加法树模块用于在单通道模式下,将卷积计算模块第二方向上并行输出的结果分别与偏置数据进行加法运算;在多通道模式下,将卷积计算模块第二方向上并行输出的结果进行累加后,与偏置数据进行加法运算;
其中,卷积层四重循环由内到外包括感受野内的循环、输入特征图间的循环、输出特征图上的循环和输出特征图间的循环;感受野内的循环用于分别对不同卷积核内的数据进行卷积运算;输入特征图间的循环用于分别对不同输入通道的数据进行卷积运算;输出特征图上的循环用于分别计算输出特征图上各像素点处的卷积结果;输出特征图间的循环用于分别计算不同的输出通道的卷积结果。
记输入特征图间的循环的展开数为Nin,Nin为不小于3的整数;此时,卷积计算模块第二方向上的输出端有Nin个,并行输出Nin个卷积运算结果,分别记为Result1、Result2、......、ResultNin。优选地,Nin取值为3或4,此时,电路硬件资源开销与计算效率最平衡。
在一个可选实施例中,上述卷积计算模块包括MAC阵列;如图2所示,MAC阵列包括多个MAC乘加单元;MAC乘加单元呈阵列分布,其排布方式为:MAC乘加单元沿着第一方向(y轴)重复排列uy个,uy个乘加单元通过级联的方式连接在一起形成乘加子模块;乘加子模块沿着第二方向(x轴)重复排列ux个形成乘加核模块;乘加核模块沿着第三方向(z轴)重复排列uz个形成一个包含uy*ux*uz个MAC乘加单元的阵列电路;其中,ux、uy和uz为不小于2的整数;其中,ux取值为Nin;每个乘加子模块均输出一个卷积运算结果,并行输出Nin个卷积运算结果,即Result1、Result2、......、ResultNin;
其中,y轴、x轴和z轴方向分别对应着感受野内的循环、输入特征图间的循环和输出特征图间的循环的展开运算;
具体地,卷积神经网络推理的四重循环计算公式如下所示:
其中,Nout为卷积计算的输出通道数,Nox为卷积计算的输出序列的长度,Ninput为卷积计算的输入通道数,Nrf为卷积计算的卷积核的长度,S为卷积计算中的步长,L为卷积神经网络的当前推理层数。
在一种可选实施方式下,如图3所示,上述卷积计算电路还包括输入缓存模块Input buffer,此时,计算控制单元模块Computing control unit的第一、二、三输出端分别与MAC阵列、输入缓存模块Input buffer以及加法树模块Adder tree的输入端相连,用于输出MAC阵列的控制信号、数据传输控制信号和加法树计算模式选取的控制信号;
输入缓存模块Input buffer的第一、二、三输出端与MAC阵列的第二、三输入端以及加法树模块Adder tree的第二输入端相连,分别用于缓存并传输卷积神经网络前向推理所需的像素数据Pixel data、权值数据Weight data以及偏置数据Bias data,将像素数据Pixel data和权重数据Weight data输入到卷积计算模块中,将偏置数据Bias data输入到加法树模块中。
MAC阵列的第一输出端与加法树模块Adder tree的第三输入端相连,用于执行并输出卷积计算中乘加运算的结果。
加法树模块Adder tree用于针对不同模式进行加法计算。
需要说明的是,当进行卷积计算的像素数据为多通道数据时,将每个通道的像素数据沿着第一方向分别并行输入到卷积计算模块中;且当像素数据的通道数大于Nin时,将像素数据按通道进行分批后,将各批次的像素数据依次输入到卷积计算模块中。若采用传统的卷积计算电路进行卷积运算,在进行卷积神经网络的前向推理过程中,若进行卷积计算的像素数据为单通道数据时,将导致MAC阵列单元在卷积运算过程中(ux-1)/ux的MAC单元不会参与计算,会导致并行计算过程中出现计算资源浪费的现象,硬件资源的利用率较低,从而造成整体电路计算效率下降,吞吐量降低,故需要在电路硬件资源基本不发生变化的条件下,为卷积计算电路配置专门的单通道模式。
具体地,当进行卷积计算的像素数据为单通道数据时,进行卷积计算的像素数据每个通道的数据长度均为Nin的整数倍,即为N*Nin,将像素数据输入到卷积计算模块之前,将每个通道的数据分为Nin段,并在首段数据的前面进行k个0填充,尾段数据的末尾也进行k个0填充;当卷积核的大小为2*k+1时,将像素数据每个通道的数据按照标号顺序分段为:1~N+k,N-k+1~2*N+k,...,(Nin-1)*N-k+1~Nin*N;每段数据沿着第一方向分别并行输入到卷积计算模块中。具体地,在一个可选实施例中,Nin取值为4;如图4所示展示了一种针对单通道输入的数据序列处理方式,此时输入一个长度为4N位宽为16bit的数据序列,按数据序列的标号顺序将其拆分为四段数据序列,分别包含1~(N+2)、(N-1)~(2N+2)、(2N-1)~(3N+2)、(3N-1)~4N,将单通道数据序列拆分四输入通道序列输入至输入缓存模块Inputbuffer;其中,1~(N+2)数据序列首部和(3N-1)~4N数据序列尾部均进行了2次0填充,并将4个数据序列按顺序拼接为长度为(N+4)的位宽64bit的数据序列,再将64bit的数据输入至输入缓存模块中。
进一步地,加法树模块包括二输入加法器、FIFO单元、二路选择器、条件判断电路和数据选通器。
当Nin为偶数时:
二输入加法器的个数为分别记为/> 二路选择器的个数为/>分别记为
AdderNin的第一输入端输入ResultNin,第二输入端与的输出端相连;/>的第一输入端输入偏置数据Bias,第二输入端与FIFO单元的输出端相连,控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;
Adder(Nin-1)的第一输入端输入Result(Nin-1),第二输入端与的输出端相连;/>的第一输入端输入偏置数据Bias,第二输入端输入0,控制端与计算控制模块相连,接收计算控制模块输入的使能信号En;
Adderm的第一输入端输入Resultm,第二输入端输入偏置数据Bias,控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;m为[1,Nin-2]中的奇数,即1,3,5,......,Nin-3;
Addern的第一输入端输入Resultn,第二输入端与Selector(n/2)的输出端相连;Selector(n/2)的第一输入端输入偏置数据Bias,第二输入端输入Result(n-1),控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;n为[1,Nin-2]中的偶数,即2,4,6,......,Nin-2;
Adderl、Adder2、......、AdderNin的输出端均与数据选通器相连;的控制端均与计算控制模块相连,接收计算控制模块输入的使能信号MODE1;Adder(Nin+1)的第一输入端与Adder2的输出端相连,第二输入端与Adder4的输出端相连;Adderq的第一输入端与Adder(q-1)的输出端相连,第二输入端与Adder(2q-2Nin+2)的输出端相连,/> 的第一输入端与的输出端相连,第二输入端与Adder(Nin-1)的输出端相连;的第一输入端与/>的输出端相连,第二输入端与AdderNin的输出端相连;/>的输出端与条件判断电路相连;条件判断电路的第一输出端与数据选通器相连,第二输出端与FIFO单元的输入端相连;
当进行卷积计算的像素数据为单通道数据时,计算控制模块将MODE和En置1,MODE1置0,将加法树模块的工作模式设置为单通道模式,此时,二路选择器均选通Bias数据;Adderm使能,执行加法运算; 均不使能,不执行加法运算;由数据选通器选通输出Nin个计算结果,即Resultp+bias,p=1,2,......,Nin;
当进行卷积计算的像素数据为多通道数据时,计算控制模块将MODE置0,MODE1置1,将加法树模块的工作模式设置为多通道模式,此时,Selector(n/2)选通Result(n-1),Selector(Nin/2)选通FIFO单元的输入,将Addern、Adder(Nin-1)和AdderNin的加法运算结果求和;其中,若输入特征图间的循环未完成,则将En置0,使选通0;否则,将En置1,使/>选通Bias数据;条件判断电路用于判断当前是否完成了输入特征图间的循环,若是,则将当前Addern、Adder(Nin-1)和AdderNin的加法运算结果之和输出到数据选通器中,数据选通器选通输出当前Addern、Adder(Nin-1)和AdderNin的加法运算结果之和;否则,将当前的Addern、Adder(Nin-1)和AdderNin的加法运算结果之和输出至FIFO单元中。
进一步优选地,当Nin为奇数时:
二输入加法器的个数为分别记为/> 二路选择器的个数为/>分别记为/>
AdderNin的第一输入端输入ResultNin,第二输入端与的输出端相连,/>的第一输入端输入偏置数据Bias,第二输入端与FIFO单元的输出端相连,控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;
Adder(Nin-1)的第一输入端输入Result(Nin-1),第二输入端与的输出端相连;/>的第一输入端输入偏置数据Bias,第二输入端输入0,控制端与计算控制模块相连,接收计算控制模块输入的使能信号En;
Adderm的第一输入端输入Resultm,第二输入端与的输出端相连;的第一输入端输入偏置数据Bias,第二输入端输入Result(m-1),控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;m为[2,Nin-2]中的奇数,即3,5,......,Nin-2;
Addern的第一输入端输入Resultn,第二输入端输入偏置数据Bias,控制端与计算控制模块相连,接收计算控制模块输入的使能信号MODE;n为1以及[1,Nin-2]中的偶数,即1,2,4,6,......,Nin-3;
Adder1、Adder2、......、AdderNin的输出端均与数据选通器相连;的控制端均与计算控制模块相连,接收计算控制模块输入的使能信号MODE1;Adder(Nin+1)的第一输入端输入Result1,第二输入端与Adder3的输出端相连;Adders的第一输入端与Adder(s-1)的输出端相连,第二输入端与Adder(2s-2Nin+1)的输出端相连,/> 的第一输入端与/>的输出端相连,第二输入端与Adder(Nin-1)的输出端相连;/>的第一输入端与/>的输出端相连,第二输入端与AdderNin的输出端相连;/>的输出端与条件判断电路相连;条件判断电路的第一输出端与数据选通器相连,第二输出端与FIFO单元的输入端相连;
当进行卷积计算的像素数据为单通道数据时,计算控制模块将MODE和En置1,MODE1置0,将加法树模块的工作模式设置为单通道模式,此时,二路选择器均选通Bias数据;Addern使能,执行加法运算; 均不使能,不执行加法运算;由数据选通器选通输出Nin个计算结果,即Resultp+bias,p=1,2,......,Nin;
当进行卷积计算的像素数据为多通道数据时,计算控制模块将MODE置0,MODE1置1,将加法树模块的工作模式设置为多通道模式,此时,选通Result(m-1),选通FIFO单元的输入,将Result1、Adderm、Adder(Nin-1)和AdderNin的加法运算结果求和;其中,若输入特征图间的循环未完成,则将En置0,使/>选通0;否则,将En置1,/>选通Bias数据;条件判断电路用于判断当前是否完成了输入特征图间的循环,若是,则将当前Result1、Adderm、Adder(Nin-1)和AdderNin的加法运算结果之和输出到数据选通器中,数据选通器选通输出当前Resultl、Adderm、Adder(Nin-1)和AdderNin的加法运算结果之和;否则,将当前的Result1、Adderm、Adder(Nin-1)和AdderNin的加法运算结果之和输出至FIFO单元中。
为了进一步说明本发明所提供的加法树模块,下面以Nin取值为4为例进行说明,如图5所示,加法树模块Adder tree包括二输入加法器、FIFO(First In First Out,先进先出)单元、二路选择器、条件判断电路和数据选通器;其中,加法器Adder1、Adder2、Adder3、Adder4的一输入端分别输入MAC阵列的4个输出结果Result1、Result2、Result3、Result4,另一输入端分别与输入缓存模块Input buffer的第三输出端、二路选择器MUX1的输出端、二路选择器MUX2的输出端相连、二路选择器MUX3的输出端相连;二路选择器MUX1的输入端分别与输入缓存模块Input buffer的第三输出端和MAC阵列的输出结果Result1相连;二路选择器MUX2的输入端分别与输入缓存模块Input buffer的第三输出端和0相连;条件判断电路的输入端与Adder6的输出端相连,其第一、二输出端分别与FIFO单元输入端相连以及数据选通器的第五输入端相连;所述数据选通器的第一、二、三、四输入端分别与加法器Adder1、Adder2、Adder3、Adder4的输出端相连。
若为单通道输入的数据序列,将MODE信号置1,MOED信号置1、En置1,MUX1、MUX2、MUX3选通Bias,加法器Adder1给予使能信号MODE,加法器Adder5、Adder6给予使能信号MODE1(即~MODE),即关闭加法器Adder5、Adder6,加法器Adder1、Adder2、Adder3、Adder4分别将计算结果输出到数据选择器中,单通道输入的数据序列的卷积计算结束。
若为多通道输入的数据序列,设置MODE信号为0,即为正常卷积计算模式,此时加法器Adder1不使能,加法器Adder5、Adder6使能,将加法器Adder2、Adder3、Adder4的计算结果进行加法树操作,最后加法器Adder6输出计算结果,此时判断电路进行判断,若输入特征图间循环完成,En置1,二路选择器MUX2选通Bias数据,此时,in=Ninput,将加法器Adder6的计算结果输出至数据选择器;若卷积运算未完成输入特征图间的卷积计算循环,即in<Ninput,则将加法器Adder6的计算结果输出至FIFO单元中,继续进行卷积运算循环。其中,Nin取值为4,但不仅限为4,采用此方法需要保证单通道的输入数据序列长度Nlength为Nin的整数倍才可以实施,相应的Nin发生变化,加法树模块Adder tree的电路结构需发生些许变化,但整体电路的数据流以及计算方式不发生变化。
综上所述,本发明所提供的用于卷积神经网络的可配置型卷积计算电路,提供了一种针对单通道输入数据的处理方式,并针对该处理方式设计了一种可配置模式的加法树模块电路,提高了MAC阵列模块的计算效率以及MAC单元的使用率,并同时降低了卷积计算电路的功耗。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用于卷积神经网络的可配置型卷积计算电路,其特征在于,包括:卷积计算模块、加法树模块和计算控制模块;
所述计算控制模块用于对卷积层四重循环计算中的感受野内的循环、输入特征图间的循环和输出特征图间的循环进行展开,并将各循环进行卷积计算所需的像素数据和权值数据输入到所述卷积计算模块中;还用于将对应的偏置数据输入到所述加法树模块中,并对所述加法树模块的工作模式进行控制;当进行卷积计算的像素数据为单通道数据时,设置所述加法树模块的工作模式为单通道模式;当进行卷积计算的像素数据为多通道数据时,设置所述加法树模块的工作模式为多通道模式;
所述卷积计算模块用于分别在第一方向、第二方向和第三方向上对感受野内的循环、输入特征图间的循环和输出特征图间的循环同时进行并行运算;所述第一方向、所述第二方向和所述第三方向均不同;
所述加法树模块用于在单通道模式下,将所述卷积计算模块第二方向上并行输出的结果分别与偏置数据进行加法运算;在多通道模式下,将所述卷积计算模块第二方向上并行输出的结果进行累加后,与偏置数据进行加法运算。
2.根据权利要求1所述的可配置型卷积计算电路,其特征在于,所述输入特征图间的循环的展开数为Nin,Nin为不小于3的整数;此时,所述卷积计算模块第二方向上的输出端有Nin个,并行输出Nin个卷积运算结果,分别记为Result1、Result2、......、ResultNin。
3.根据权利要求2所述的可配置型卷积计算电路,其特征在于,当进行卷积计算的像素数据为单通道数据时,进行卷积计算的像素数据每个通道的数据长度均为Nin的整数倍,即为N*Nin,将像素数据输入到所述卷积计算模块之前,将每个通道的数据分为Nin段,并在首段数据的前面进行k个0填充,尾段数据的末尾也进行k个0填充;当卷积核的大小为2*k+1时,将像素数据每个通道的数据按照标号顺序分段为:1~N+k,N-k+1~2*N+k,…,(Nin-1)*N-k+1~Nin*N;每段数据沿着第一方向分别并行输入到所述卷积计算模块中。
4.根据权利要求2所述的可配置型卷积计算电路,其特征在于,当进行卷积计算的像素数据为多通道数据时,将每个通道的像素数据沿着第一方向分别并行输入到所述卷积计算模块中;且当像素数据的通道数大于Nin时,将像素数据按通道进行分批后,将各批次的像素数据依次输入到所述卷积计算模块中。
5.根据权利要求2所述的可配置型卷积计算电路,其特征在于,所述加法树模块包括二输入加法器、FIFO单元、二路选择器、条件判断电路和数据选通器。
6.根据权利要求5所述的可配置型卷积计算电路,其特征在于,当Nin为偶数时:
所述二输入加法器的个数为分别记为/> 所述二路选择器的个数为/>分别记为/>
AdderNin的第一输入端输入ResultNin,第二输入端与的输出端相连;的第一输入端输入偏置数据Bias,第二输入端与所述FIFO单元的输出端相连,控制端与所述计算控制模块相连,接收所述计算控制模块输入的使能信号MODE;
Adder(Nin-1)的第一输入端输入Result(Nin-1),第二输入端与的输出端相连;/>的第一输入端输入偏置数据Bias,第二输入端输入0,控制端与所述计算控制模块相连,接收所述计算控制模块输入的使能信号En;
Adderm的第一输入端输入Resultm,第二输入端输入偏置数据Bias,控制端与所述计算控制模块相连,接收所述计算控制模块输入的使能信号MODE;m为[1,Nin-2]中的奇数,即1,3,5,......,Nin-3;
Addern的第一输入端输入Resultn,第二输入端与Selector(n/2)的输出端相连;Selector(n/2)的第一输入端输入偏置数据Bias,第二输入端输入Result(n-1),控制端与所述计算控制模块相连,接收所述计算控制模块输入的使能信号MODE;n为[1,Nin-2]中的偶数,即2,4,6,......,Nin-2;
Adder1、Adder2、......、AdderNin的输出端均与所述数据选通器相连;的控制端均与所述计算控制模块相连,接收所述计算控制模块输入的使能信号MODE1;Adder(Nin+1)的第一输入端与Adder2的输出端相连,第二输入端与Adder4的输出端相连;Adderq的第一输入端与Adder(q-1)的输出端相连,第二输入端与Adder(2q-2Nin+2)的输出端相连,/> 的第一输入端与/>的输出端相连,第二输入端与Adder(Nin-1)的输出端相连;/>的第一输入端与/>的输出端相连,第二输入端与AdderNin的输出端相连;/>的输出端与所述条件判断电路相连;所述条件判断电路的第一输出端与所述数据选通器相连,第二输出端与所述FIFO单元的输入端相连;
当进行卷积计算的像素数据为单通道数据时,所述计算控制模块将MODE和En置1,MODE1置0,将所述加法树模块的工作模式设置为单通道模式,此时,所述二路选择器均选通Bias数据;Adderm使能,执行加法运算;均不使能,不执行加法运算;由所述数据选通器选通输出Nin个计算结果,即Resultp+bias,p=1,2,......,Nin;
当进行卷积计算的像素数据为多通道数据时,所述计算控制模块将MODE置0,MODE1置1,将所述加法树模块的工作模式设置为多通道模式,此时,Selector(n/2)选通Result(n-1),Selector(Nin/2)选通所述FIFO单元的输入,将Addern、Adder(Nin-1)和AdderNin的加法运算结果求和;其中,若输入特征图间的循环未完成,则将En置0,使选通0;否则,将En置1,使/>选通Bias数据;所述条件判断电路用于判断当前是否完成了输入特征图间的循环,若是,则将当前Addern、Adder(Nin-1)和AdderNin的加法运算结果之和输出到所述数据选通器中,所述数据选通器选通输出当前Addern、Adder(Nin-1)和AdderNin的加法运算结果之和;否则,将当前的Addern、Adder(Nin-1)和AdderNin的加法运算结果之和输出至所述FIFO单元中。
7.根据权利要求5所述的可配置型卷积计算电路,其特征在于,当Nin为奇数时:
所述二输入加法器的个数为分别记为/> 所述二路选择器的个数为/>分别记为/>
AdderNin的第一输入端输入ResultNin,第二输入端与的输出端相连,的第一输入端输入偏置数据Bias,第二输入端与所述FIFO单元的输出端相连,控制端与所述计算控制模块相连,接收所述计算控制模块输入的使能信号MODE;
Adder(Nin-1)的第一输入端输入Result(Nin-1),第二输入端与的输出端相连;/>的第一输入端输入偏置数据Bias,第二输入端输入0,控制端与所述计算控制模块相连,接收所述计算控制模块输入的使能信号En;
Adderm的第一输入端输入Resultm,第二输入端与的输出端相连;的第一输入端输入偏置数据Bias,第二输入端输入Result(m-1),控制端与所述计算控制模块相连,接收所述计算控制模块输入的使能信号MODE;m为[2,Nin-2]中的奇数,即3,5,......,Nin-2;
Addern的第一输入端输入Resultn,第二输入端输入偏置数据Bias,控制端与所述计算控制模块相连,接收所述计算控制模块输入的使能信号MODE;n为1以及[1,Nin-2]中的偶数,即1,2,4,6,......,Nin-3;
Adder1、Adder2、......、AdderNin的输出端均与所述数据选通器相连;的控制端均与所述计算控制模块相连,接收所述计算控制模块输入的使能信号MODE1;Adder(Nin+1)的第一输入端输入Result1,第二输入端与Adder3的输出端相连;Adders的第一输入端与Adder(s-1)的输出端相连,第二输入端与Adder(2s-2Nin+1)的输出端相连,/> 的第一输入端与/>的输出端相连,第二输入端与Adder(Nin-1)的输出端相连;的第一输入端与/>的输出端相连,第二输入端与AdderNin的输出端相连;/>的输出端与所述条件判断电路相连;所述条件判断电路的第一输出端与所述数据选通器相连,第二输出端与所述FIFO单元的输入端相连;
当进行卷积计算的像素数据为单通道数据时,所述计算控制模块将MODE和En置1,MODE1置0,将所述加法树模块的工作模式设置为单通道模式,此时,所述二路选择器均选通Bias数据;Addern使能,执行加法运算;均不使能,不执行加法运算;由所述数据选通器选通输出Nin个计算结果,即Resultp+bias,p=1,2,......,Nin;
当进行卷积计算的像素数据为多通道数据时,所述计算控制模块将MODE置0,MODE1置1,将所述加法树模块的工作模式设置为多通道模式,此时,选通Result(m-1),/>选通FIFO单元的输入,将Result1、Adderm、Adder(Nin-1)和AdderNin的加法运算结果求和;其中,若输入特征图间的循环未完成,则将En置0,使/>选通0;否则,将En置1,/>选通Bias数据;所述条件判断电路用于判断当前是否完成了输入特征图间的循环,若是,则将当前Result1、Adderm、Adder(Nin-1)和AdderNin的加法运算结果之和输出到所述数据选通器中,所述数据选通器选通输出当前Result1、Adderm、Adder(Nin-1)和AdderNin的加法运算结果之和;否则,将当前的Result1、Adderm、Adder(Nin-1)和AdderNin的加法运算结果之和输出至所述FIFO单元中。
8.根据权利要求2所述的可配置型卷积计算电路,其特征在于,所述Nin取值为3或4。
9.根据权利要求2所述的可配置型卷积计算电路,其特征在于,所述卷积计算模块包括MAC阵列;所述MAC阵列包括多个MAC乘加单元;所述MAC乘加单元呈阵列分布,其排布方式为:所述MAC乘加单元沿着第一方向重复排列uy个,uy个乘加单元通过级联的方式连接在一起形成乘加子模块;所述乘加子模块沿着第二方向重复排列ux个形成乘加核模块;所述乘加核模块沿着第三方向重复排列uz个形成一个包含uy*ux*uz个MAC乘加单元的阵列电路;其中,ux、uy和uz为不小于2的整数;其中,ux取值为Nin;
所述第一方向、所述第二方向和所述第三方向分别对应着感受野内的循环、输入特征图间的循环和输出特征图间的循环的展开运算;
每个所述乘加子模块均输出一个卷积运算结果,并行输出Nin个卷积运算结果,即Result1、Result2、......、ResultNin。
10.根据权利要求1-9任意一项所述的可配置型卷积计算电路,其特征在于,所述卷积计算电路还包括输入缓存模块,所述输入缓存模块用于缓存所述计算控制模块输入的像素数据、权重数据和偏置数据,并将像素数据和权重数据输入到所述卷积计算模块中,将偏置数据输入到所述加法树模块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110804282.0A CN113592067B (zh) | 2021-07-16 | 2021-07-16 | 一种用于卷积神经网络的可配置型卷积计算电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110804282.0A CN113592067B (zh) | 2021-07-16 | 2021-07-16 | 一种用于卷积神经网络的可配置型卷积计算电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113592067A CN113592067A (zh) | 2021-11-02 |
CN113592067B true CN113592067B (zh) | 2024-02-06 |
Family
ID=78247949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110804282.0A Active CN113592067B (zh) | 2021-07-16 | 2021-07-16 | 一种用于卷积神经网络的可配置型卷积计算电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113592067B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032781A (zh) * | 2018-07-13 | 2018-12-18 | 重庆邮电大学 | 一种卷积神经网络算法的fpga并行系统 |
CN109409512A (zh) * | 2018-09-27 | 2019-03-01 | 西安交通大学 | 一种可灵活配置的神经网络计算单元、计算阵列及其构建方法 |
WO2020029767A1 (zh) * | 2018-08-06 | 2020-02-13 | 山东浪潮人工智能研究院有限公司 | 一种卷积神经网络的基本计算单元及计算方法 |
WO2020258529A1 (zh) * | 2019-06-28 | 2020-12-30 | 东南大学 | 一种基于bnrp的可配置并行通用卷积神经网络加速器 |
-
2021
- 2021-07-16 CN CN202110804282.0A patent/CN113592067B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032781A (zh) * | 2018-07-13 | 2018-12-18 | 重庆邮电大学 | 一种卷积神经网络算法的fpga并行系统 |
WO2020029767A1 (zh) * | 2018-08-06 | 2020-02-13 | 山东浪潮人工智能研究院有限公司 | 一种卷积神经网络的基本计算单元及计算方法 |
CN109409512A (zh) * | 2018-09-27 | 2019-03-01 | 西安交通大学 | 一种可灵活配置的神经网络计算单元、计算阵列及其构建方法 |
WO2020258529A1 (zh) * | 2019-06-28 | 2020-12-30 | 东南大学 | 一种基于bnrp的可配置并行通用卷积神经网络加速器 |
Also Published As
Publication number | Publication date |
---|---|
CN113592067A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108809B (zh) | 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法 | |
CN111459877B (zh) | 基于FPGA加速的Winograd YOLOv2目标检测模型方法 | |
US11989638B2 (en) | Convolutional neural network accelerating device and method with input data conversion | |
CN110705703B (zh) | 基于脉动阵列的稀疏神经网络处理器 | |
CN113033794B (zh) | 基于深度可分离卷积的轻量级神经网络硬件加速器 | |
CN110543939A (zh) | 一种基于fpga的卷积神经网络后向训练的硬件加速实现架构 | |
CN110851779A (zh) | 用于稀疏矩阵运算的脉动阵列架构 | |
CN112836813A (zh) | 一种用于混合精度神经网络计算的可重构脉动阵列系统 | |
CN110766136B (zh) | 一种稀疏矩阵与向量的压缩方法 | |
Rasanjani et al. | Fundamental Digital Module Realization Using RTL Design for Quantum Mechanics | |
CN113837365A (zh) | 实现sigmoid函数逼近的模型、FPGA电路及工作方法 | |
Yin et al. | FPGA-based high-performance CNN accelerator architecture with high DSP utilization and efficient scheduling mode | |
CN113592067B (zh) | 一种用于卷积神经网络的可配置型卷积计算电路 | |
Lu et al. | A reconfigurable DNN training accelerator on FPGA | |
CN112001492A (zh) | 关于二值权重DenseNet模型的混合流水式加速架构及加速方法 | |
CN111178492B (zh) | 计算装置及相关产品、执行人工神经网络模型的计算方法 | |
Zhao et al. | HDSuper: High-Quality and High Computational Utilization Edge Super-Resolution Accelerator With Hardware-Algorithm Co-Design Techniques | |
Zhai et al. | Design of convolutional neural network based on fpga | |
CN116090530A (zh) | 可配置卷积核大小和并行计算数目的脉动阵列结构及方法 | |
Özkilbaç et al. | Real-Time Fixed-Point Hardware Accelerator of Convolutional Neural Network on FPGA Based | |
CN113392963B (zh) | 基于fpga的cnn硬件加速系统设计方法 | |
CN112346704B (zh) | 一种用于卷积神经网络的全流水线型乘加单元阵列电路 | |
CN115081600A (zh) | 执行Winograd卷积的变换单元、集成电路装置及板卡 | |
CN115081603A (zh) | 执行Winograd卷积的计算装置、集成电路装置及板卡 | |
Yin et al. | A reconfigurable accelerator for generative adversarial network training based on FPGA |
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 |