CN109948774B - 基于网络层捆绑运算的神经网络加速器及其实现方法 - Google Patents
基于网络层捆绑运算的神经网络加速器及其实现方法 Download PDFInfo
- Publication number
- CN109948774B CN109948774B CN201910070755.1A CN201910070755A CN109948774B CN 109948774 B CN109948774 B CN 109948774B CN 201910070755 A CN201910070755 A CN 201910070755A CN 109948774 B CN109948774 B CN 109948774B
- Authority
- CN
- China
- Prior art keywords
- module
- characteristic value
- layer
- convolution
- pooling
- 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
-
- 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
- Image Analysis (AREA)
Abstract
本发明公开了基于网络层捆绑运算的神经网络加速器及其实现方法,神经网络加速器包括片外存储器模块、权重参数缓存模块、特征值缓存模块、缓存控制模块、计算单元阵列模块、权重参数寄存器模块、特征值寄存器模块、局部加法树模块、池化计算模块和输出通道加法树模块。本发明将数据量大的中间层进行合并打包,选择数据量相对较少的层进行输出,减少了输出的数据量,仅需在第一次卷积运算时读取一次片外存储器的数据,通过一次数据读取就能完成多层的捆绑计算,有效减小了片外存储器的使用,也减少了数据存取操作,提高了工作效率,同时还减少了电路上冗余的状态翻转,进而降低了功耗和成本,可广泛应用于深度神经网络技术领域。
Description
技术领域
本发明涉及深度神经网络技术领域,尤其是基于网络层捆绑运算的神经网络加速器及其实现方法。
背景技术
卷积神经网络由于其高精度高性能,广泛应用于计算机视觉、语音识别、自然语言处理等领域。
卷积神经网络的运算具有计算密集型和存储密集型的特点。大量的计算和数据读取操作,会加大处理器的工作负担。因此人们把卷积神经网络的运算移植到GPU、FPGA甚至ASIC上。GPU的优势在于其并行度高,但功耗非常大。而ASIC功耗小、性能高,但开发周期长、成本高、并且不易于对硬件进行重构。FPGA是GPU和ASIC的折中,既是低成本、短开发周期的设计平台,也能对神经网络运算作专门的优化设计,从而达到高性能的运算效果。
传统神经网络加速器是创建加速器来逐层迭代处理每一层,完整处理一层后再迭代处理下一层,因此中间层数据很大,要对片外存储进行多次的存取操作。而这种操作,成本开销是十分巨大的。
综上所述,目前的神经网络加速器存在以下缺点:
第一,功耗开销大。由于片外存储访问带来的功耗开销非常大。
第二,时间开销大。由于是对片外的访问,不能做到即时读取的效果,从访问信号生成到最终拿到数据,中间要经过若干个时间周期。
第三,经济开销大。片外存储的访问带来了DRAM(如DDR)的使用。DDR的成本是比较高的,如果在一个设计中能够减小DDR的要求,对于产品的成本可以大大地降低。
发明内容
为解决上述技术问题,本发明的目的在于:提供一种成本低、效率高且功耗低的,基于网络层捆绑运算的神经网络加速器及其实现方法。
本发明一方面所采取的技术方案为:
基于网络层捆绑运算的神经网络加速器,包括:
片外存储器模块,用于存储从摄像头采集到的图片数据以及预设的权重参数;
权重参数缓存模块,用于存储从片外储存器模块读入的预设的权重参数;
特征值缓存模块,用于存储第一卷积层的输入图片数据、中间层的输出特征值以及下一卷积层的输入特征值;
计算单元阵列模块,用于根据输入的特征值和权重参数,执行卷积运算;
权重参数寄存器模块,用于存储从权重参数缓存模块读入的权重参数;
特征值寄存器模块,用于存储卷积运算得到的中间层的输出特征值;
局部加法树模块,用于把各个输出通道的部分和进行累加;
池化计算模块,用于对卷积运算的结果进行池化计算;
输出通道加法树模块,用于将计算单元阵列的输出通道进行累加。
进一步,还包括:
缓存控制模块,用于控制权重参数读入权重参数寄存器模块。
进一步,所述缓存控制模块,还用于控制特征值读入特征值寄存器模块。
进一步,所述计算单元阵列的个数为8个。
进一步,卷积神经网络包括第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层、第四卷积层、第五卷积层、第三池化层、第一全连接层、第二全连接层和第三全连接层;
其中,第二卷积层的输入特征值维度为27×27×96,第二卷积层的输出特征值维度为27×27×256;
第三卷积层的输入特征值维度为13×13×256,第三卷积层的输出特征值维度为13×13×384;
第四卷积层的输入特征值维度为15×15×384,第四卷积层的输出特征值维度为13×13×384;
第五卷积层的输入特征值维度为15×15×384,第五卷积层的输出特征值维度为13×13×384。
本发明另一方面所采取的技术方案是:
基于网络层捆绑运算的神经网络加速器的实现方法,包括以下步骤:
通过片外存储器模块存储从摄像头采集到的图片数据以及预设的权重参数;
通过权重参数缓存模块存储从片外储存器模块读入的预设的权重参数;
通过特征值缓存模块存储第一卷积层的输入图片数据、中间层的输出特征值以及下一卷积层的输入特征值;
通过计算单元阵列根据输入的特征值和权重参数,执行卷积运算;
通过权重参数寄存器模块存储从权重参数缓存模块读入的权重参数;
通过特征值寄存器模块存储卷积运算得到的中间层的输出特征值;
通过局部加法树模块把各个输出通道的部分和进行累加;
通过池化计算模块对卷积运算的结果进行池化计算;
通过输出通道加法树模块将计算单元阵列的输出通道进行累加。
进一步,还包括以下步骤:
通过缓存控制模块控制权重参数读入权重参数寄存器模块。
进一步,还包括以下步骤:
通过缓存控制模块控制特征值读入特征值寄存器模块。
进一步,还包括以下步骤:
将四个计算单元阵列拼接成一个大计算单元阵列;
通过拼接得到的大计算单元阵列对输入特征值进行卷积计算;
对卷积计算的结果进行池化处理,得到下一卷积层的输入特征图。
进一步,还包括以下步骤:
从片外存储器中读取第一卷积层的输入数据;
通过计算单元阵列执行第一卷积层的第一卷积运算;
通过池化计算模块对第一卷积运算的结果进行第一池化运算,并将第一池化运算的结果存储在特征值缓存模块中;
从特征值缓存模块中读取第二卷积层的输入数据;
将第二卷积运算、第三卷积运算和第二池化运算进行第一捆绑运算,得到第二池化运算的输出结果,并将第二池化运算的输出结果存储于特征值缓存模块中;
从特征值缓存模块中读取第四卷积层的输入数据;
将第四卷积运算、第五卷积运算和第三池化运算进行第二捆绑运算,得到第三池化运算的输出结果。
本发明的有益效果是:本发明将数据量大的中间层进行合并打包,选择数据量相对较少的层进行输出,减少了输出的数据量,通过特征值寄存器模块对卷积运算得到的特征值进行存储,无需通过片外存储器进行读取操作,仅需在第一次卷积运算时读取一次片外存储器的数据,通过一次数据读取就能完成多层的捆绑计算,有效减小了片外存储器的使用,也减少了数据存取操作,提高了工作效率,同时还减少了电路上冗余的状态翻转,进而降低了功耗和成本。
附图说明
图1为本发明实施例的基于网络层捆绑运算的神经网络加速器的架构示意图;
图2为本发明实施例的第一实施步骤示意图;
图3为本发明实施例的第二实施步骤示意图。
具体实施方式
下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
参照图1,本发明实施例提供了一种基于网络层捆绑运算的神经网络加速器,包括:
片外存储器模块,用于存储从摄像头采集到的图片数据以及预设的权重参数;
权重参数缓存模块,用于存储从片外储存器模块读入的预设的权重参数;
特征值缓存模块,用于存储第一卷积层的输入图片数据、中间层的输出特征值以及下一卷积层的输入特征值;
计算单元阵列模块,用于根据输入的特征值和权重参数,执行卷积运算;
权重参数寄存器模块,用于存储从权重参数缓存模块读入的权重参数;
特征值寄存器模块,用于存储卷积运算得到的中间层的输出特征值;
局部加法树模块,用于把各个输出通道的部分和进行累加;
池化计算模块,用于对卷积运算的结果进行池化计算;
输出通道加法树模块,用于将计算单元阵列的输出通道进行累加。
参照图1,进一步作为优选的实施方式,还包括:
缓存控制模块,用于控制权重参数读入权重参数寄存器模块。
参照图1,进一步作为优选的实施方式,所述缓存控制模块,还用于控制特征值读入特征值寄存器模块。
参照图1,进一步作为优选的实施方式,所述计算单元阵列的个数为8个。
进一步作为优选的实施方式,卷积神经网络包括第一卷积层、第一池化层、第二卷积层、第二池化层、第三卷积层、第四卷积层、第五卷积层、第三池化层、第一全连接层、第二全连接层和第三全连接层;
其中,第二卷积层的输入特征值维度为27×27×96,第二卷积层的输出特征值维度为27×27×256;
第三卷积层的输入特征值维度为13×13×256,第三卷积层的输出特征值维度为13×13×384;
第四卷积层的输入特征值维度为15×15×384,第四卷积层的输出特征值维度为13×13×384;
第五卷积层的输入特征值维度为15×15×384,第五卷积层的输出特征值维度为13×13×384。
基于图1所示的神经网络加速器,本发明实施例还提供了一种基于网络层捆绑运算的神经网络加速器的实现方法,包括以下步骤:
通过片外存储器模块存储从摄像头采集到的图片数据以及预设的权重参数;
通过权重参数缓存模块存储从片外储存器模块读入的预设的权重参数;
通过特征值缓存模块存储第一卷积层的输入图片数据、中间层的输出特征值以及下一卷积层的输入特征值;
通过计算单元阵列根据输入的特征值和权重参数,执行卷积运算;
通过权重参数寄存器模块存储从权重参数缓存模块读入的权重参数;
通过特征值寄存器模块存储卷积运算得到的中间层的输出特征值;
通过局部加法树模块把各个输出通道的部分和进行累加;
通过池化计算模块对卷积运算的结果进行池化计算;
通过输出通道加法树模块将计算单元阵列的输出通道进行累加。
进一步作为优选的实施方式,还包括以下步骤:
通过缓存控制模块控制权重参数读入权重参数寄存器模块。
进一步作为优选的实施方式,还包括以下步骤:
通过缓存控制模块控制特征值读入特征值寄存器模块。
进一步作为优选的实施方式,还包括以下步骤:
将四个计算单元阵列拼接成一个大计算单元阵列;
通过拼接得到的大计算单元阵列对输入特征值进行卷积计算;
对卷积计算的结果进行池化处理,得到下一卷积层的输入特征图。
进一步作为优选的实施方式,还包括以下步骤:
从片外存储器中读取第一卷积层的输入数据;
通过计算单元阵列执行第一卷积层的第一卷积运算;
通过池化计算模块对第一卷积运算的结果进行第一池化运算,并将第一池化运算的结果存储在特征值缓存模块中;
从特征值缓存模块中读取第二卷积层的输入数据;
将第二卷积运算、第三卷积运算和第二池化运算进行第一捆绑运算,得到第二池化运算的输出结果,并将第二池化运算的输出结果存储于特征值缓存模块中;
从特征值缓存模块中读取第四卷积层的输入数据;
将第四卷积运算、第五卷积运算和第三池化运算进行第二捆绑运算,得到第三池化运算的输出结果。
本发明针对移动端加速器的低功耗低成本的要求,设计了针对网络层的多层捆绑运算加速器,并以AlexNet为实施案例。本实施例利用XilinxZYNQUltrascale+ZCU102开发平台来实现,该开发平台具有2500多个DSP资源数目,适合于本发明的捆绑式网络计算模式。
具体地,以AlexNet为例,本实施例的网络的基本结构依次是第一卷积层Conv1、第一池化运算层Pooling1、第二卷积层Conv2、第二池化运算层Pooling2、第三卷积层Conv3、第四卷积层Conv4、第五卷积层Conv5、第三池化运算层Pooling3以及最后三个全连接层。其中,Conv代表卷积层,Pooling代表池化层。
本实施首先从片外存储器中读取Conv1层的输入,在计算单元阵列中执行Conv1的卷积运算,在池化计算模块中执行Pooling1的池化运算,并将运算结果存储于特征值缓存模块中;
接着,从特征值缓存模块中读取Conv2的输入,然后将Conv2、Pooling2和Conv3捆绑运算,最终直接得到Conv3的输出,并运算结果存储于特征值缓存模块中。
然后,从特征值缓存模块中读取Conv4层的输入,对Conv4、Conv5以及Pooling3进行捆绑运算,最终直接得到Pooling3的输出。
本发明选择数据量相对较少的层进行输出,相较于现有方法将每一层的数据都输出至片外存储器的方式,本发明减少了输出的数据量。
由于不同卷积层和池化层输出的数据量不同,本发明选择数据量相对较少的层进行输出,并存储到特征值缓存模块中;对于数据量较大的层不直接输出,而是继续计算下一层(假设下一层数据量相对较少),下一层再输出数据,并存储到特征值缓存模块中。例如,本实施例中,Conv2的数据量比Conv3的大,所以Conv2不输出,而是将Conv2和Conv3,pooling2捆绑运算后再输出。
另外,对于本实施例中的Conv4和Conv5,Conv4和Conv5输出的数据量都是相同的,本实施例对两者进行合并捆绑运算,虽然未达到“选择数据量相对较少的层进行输出”的效果,但达到了“减少了输出的数据量(相对于每一层都往片外存储器进行存储)”的效果。
如图1所示,本实施例的神经网络加速器包括片外存储器模块、权重参数缓存模块、缓存控制模块、特征值缓存模块、计算单元阵列模块、权重参数寄存器模块、特征值寄存器模块、局部加法树模块、池化计算模块、输出通道加法树模块。
所述片外存储器模块,用于存储从摄像头采集到的图片数据以及已经训练好的权重参数;
所述权重参数缓存模块存储的是从片外储存器模块读入的权重参数;
所述缓存控制模块,用于控制权重参数读入权重参数寄存器模块;
所述特征值缓存模块,用于存储第一层的输入图片数据、从计算单元阵列返回的中间层输出特征值、后一层的输入特征值;
所述缓存控制模块,用于控制特征值读入特征值寄存器模块;
所述计算单元阵列模块,用于输入特征值与权重的卷积运算;
所述权重参数寄存器模块,用于存储读入的权重参数;
所述特征值寄存器模块,用于存储存储中间层输出特征值;
所述局部加法树模块,用于把各个输出通道的部分和进行累加;
所述池化计算模块用于池化计算;
所述输出通道加法树模块,用于把8个计算单元阵列的输出通道相加。
如图2所示,Conv4,Conv5以及Pooling3网络层捆绑运算模式设计实施方案如下:
Conv4和Conv5这两层卷积运算的输入特征值维度均为15×15×384,输出特征值维度均为13×13×384。
1)、对于Conv4,本实施例采用稳定输出的数据复用策略:
首先,一次读入Conv4的所有输入通道CH X1,CH X2,……,CH Xk,与Conv4层对应的卷积核,在同一个计算单元阵列15×15PE Array中进行乘加运算,即可得到Conv4的一个完整的输出通道,如CH Y1;
然后,重复这种操作Yn次,即可得到Conv4的所有输出通道,即CH Y1,CHY2,……,CH Yn;
其中,Conv4的输出通道均存储在片上的中间层的特征值寄存器模块中,不需要存到额外的片外存储器上。
2)、对于Conv5,本实施例采用稳定输入的数据复用策略:
首先,以Conv4得到的输出通道作为Conv5的输入通道,如CH Y1,获取Conv5层对应卷积核,在同一个计算单元阵列15×15PE Array中,再进行乘加运算,能得到Conv5所有输出通道的一组部分和,即Psum CH Z1,Psum CH Z2,……,Psum CH Zm;
然后,在8个计算单元阵列计算完成后,即可得到8组Psum CH Z1,Psum CHZ2,……,Psum CH Zm,把各部分进行累加,得到最后的M通道的输出;
因为Conv5一共有384组输入通道,所以上述操作重复384/8=48次就可以完成运算,得到Conv5的所有输出通道。
本发明基于稳定输出和稳定输入的来设计的捆绑网络层运算模式,可以实现两层连续的卷积运算,前一层完成整个中间输出通道后,后一层可以不需把计算阵列上的数据往片外存储器上存储,而是直接进行连续行算,得到后一层若干组输出通道的部分和结果,不断进行累加,即可实现捆绑网络层计算模式。本发明可以省去一次往片外存储器写数据的操作,减少了不必要的操作,提高了计算效率,降低了计算过程的功耗。
如图3所示,Conv2,Pooling2和Conv3网络层捆绑运算模式设计实施方案如下:
Conv2的输入特征值维度为27×27×96,输出特征值维度为27×27×256;
Conv3的输入特征值维度为13×13×256,输出特征值维度为13×13×384;
由于Conv2的输出特征图尺寸比计算单元阵列大,因此需要把四个阵列拼成一个大的计算单元阵列,即把四个15×15PE Array拼起来,从而可以如期应用输出稳定数据流来完成Conv2的卷积操作。
当完成Conv2的运算后,经过池化模块输出,得到了Conv3的输入特征图大小为13×13,此时,本实施例可将Conv3的输入特征图完全映射到其中一个计算单元阵列,即15×15PE Array,进而通过该阵列来执行Conv3的运算。
综上所述,本发明设计的加速器包括片外存储器模块、权重参数缓存模块、缓存控制模块、特征值缓存模块、计算单元阵列模块、权重参数寄存器模块、特征值寄存器模块、局部加法树模块、池化计算模块和输出通道加法树模块,并详细设计了基于Conv2、Pooling2、Conv3的捆绑运算以及Conv4、Conv5的Pooling3捆绑运算的网络层捆绑运算模式,本发明将数据量大的中间层进行合并打包,选择数据量相对较少的层进行输出,减少了输出的数据量,通过特征值寄存器模块对卷积运算得到的特征值进行存储,无需通过片外存储器进行读取操作,仅需在第一次卷积运算时读取一次片外存储器的数据,通过一次数据读取就能完成多层的卷积计算,有效减小了片外存储器的使用,也减少了数据存取操作,提高了工作效率,同时还减少了电路上冗余的状态翻转,进而降低了功耗和成本。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (4)
1.基于网络层捆绑运算的神经网络加速器的实现方法,其特征在于:包括以下步骤:
通过片外存储器模块存储从摄像头采集到的图片数据以及预设的权重参数;
通过权重参数缓存模块存储从片外储存器模块读入的预设的权重参数;
通过特征值缓存模块存储第一卷积层的输入图片数据、中间层的输出特征值以及下一卷积层的输入特征值;
通过计算单元阵列根据输入的特征值和权重参数,执行卷积运算;
通过权重参数寄存器模块存储从权重参数缓存模块读入的权重参数;
通过特征值寄存器模块存储卷积运算得到的中间层的输出特征值;
通过局部加法树模块把各个输出通道的部分和进行累加;
通过池化计算模块对卷积运算的结果进行池化计算;
通过输出通道加法树模块将计算单元阵列的输出通道进行累加;
还包括以下步骤:
从片外存储器中读取第一卷积层的输入数据;
通过计算单元阵列执行第一卷积层的第一卷积运算;
通过池化计算模块对第一卷积运算的结果进行第一池化运算,并将第一池化运算的结果存储在特征值缓存模块中;
从特征值缓存模块中读取第二卷积层的输入数据;
将第二卷积运算、第三卷积运算和第二池化运算进行第一捆绑运算,得到第二池化运算的输出结果,并将第二池化运算的输出结果存储于特征值缓存模块中;
从特征值缓存模块中读取第四卷积层的输入数据;
将第四卷积运算、第五卷积运算和第三池化运算进行第二捆绑运算,得到第三池化运算的输出结果。
2.根据权利要求1所述的基于网络层捆绑运算的神经网络加速器的实现方法,其特征在于:还包括以下步骤:
通过缓存控制模块控制权重参数读入权重参数寄存器模块。
3.根据权利要求2所述的基于网络层捆绑运算的神经网络加速器的实现方法,其特征在于:
还包括以下步骤:
通过缓存控制模块控制特征值读入特征值寄存器模块。
4.根据权利要求1所述的基于网络层捆绑运算的神经网络加速器的实现方法,其特征在于:还包括以下步骤:
将四个计算单元阵列拼接成一个大计算单元阵列;
通过拼接得到的大计算单元阵列对输入特征值进行卷积计算;
对卷积计算的结果进行池化处理,得到下一卷积层的输入特征图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910070755.1A CN109948774B (zh) | 2019-01-25 | 2019-01-25 | 基于网络层捆绑运算的神经网络加速器及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910070755.1A CN109948774B (zh) | 2019-01-25 | 2019-01-25 | 基于网络层捆绑运算的神经网络加速器及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109948774A CN109948774A (zh) | 2019-06-28 |
CN109948774B true CN109948774B (zh) | 2022-12-13 |
Family
ID=67007223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910070755.1A Active CN109948774B (zh) | 2019-01-25 | 2019-01-25 | 基于网络层捆绑运算的神经网络加速器及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109948774B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110516801B (zh) * | 2019-08-05 | 2022-04-22 | 西安交通大学 | 一种高吞吐率的动态可重构卷积神经网络加速器 |
CN110490302B (zh) * | 2019-08-12 | 2022-06-07 | 中科寒武纪科技股份有限公司 | 一种神经网络编译优化方法、装置以及相关产品 |
CN112396072B (zh) * | 2019-08-14 | 2022-11-25 | 上海大学 | 基于asic与vgg16的图像分类加速方法及装置 |
CN110780923B (zh) * | 2019-10-31 | 2021-09-14 | 合肥工业大学 | 应用于二值化卷积神经网络的硬件加速器及其数据处理方法 |
CN110991630A (zh) * | 2019-11-10 | 2020-04-10 | 天津大学 | 一种面向边缘计算的卷积神经网络处理器 |
CN112819022B (zh) * | 2019-11-18 | 2023-11-07 | 同方威视技术股份有限公司 | 基于神经网络的图像识别装置和图像识别方法 |
CN111078189B (zh) * | 2019-11-23 | 2023-05-02 | 复旦大学 | 用于循环神经网络自然语言处理的稀疏矩阵乘法加速器 |
CN111062471B (zh) * | 2019-11-23 | 2023-05-02 | 复旦大学 | 用于加速bert神经网络运算的深度学习加速器 |
CN111126589B (zh) | 2019-12-31 | 2022-05-20 | 昆仑芯(北京)科技有限公司 | 神经网络数据处理装置、方法和电子设备 |
CN111340198B (zh) * | 2020-03-26 | 2023-05-05 | 上海大学 | 基于fpga的数据高度复用的神经网络加速器 |
CN111783967B (zh) * | 2020-05-27 | 2023-08-01 | 上海赛昉科技有限公司 | 一种适用于专用神经网络加速器的数据双层缓存方法 |
CN111563483B (zh) * | 2020-06-22 | 2024-06-11 | 武汉芯昌科技有限公司 | 一种基于精简lenet5模型的图像识别方法及*** |
CN112766479B (zh) * | 2021-01-26 | 2022-11-11 | 东南大学 | 一种基于fpga的支持通道分离卷积的神经网络加速器 |
CN113159309B (zh) * | 2021-03-31 | 2023-03-21 | 华南理工大学 | 一种基于nand闪存的低功耗神经网络加速器存储架构 |
CN113191493B (zh) * | 2021-04-27 | 2024-05-28 | 北京工业大学 | 一种基于fpga并行度自适应的卷积神经网络加速器 |
CN115035384B (zh) * | 2022-06-21 | 2024-05-10 | 上海后摩智能科技有限公司 | 数据处理方法、装置和芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105184366A (zh) * | 2015-09-15 | 2015-12-23 | 中国科学院计算技术研究所 | 一种时分复用的通用神经网络处理器 |
EP3154001A2 (en) * | 2015-10-08 | 2017-04-12 | VIA Alliance Semiconductor Co., Ltd. | Neural network unit with neural memory and array of neural processing units that collectively shift row of data received from neural memory |
CN107918794A (zh) * | 2017-11-15 | 2018-04-17 | 中国科学院计算技术研究所 | 基于计算阵列的神经网络处理器 |
CN109032781A (zh) * | 2018-07-13 | 2018-12-18 | 重庆邮电大学 | 一种卷积神经网络算法的fpga并行*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
-
2019
- 2019-01-25 CN CN201910070755.1A patent/CN109948774B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105184366A (zh) * | 2015-09-15 | 2015-12-23 | 中国科学院计算技术研究所 | 一种时分复用的通用神经网络处理器 |
EP3154001A2 (en) * | 2015-10-08 | 2017-04-12 | VIA Alliance Semiconductor Co., Ltd. | Neural network unit with neural memory and array of neural processing units that collectively shift row of data received from neural memory |
CN107918794A (zh) * | 2017-11-15 | 2018-04-17 | 中国科学院计算技术研究所 | 基于计算阵列的神经网络处理器 |
CN109032781A (zh) * | 2018-07-13 | 2018-12-18 | 重庆邮电大学 | 一种卷积神经网络算法的fpga并行*** |
Non-Patent Citations (1)
Title |
---|
一种用于卷积神经网络压缩的混合剪枝方法;靳丽蕾 等;《小型微型计算机***》;20181231(第12期);第2596-2601页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109948774A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109948774B (zh) | 基于网络层捆绑运算的神经网络加速器及其实现方法 | |
CN108805266B (zh) | 一种可重构cnn高并发卷积加速器 | |
CN106875011B (zh) | 二值权重卷积神经网络加速器的硬件架构及其计算流程 | |
CN110097174B (zh) | 基于fpga和行输出优先的卷积神经网络实现方法、***及装置 | |
CN109447241B (zh) | 一种面向物联网领域的动态可重构卷积神经网络加速器架构 | |
CN110852428B (zh) | 基于fpga的神经网络加速方法和加速器 | |
CN110222818B (zh) | 一种用于卷积神经网络数据存储的多bank行列交织读写方法 | |
CN111898733B (zh) | 一种深度可分离卷积神经网络加速器架构 | |
CN112465110B (zh) | 一种卷积神经网络计算优化的硬件加速装置 | |
CN111242277A (zh) | 一种基于fpga设计的支持稀疏剪枝的卷积神经网络加速器 | |
CN112633490B (zh) | 执行神经网络模型的数据处理装置、方法及相关产品 | |
CN109993293B (zh) | 一种适用于堆叠式沙漏网络的深度学习加速器 | |
CN111860773B (zh) | 处理装置和用于信息处理的方法 | |
Shahshahani et al. | Memory optimization techniques for fpga based cnn implementations | |
CN111582465A (zh) | 基于fpga的卷积神经网络加速处理***、方法以及终端 | |
CN110222835A (zh) | 一种基于零值检测的卷积神经网络硬件***及运算方法 | |
CN115423081A (zh) | 一种基于fpga的cnn_lstm算法的神经网络加速器 | |
CN111222090B (zh) | 卷积计算模块、神经网络处理器、芯片和电子设备 | |
CN109948787B (zh) | 用于神经网络卷积层的运算装置、芯片及方法 | |
CN114912596A (zh) | 面向稀疏卷积神经网络的多chiplet***及其方法 | |
CN112346704B (zh) | 一种用于卷积神经网络的全流水线型乘加单元阵列电路 | |
CN113627587A (zh) | 一种多通道式卷积神经网络加速方法及装置 | |
CN115081600A (zh) | 执行Winograd卷积的变换单元、集成电路装置及板卡 | |
CN113128688A (zh) | 通用型ai并行推理加速结构以及推理设备 | |
Rakanovic et al. | Reducing off-chip memory traffic in deep CNNs using stick buffer cache |
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 |