CN115204373A - 一种卷积神经网络的快速卷积及缓存模式的设计方法 - Google Patents

一种卷积神经网络的快速卷积及缓存模式的设计方法 Download PDF

Info

Publication number
CN115204373A
CN115204373A CN202210937743.6A CN202210937743A CN115204373A CN 115204373 A CN115204373 A CN 115204373A CN 202210937743 A CN202210937743 A CN 202210937743A CN 115204373 A CN115204373 A CN 115204373A
Authority
CN
China
Prior art keywords
convolution
unit
input
matrix
cache
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.)
Pending
Application number
CN202210937743.6A
Other languages
English (en)
Inventor
秦亚东
黄宏敏
熊晓明
刘远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN202210937743.6A priority Critical patent/CN115204373A/zh
Publication of CN115204373A publication Critical patent/CN115204373A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • G06F15/7878Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS for pipeline reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种卷积神经网络的快速卷积及缓存模式的设计方法,充分利用FPGA完成Winograd算法的设计,在3*3的卷积核尺寸下,乘法操作从36次减少到16次,可以充分利用DSP资源对卷积操作进行加速。通过特征图缓存以及流水线传输的方式,优化卷积滑窗操作时需要对重复行和列数据的缓存,提高缓存以及转化模块工作效率。通过配置参数实现矩阵转化模块的可重构设计。充分利用所节省的DSP资源,复用Winograd卷积计算阵列,充分利用FPGA的硬件资源,进一步提升卷积加速模块的计算能力,对点积步骤进行低功耗设计。

Description

一种卷积神经网络的快速卷积及缓存模式的设计方法
技术领域
本发明涉及卷积神经网络加速的技术领域,尤其涉及到一种卷积神经网络的快速卷积及缓存模式的设计方法。
背景技术
目前深度卷积神经网络(DCNNs)在图像分类、目标检测和语义分割等各种计算机视觉任务中都取得了显著的性能。
随着更大的数据集和模型出现,卷积神经网络的精度大幅提升,然而这需要以巨大的计算量和处理时间为代价。为了应对如此巨大的计算压力,GPU、FPGA和ASICS等硬件加速器已被广泛的应用于对CNNs的加速。
针对卷积神经网络计算量最大的卷积层,出现包括Winograd、FFT等加速卷积计算的算法,其中Winograd算法相对传统卷积,该算法可将算术复杂度降低4倍;与传统FFT卷积算法相比,Winograd算法对内存需求也较轻。这使得通过Winograd算法加速卷积运算成为可能。
发明内容
本发明的目的在于克服现有技术的不足,提供一种应用Winograd算法的卷积神经网络的快速卷积及缓存模式的设计方法。
为实现上述目的,本发明所提供的技术方案为:
一种卷积神经网络的快速卷积及缓存模式的设计方法,包括利用FPGA完成Winograd算法的设计、通过特征图缓存以及流水线传输的方式,优化卷积滑窗操作时需要对重复行和列数据的缓存以及通过配置参数实现矩阵转化的可重构设计。
进一步地,Winograd算法包括:
Winograd算法加速一维卷积计算:
对于输入为i=[i0 i1 i2 i3]T,卷积核为w=[w0 w1 w2]T,卷积的表达式为:
Figure BDA0003784307280000021
其中,
Figure BDA0003784307280000022
Figure BDA0003784307280000023
将一维卷积的变换扩展到二维卷积,用矩阵形式表示为:
Y=AT[(GWGT)⊙(BTIB)]A
其中,Y、W、I分别表示输出特征图、权重、输入特征图,G、B、A分别表示权重转化矩阵、输入特征图转化矩阵、输出特征图转化矩阵。
进一步地,利用FPGA完成Winograd算法的设计中,包括顶层控制模块、Winograd卷积模块以及缓存模块;
其中,所述顶层控制模块包括流水线调度单元、控制指令解析单元、矩阵转换控制单元;
所述流水线调度单元,分为三级流水:第一级输入端口,包括输入缓存和权重缓存;第二级包括输入激活和权重的矩阵转换,以及winograd卷积;第三级输出端包括中间值缓存和输出缓存;
所述控制指令解析单元,将写入的控制指令进行解析,解析的控制指令包括缓存的数据结构参数、卷积尺寸、步长,根据需求发送到不同的模块或单元;
所述矩阵转换控制单元,接收控制指令解析单元的指令,控制输入激活、权重和PE阵列计算结果进行矩阵转换;
Winograd卷积模块包括寄存器阵列单元、MUX单元、卷积控制单元、PE阵列单元、加法树单元、ReLU及POOL单元;
所述寄存器阵列单元,缓存矩阵转换的结果;
所述MUX单元,通过选择对应的行,列到PE阵列实现数据复用;
所述卷积控制单元,用于卷积控制;
所述PE阵列单元,由DSP实现的乘法器阵列,完成winograd域的点乘计算;
所述加法树单元,计算结果的累加,以及实现加偏置功能;
所述ReLU及POOL单元,实现激活函数和池化功能;
所述缓存模块包括输入缓存单元、权重缓存单元、中间值缓存单元、输出缓存单元;
所述输入缓存单元,缓存片外读入的输入激活,根据顶层控制的参数缓存分块后的输入激活,并且完成补零以及重复行缓存;
所述权重缓存单元,缓存权重参数;
所述中间值缓存单元,缓存分块的计算结果,供加法树单元读取完成累加;
所述输出缓存单元,缓存最终计算结果,通过DMA存储到片外。
进一步地,通过特征图缓存以及流水线传输的方式,优化卷积滑窗操作时需要对重复行和列数据的缓存,包括:
将H*L*N的输入特征图,在行的方向上展开进行分块操作,按通道顺序存储到16条Bram中进行缓存;输入缓存到转换模块的中间模块,对3*3尺寸的卷积核完成4*4大小的分块滑窗操作,由四级流水线组成,流水线0每个时钟周期读入16条Bram中同一地址的数据,并且输入向后面的流水线传递,行方向上,每两个周期向矩阵转化模块传递一次滑窗数据块,从而优化行方向上的重复数据读取;列方向上,重复列的数据会读入相应的两个矩阵转化模块,即16条Bram存储的16行输入特征图传递到7个输入特征图矩阵转化模块,优化列方向上的重复数据读取。
进一步地,通过配置参数实现矩阵转化的可重构设计包括:
二维Winograd算法的转化矩阵包括A、G、B,而转化矩阵的构成只与Winograd算法的卷积尺寸和输入特征图大小有关,且转换矩阵之间存在重复参数,通过配置参数s以及s0s1s2,占用少量寄存及资源,实现转化模块的可重构设计;对于输入特征图转化矩阵B进行推导如下:
Figure BDA0003784307280000041
Figure BDA0003784307280000042
进一步地,还包括:在点积过程中,对于权重参数为零的位置,将关闭该参数的乘法计算,权重参数不为零的位置,跳过特征图数据为零的乘法计算,实现卷积计算的低功耗设计。
与现有技术相比,本方案原理及优点如下:
1)充分利用FPGA完成Winograd算法的设计,在3*3的卷积核尺寸下,乘法操作从36次减少到16次,可以充分利用DSP资源对卷积操作进行加速。
2)通过特征图缓存以及流水线传输的方式,优化卷积滑窗操作时需要对重复行和列数据的缓存,提高缓存以及转化模块工作效率。
3)通过配置参数实现矩阵转化模块的可重构设计。
4)充分利用所节省的DSP资源,复用Winograd卷积计算阵列,充分利用FPGA的硬件资源,进一步提升卷积加速模块的计算能力,对点积步骤进行低功耗设计。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为Winograd算法硬件实现流程图;
图2为输入特征图缓存示意图;
图3为输入特征图缓存到转换模块的示意图;
图4为转化模块示意图。
具体实施方式
下面结合具体实施例对本发明作进一步说明:
本实施例所述的一种卷积神经网络的快速卷积及缓存模式的设计方法,包括利用FPGA完成Winograd算法的设计、通过特征图缓存以及流水线传输的方式,优化卷积滑窗操作时需要对重复行和列数据的缓存以及通过配置参数实现矩阵转化的可重构设计。
其中,Winograd算法包括:
Winograd算法加速一维卷积计算:
对于输入为i=[i0 i1 i2 i3]T,卷积核为w=[w0 w1 w2]T,卷积的表达式为:
Figure BDA0003784307280000051
其中,
Figure BDA0003784307280000052
Figure BDA0003784307280000053
将一维卷积的变换扩展到二维卷积,用矩阵形式表示为:
y=AT[(GWGT)⊙(BTIB)]A
其中,Y、W、I分别表示输出特征图、权重、输入特征图,G、B、A分别表示权重转化矩阵、输入特征图转化矩阵、输出特征图转化矩阵。
如图1所示,上述整个算法的实现流程,涉及到三处矩阵变换,输入端的输入激活与权重进行矩阵变换是为了后续在Winograd域完成矩阵乘法,计算后的结果仍是Winograd域的数据结构,所以输出端需要将Winograd域计算的结果转化,得到最后的输出结果。硬件电路的整体实现也是这样的流程。
利用FPGA完成Winograd算法的设计中,包括顶层控制模块、Winograd卷积模块以及缓存模块;
其中,顶层控制模块包括流水线调度单元、控制指令解析单元、矩阵转换控制单元;流水线调度单元,分为三级流水:第一级输入端口,包括输入缓存和权重缓存;第二级包括输入激活和权重的矩阵转换,以及winograd卷积;第三级输出端包括中间值缓存和输出缓存;控制指令解析单元,将写入的控制指令进行解析,解析的控制指令包括缓存的数据结构参数、卷积尺寸、步长,根据需求发送到不同的模块或单元;矩阵转换控制单元,接收控制指令解析单元的指令,控制输入激活、权重和PE阵列计算结果进行矩阵转换;
Winograd卷积模块包括寄存器阵列单元、MUX单元、卷积控制单元、PE阵列单元、加法树单元、ReLU及POOL单元;寄存器阵列单元,缓存矩阵转换的结果;MUX单元,通过选择对应的行,列到PE阵列单元实现数据复用;卷积控制单元,用于卷积控制;PE阵列单元,由DSP实现的乘法器阵列,完成Winograd域的点乘计算;加法树单元,计算结果的累加,以及实现加偏置功能;ReLU及POOL单元,实现激活函数和池化功能;
所述缓存模块包括输入缓存单元、权重缓存单元、中间值缓存单元、输出缓存单元;输入缓存单元,缓存片外读入的输入激活,根据顶层控制的参数缓存分块后的输入激活,并且完成补零以及重复行缓存;权重缓存单元,缓存权重参数;中间值缓存单元,缓存分块的计算结果,供加法树单元读取完成累加;输出缓存单元,缓存最终计算结果,通过DMA存储到片外。
实现原理如下:
最前端进行的是输入激活数据的输入缓存单元,其会将分块好的数据通过DMA读入片内缓存,特征图的补零、重复行存储也在此单元完成,之后进行输入数据矩阵变换,即对完成的H*L*N(高*宽*通道)进行分块,且按长条形分块,原因是使得数据地址连续,提高DMA传输效率,其中分块大小为Th*L*Tn(分块高*长*分块通道);
缓存好的输入数据,会被Winograd卷积模块读入,进行矩阵变换后,与权重一同进入PE阵列单元进行计算,如输入尺寸4*4,卷积核尺寸3*3,步长为1的数据流,Winograd卷积模块将同时读入Tm个输出通道的卷积核,在PEArray中进行对应并计算输出。
PE阵列单元计算后对计算结果进行输出矩阵转换得到最后的分块计算结果,中间值在加法树中累加后缓存在中间值缓存单元中,累加完成的输出数据在ReLU及POOL单元完成激活、池化等操作后,缓存在输出缓存单元中,等待DMA空闲后将结果输出到后处理。
具体地,如图2所示,将H*L*N的输入特征图,在行的方向上展开进行分块操作,按通道顺序存储到16条Bram中进行缓存。如图3所示的输入缓存到转换模块的中间模块,对3*3尺寸的卷积核完成4*4大小的分块滑窗操作,由四级流水线组成,流水线0每个时钟周期读入16条Bram中同一地址的数据,并且输入向后面的流水线传递,行方向上,每两个周期可以向矩阵转化模块传递一次滑窗数据块,这样可以优化行方向上的重复数据读取;列方向上,重复列的数据会读入相应的两个矩阵转化模块,即16条Bram存储的16行输入特征图传递到7个输入特征图矩阵转化模块,优化列方向上的重复数据读取。
通过配置参数实现矩阵转化的可重构设计包括:
二维Winograd算法的转化矩阵包括A、G、B,而转化矩阵的构成只与Winograd算法的卷积尺寸和输入特征图大小有关,且转换矩阵之间存在重复参数,如图4所示,通过配置参数s以及s0s1s2,占用少量寄存及资源,实现转化模块的可重构设计;对于输入特征图转化矩阵B进行推导如下:
Figure BDA0003784307280000071
Figure BDA0003784307280000081
最后,本实施例还包括:
由于输入特征图以及权重中存在大量的零参数,因此,在点积过程中,对于权重参数为零的位置,将关闭该参数的乘法计算,权重参数不为零的位置,跳过特征图数据为零的乘法计算,实现卷积计算的低功耗设计。
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

Claims (6)

1.一种卷积神经网络的快速卷积及缓存模式的设计方法,其特征在于,包括利用FPGA完成Winograd算法的设计、通过特征图缓存以及流水线传输的方式,优化卷积滑窗操作时需要对重复行和列数据的缓存以及通过配置参数实现矩阵转化的可重构设计。
2.根据权利要求1所述的一种卷积神经网络的快速卷积及缓存模式的设计方法,其特征在于,Winograd算法包括:
Winograd算法加速一维卷积计算:
对于输入为i=[i0 i1 i2 i3}T,卷积核为w=[w0 w1 w2]T,卷积的表达式为:
Figure FDA0003784307270000011
其中,
m0=(i0-i2)·w0
Figure FDA0003784307270000012
m2=(i1-i3)·w2
Figure FDA0003784307270000013
将一维卷积的变换扩展到二维卷积,用矩阵形式表示为:
Y=AT[(GWGT)⊙(BTIB)]A
其中,Y、W、I分别表示输出特征图、权重、输入特征图,G、B、A分别表示权重转化矩阵、输入特征图转化矩阵、输出特征图转化矩阵。
3.根据权利要求2所述的一种卷积神经网络的快速卷积及缓存模式的设计方法,其特征在于,利用FPGA完成Winograd算法的设计中,包括顶层控制模块、Winograd卷积模块以及缓存模块;
其中,所述顶层控制模块包括流水线调度单元、控制指令解析单元、矩阵转换控制单元;
所述流水线调度单元,分为三级流水:第一级输入端口,包括输入缓存和权重缓存;第二级包括输入激活和权重的矩阵转换,以及winograd卷积;第三级输出端包括中间值缓存和输出缓存;
所述控制指令解析单元,将写入的控制指令进行解析,解析的控制指令包括缓存的数据结构参数、卷积尺寸、步长,根据需求发送到不同的模块或单元;
所述矩阵转换控制单元,接收控制指令解析单元的指令,控制输入激活、权重和PE阵列计算结果进行矩阵转换;
Winograd卷积模块包括寄存器阵列单元、MUX单元、卷积控制单元、PE阵列单元、加法树单元、ReLU及POOL单元;
所述寄存器阵列单元,缓存矩阵转换的结果;
所述MUX单元,通过选择对应的行,列到PE阵列实现数据复用;
所述卷积控制单元,用于卷积控制;
所述PE阵列单元,由DSP实现的乘法器阵列,完成winograd域的点乘计算;
所述加法树单元,计算结果的累加,以及实现加偏置功能;
所述ReLU及POOL单元,实现激活函数和池化功能;
所述缓存模块包括输入缓存单元、权重缓存单元、中间值缓存单元、输出缓存单元;
所述输入缓存单元,缓存片外读入的输入激活,根据顶层控制的参数缓存分块后的输入激活,并且完成补零以及重复行缓存;
所述权重缓存单元,缓存权重参数;
所述中间值缓存单元,缓存分块的计算结果,供加法树单元读取完成累加;
所述输出缓存单元,缓存最终计算结果,通过DMA存储到片外。
4.根据权利要求1所述的一种卷积神经网络的快速卷积及缓存模式的设计方法,其特征在于,通过特征图缓存以及流水线传输的方式,优化卷积滑窗操作时需要对重复行和列数据的缓存,包括:
将H*L*N的输入特征图,在行的方向上展开进行分块操作,按通道顺序存储到16条Bram中进行缓存;输入缓存到转换模块的中间模块,对3*3尺寸的卷积核完成4*4大小的分块滑窗操作,由四级流水线组成,流水线0每个时钟周期读入16条Bram中同一地址的数据,并且输入向后面的流水线传递,行方向上,每两个周期向矩阵转化模块传递一次滑窗数据块,从而优化行方向上的重复数据读取;列方向上,重复列的数据会读入相应的两个矩阵转化模块,即16条Bram存储的16行输入特征图传递到7个输入特征图矩阵转化模块,优化列方向上的重复数据读取。
5.根据权利要求2所述的一种卷积神经网络的快速卷积及缓存模式的设计方法,其特征在于,通过配置参数实现矩阵转化的可重构设计包括:
二维Winograd算法的转化矩阵包括A、G、B,而转化矩阵的构成只与Winograd算法的卷积尺寸和输入特征图大小有关,且转换矩阵之间存在重复参数,通过配置参数s以及s0s1s2,占用少量寄存及资源,实现转化模块的可重构设计;其中对于输入特征图转化矩阵B进行推导,输入激活尺寸为4*4的推导如下:
Figure FDA0003784307270000031
Figure FDA0003784307270000032
其他尺寸下的矩阵变化通过增加几位寄存器实现矩阵转换。
6.根据权利要求1所述的一种卷积神经网络的快速卷积及缓存模式的设计方法,其特征在于,还包括:在点积过程中,对于权重参数为零的位置,将关闭该参数的乘法计算,权重参数不为零的位置,跳过特征图数据为零的乘法计算,实现卷积计算的低功耗设计。
CN202210937743.6A 2022-08-05 2022-08-05 一种卷积神经网络的快速卷积及缓存模式的设计方法 Pending CN115204373A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210937743.6A CN115204373A (zh) 2022-08-05 2022-08-05 一种卷积神经网络的快速卷积及缓存模式的设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210937743.6A CN115204373A (zh) 2022-08-05 2022-08-05 一种卷积神经网络的快速卷积及缓存模式的设计方法

Publications (1)

Publication Number Publication Date
CN115204373A true CN115204373A (zh) 2022-10-18

Family

ID=83585947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210937743.6A Pending CN115204373A (zh) 2022-08-05 2022-08-05 一种卷积神经网络的快速卷积及缓存模式的设计方法

Country Status (1)

Country Link
CN (1) CN115204373A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116401502A (zh) * 2023-06-09 2023-07-07 之江实验室 一种基于NUMA***特性优化Winograd卷积的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116401502A (zh) * 2023-06-09 2023-07-07 之江实验室 一种基于NUMA***特性优化Winograd卷积的方法及装置
CN116401502B (zh) * 2023-06-09 2023-11-03 之江实验室 一种基于NUMA***特性优化Winograd卷积的方法及装置

Similar Documents

Publication Publication Date Title
CN111459877B (zh) 基于FPGA加速的Winograd YOLOv2目标检测模型方法
CN111414994B (zh) 一种基于FPGA的Yolov3网络计算加速***及其加速方法
CN108805267B (zh) 用于卷积神经网络硬件加速的数据处理方法
CN111667051A (zh) 适用边缘设备的神经网络加速器及神经网络加速计算方法
CN107993186A (zh) 一种基于Winograd算法的3D CNN加速方法及***
CN110276444B (zh) 基于卷积神经网络的图像处理方法及装置
CN110738308B (zh) 一种神经网络加速器
CN109284824B (zh) 一种基于可重构技术的用于加速卷积和池化运算的装置
CN113051216B (zh) 一种基于FPGA加速的MobileNet-SSD目标检测装置及方法
CN113807509B (zh) 神经网络加速装置、方法和通信设备
CN110766128A (zh) 卷积计算单元、计算方法及神经网络计算平台
CN111582465B (zh) 基于fpga的卷积神经网络加速处理***、方法以及终端
CN110674927A (zh) 一种用于脉动阵列结构的数据重组方法
JP2008506191A5 (zh)
CN109472734B (zh) 一种基于fpga的目标检测网络及其实现方法
CN112668708A (zh) 一种提高数据利用率的卷积运算装置
CN115204373A (zh) 一种卷积神经网络的快速卷积及缓存模式的设计方法
Shahshahani et al. Memory optimization techniques for fpga based cnn implementations
CN113807998A (zh) 图像处理方法、目标检测装置、机器视觉设备和存储介质
CN113537482B (zh) 神经网络计算模块、方法和通信设备
CN117454946A (zh) 支持非结构化稀疏矩阵计算的张量核架构***
CN113792868A (zh) 神经网络计算模块、方法和通信设备
CN114003201A (zh) 矩阵变换方法、装置及卷积神经网络加速器
CN113222129A (zh) 一种基于多级缓存循环利用的卷积运算处理单元及***
CN109948787B (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