CN115293978A - 卷积运算电路和方法、图像处理设备 - Google Patents

卷积运算电路和方法、图像处理设备 Download PDF

Info

Publication number
CN115293978A
CN115293978A CN202210815191.1A CN202210815191A CN115293978A CN 115293978 A CN115293978 A CN 115293978A CN 202210815191 A CN202210815191 A CN 202210815191A CN 115293978 A CN115293978 A CN 115293978A
Authority
CN
China
Prior art keywords
convolution
data
input
result
intermediate data
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
CN202210815191.1A
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.)
Shanghai Weijing Technology Co ltd
Original Assignee
Shanghai Weijing Technology Co ltd
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 Shanghai Weijing Technology Co ltd filed Critical Shanghai Weijing Technology Co ltd
Priority to CN202210815191.1A priority Critical patent/CN115293978A/zh
Publication of CN115293978A publication Critical patent/CN115293978A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本申请公开一种卷积运算电路和方法、图像处理设备,其中卷积运算电路包括多个用于进行不同卷积运算层的运算模块;各个所述运算模块包括用于缓存中间数据的中间存储器和用于进行对应卷积运算的运算单元,所述运算单元与对应的中间存储器设于同一芯片内;所述运算单元用于接收输入数据,对所述输入数据进行对应的卷积运算,将卷积运算过程的中间数据缓存至所述中间存储器,从所述中间存储器读取当前的中间数据供对应卷积运算采用,并根据最新的中间数据更新所述中间存储器缓存的中间数据,输出对应运算模块的卷积运算结果。本申请能够提高卷积运算电路的运算速度,降低对应的执行功耗。

Description

卷积运算电路和方法、图像处理设备
技术领域
本申请涉及图像处理技术领域,具体涉及一种卷积运算电路和方法、图像处理设备。
背景技术
用于图像去噪的卷积神经网络算法本身需要输出与输入特征图同等分辨率的输出特征,因而其中间结果数据量极大。一般情况下的神经网络计算硬件设计方案需要将某层神经网络运算后生成的中间数据转移到芯片外部,再在下个神经网络层运算之前将中间数据再加载到芯片内部。由于芯片内外传输的高延迟以及图像去噪算法的大中间数据量,容易导致对应的算法运行速度慢。
发明内容
鉴于此,本申请提供一种卷积运算电路和方法、图像处理设备,以在提高卷积运算过程的运算速度。
本申请提供的一种卷积运算电路,包括多个用于进行不同卷积运算层的运算模块;
各个所述运算模块包括用于缓存中间数据的中间存储器和用于进行对应卷积运算的运算单元,所述运算单元与对应的中间存储器设于同一芯片内;
所述运算单元用于接收输入数据,对所述输入数据进行对应的卷积运算,将卷积运算过程的中间数据缓存至所述中间存储器,从所述中间存储器读取当前的中间数据供对应卷积运算采用,并根据最新的中间数据更新所述中间存储器缓存的中间数据,输出对应运算模块的卷积运算结果。
可选地,多个所述运算模块包括输入层卷积模块、至少一个DW卷积模块、至少一个PW卷积模块、以及输出层卷积模块。
可选地,所述输入层卷积模块包括TM1个第一乘法器、TM1个第一乘法器分别对应的第一加法器和第一中间存储器、以及第一非线性激活单元,TM1表示所述输入层卷积模块的卷积核个数;所述TM1个第一乘法器用于对所述图像特征图中对应通道的数据分别进行乘法运算,得到第一乘积;所述第一加法器用于从对应的所述第一中间存储器读取当前的第一中间数据,将所述当前的第一中间数据与对应的第一乘积相加,若相加结果为中间数据,则依据相加结果更新对应的第一中间数据,将更新后的第一中间数据存入对应的第一中间存储器;所述第一非线性激活单元用于激活表征当前层最终卷积结果的相加结果,得到所述第一运算结果。
可选地,所述输入层卷积模块还包括R1×S1个第一输入存储器,R1×S1表示所述输入层卷积模块中单次卷积计算的窗口大小;所述R1×S1个第一输入存储器对应R1×S1卷积窗口,用于存储后续运算中需要用到的卷积窗口中的第一输入激活数据,以便所述TM1个第一乘法器读取所述第一输入激活数据;所述第一输入激活数据来源于所述图像特征图。
可选地,所述DW卷积模块包括TM2个第二乘法器、TM2个第二乘法器分别对应的第二加法器和第二中间存储器、以及第二非线性激活单元,TM2表示所述DW卷积模块的卷积核个数;所述TM2个第二乘法器用于对所述第一运算结果中对应通道的数据分别进行乘法运算,得到第二乘积;所述第二加法器用于从对应的所述第二中间存储器读取当前的第二中间数据,将所述当前的第二中间数据与所述第二乘积相加,若相加结果为中间数据,则依据相加结果更新所述第二中间数据,将更新后的所述第二中间数据存入所述第二中间存储器;所述第二非线性激活单元用于激活表征当前层最终卷积结果的相加结果,得到所述第二运算结果。
可选地,所述PW卷积模块包括TM3×TN3个第三乘法器、第三加法器、第三中间存储器、以及第三非线性激活单元,TM3表示所述PW卷积模块的卷积核个数,TN3表示所述PW卷积模块中输入通道尺度上的分片大小;所述TM3×TN3个第三乘法器用于对所述第二运算结果中对应通道的数据分别进行乘法运算,得到第三乘积;所述第三加法器用于分别对TM3组第三乘法器输出的第三乘积进行相加,并从所述第三中间存储器读取当前的第三中间数据,将所述当前的第三中间数据与第三乘积对应的相加结果进行累加,依据累加结果更新所述第三中间数据,将更新后的所述第三中间数据存入所述第三中间存储器;所述第三非线性激活单元用于激活表征当前层最终卷积结果的累加结果,得到所述第三运算结果。
可选地,所述PW卷积模块还包括TN3个第二输入存储器;所述TN3个第二输入存储器用于存储后续运算中需要用到的卷积窗口中的第二输入激活数据,以便所述TM3×TN3个第三乘法器读取所述第二输入激活数据;所述第二输入激活数据来源于所述第二运算结果。
可选地,所述输出层卷积模块包括TN4个第四乘法器、第四加法器、第四中间存储器、以及第四非线性激活单元,TN4表示所述输出层卷积模块中输入通道尺度上的分片大小;所述TN4个第四乘法器用于所述第三运算结果中对应通道的数据分别进行乘法运算,得到第四乘积;所述第四加法器用于分别对TN4个第四乘法器输出的第四乘积进行相加,并从所述第四中间存储器读取当前的第四中间数据,将所述当前的第四中间数据与第四乘积对应的相加结果进行累加,依据累加结果更新所述第四中间数据,将更新后的所述第四中间数据存入所述第四中间存储器;所述第四非线性激活单元用于激活表征当前层最终卷积结果的相加结果,得到所述第四运算结果。
可选地,所述第一非线性激活单元、所述第二非线性激活单元、所述第三非线性激活单元和所述第四非线性激活单元分别包括:加法器组和比较器组;所述加法器组用于对表征当前层最终卷积结果的相加结果进行累加偏置处理;所述比较器组用于对累加偏置处理的结构进行非线性激活处理,得到对应的运算结果。
可选地,所述中间存储器包括静态随机存取存储器。
本申请还提供一种卷积运算方法,应用于上述任一种卷积运算电路,包括:
接收输入数据,对所述输入数据进行对应的卷积运算,将卷积运算过程的中间数据缓存至中间存储器;
从所述中间存储器读取当前的中间数据供对应卷积运算采用,并根据最新的中间数据更新所述中间存储器缓存的中间数据,输出对应运算模块的卷积运算结果。
本申请还提供一种图像处理设备,包括上述任一种卷积运算电路。
本申请上述卷积运算电路和方法、图像处理设备中,多个运算模块分别包括用于缓存中间数据的中间存储器,以存储对应的中间数据,供后续运算卷积过程取用,使对应运算模块不需要在运算时多次从片外加载中间数据,节约了片内外数据传输的能量损耗与传输时间,能够提高卷积运算过程中的运算速度,降低相应执行功耗。
进一步地,上述各个运算模块适用于基于层融合(Fused layer)架构实现的卷积神经网络硬件加速器,可以高效执行应用层融合架构情况下的卷积神经网络运算,加速算子可以采用深度可分离卷积中的两种底层算子:DW卷积以及PW卷积,均可以在加速器中被加速;可以适用层融合架构下的数据重用要求,可以对多种算子综合应用的情况进行很好地加速处理,可以高速完成卷积神经网路的运算任务,运算过程中为流水线设计,硬件利用率高。
进一步地,各个运算模块的计算将被展开进行硬件映射,不同运算模块分别负责不同算子的加速,在卷积神经网络运算过程中,每个运算模块均一直处于满载状态,能够进一步提高硬件利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例的卷积运算电路结构示意图;
图2是本申请一实施例的运算模块结构示意图;
图3a和图3b是本申请一实施例的输入层卷积模块结构示意图;
图4是本申请一实施例的DW卷积模块结构示意图;
图5是本申请一实施例的PW卷积模块结构示意图;
图6是本申请一实施例的输出层卷积模块结构示意图。
具体实施方式
发明人研究发现,针对基于卷积神经网络的图像去噪算法加速的硬件采用融合层(Fused layer)架构,即利用卷积窗口之间存在的重叠部分的数据重用机会,将中间数据存储在芯片内部,能够在一定程度上加快运算速度并减少功耗。轻量级的卷积神经网络算法可以将传统卷积(Convolution)等价转换为深度可分离卷积(Depthwise separableconvolution,DW卷积)。有的卷积核具有四个维度,并且通常情况下四个维度均大于1。而深度可分离卷积是将传统卷积过程分为两部分进行,首先,第一步的DW卷积的卷积核均为单通道,其余三个维度与传统卷积相同。第二步包括经过DW卷积后的特征图进行PW卷积(Pointwise convolution),其中PW卷积核为1×1大小。因此,深度可分离卷积相比传统卷积可以极大地减少传统卷积的参数量,进而更便于硬件映射,运算量也更少。然而目前的硬件加速器很少专门对DW卷积以及PW卷积进行加速。
发明人进一步研究发现,基于卷积神经网络的图像去噪算法加速的硬件设备中,CPU(中央处理器)、GPU(图像处理器)等执行基底因为本身结构的原因不能满足基于CNN(卷积神经网络)的图像去噪算法的高速度和低功耗的运算要求,基于CNN的图像去噪网络计算量大,且中间数据需要极大的存储量,对此实施的硬件加速器需要更充分地利用数据重用机会。一般的CNN加速器的设计思路为将逐个卷积层分别放入运算阵列进行计算,之后将中间结果输出到片外,设定计算粒度为整个卷积层。而在基于CNN的图像去噪任务中,为了充分进行数据重用,将中间数据全部存储在片上,需要减小计算粒度,设计流水线式的计算架构,上述这种一般的CNN加速器的设计理念不再适用。深度可分离卷积与传统卷积相比,在计算方式有自身特点。而一般的CNN加速器很少对深度可分离卷积采取专门的硬件加速方案,损失了运算性能,深度可分离卷积无法充分利用为传统卷积设计的硬件的计算资源。
基于上述研究,本申请提供的卷积运算电路中,输入层卷积模块、DW卷积模块、PW卷积模块以及输出层卷积模块等多个运算模块分别包括用于缓存中间数据的中间存储器,以存储对应的中间数据,供后续卷积运算过程取用,使对应运算模块不需要在运算时多次从片外加载中间数据,节约了片内外数据传输的能量损耗与传输时间,能够提高卷积运算过程中的运算速度,降低相应执行功耗。上述各个运算模块适用于基于层融合(Fusedlayer)架构实现的卷积神经网络硬件加速器,可以高效执行应用层融合架构情况下的卷积神经网络运算,加速算子可以采用深度可分离卷积中的两种底层算子,均可以在加速器中被加速;可以适用层融合架构下的数据重用要求,可以对多种算子综合应用的情况进行很好地加速处理,可以高速完成卷积神经网路的运算任务,运算过程中为流水线设计,硬件利用率高。
下面结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,下述各个实施例及其技术特征可以相互组合。
本申请第一方面提供一种卷积运算电路,该卷积运算电路包括多个用于进行不同卷积运算层的运算模块;各个所述运算模块包括用于缓存中间数据的中间存储器和用于进行对应卷积运算的运算单元,所述运算单元与对应的中间存储器设于同一芯片内;所述运算单元用于接收输入数据,对所述输入数据进行对应的卷积运算,将卷积运算过程的中间数据缓存至所述中间存储器,从所述中间存储器读取当前的中间数据供对应卷积运算采用,并根据最新的中间数据更新所述中间存储器缓存的中间数据,输出对应运算模块的卷积运算结果。
具体地,运算单元可以包括乘法器和/或加法器等用于执行卷积运算的器件。可选地,乘法器可以对对应输入数据中对应通道的数据分别进行乘法运算,得到当前乘积,加法器可以从中间存储器读取当前的中间数据,将当前的中间数据与当前乘积相加,若相加结果为中间数据,则依据相加结果更新中间数据,将更新后的中间数据存入中间存储器,以供后续运算过程取用,若相加结果为运算模块对应的卷积结果,则根据相加结果确定运算模块的卷积运算结果,以将卷积运算结果输入下一层卷积运算层的运算模块或者作为最终的运算结果。
上述卷积运算电路可以将卷积运算过程的中间数据缓存至中间存储器,从中间存储器读取当前的中间数据供对应卷积运算采用,并根据最新的中间数据更新所述中间存储器缓存的中间数据,不需要在运算时多次从片外加载(Load)中间数据,节约了片内外数据传输的能量损耗与传输时间,能够提高卷积运算过程中的运算速度,降低相应执行功耗。
在一个实施例中,卷积运算电路可以包括输入卷积层,至少一个DW卷积层、至少一个PW卷积层、以及输出卷积层,其中输入卷积层的输入数据包括表征待处理图像的图像特征图,其他各层卷积运算层的输入数据分别包括表征上一层卷积运算层输出数据的输入特征图。相应地,卷积运算电路的多个运算模块包括输入层卷积模块、至少一个DW卷积模块、至少一个PW卷积模块、以及输出层卷积模块。可选地,多个运算模块之间的输入输出关系可以参考图1所示,具有如下特征:输入层卷积模块→DW卷积模块→PW卷积模块→DW卷积模块→PW卷积模块→……→DW卷积模块→PW卷积模块→输出层卷积模块。本实施例提供的运算模块为面向图像去噪领域的神经网络加速器计算模块,该运算模块适用于基于层融合(Fused layer)架构实现的卷积神经网络硬件加速器,可以高效执行应用层融合架构情况下的卷积神经网络运算,加速算子包括卷积(Convolution)、深度可分离卷积(Depthwiseseparable convolution)。其中,深度可分离卷积中的两种底层算子:DW卷积以及PW卷积,均可以得到加速。该运算模块适用层融合架构下的数据重用要求,可以对多种算子综合应用的情况进行很好地加速处理,可以高速完成卷积神经网路的运算任务,运算过程中为流水线设计,硬件利用率高。在具体运算过程中,上述各层卷积运算层的计算将被展开进行硬件映射,不同运算模块分别可以进行不同算子的加速,每个运算模块可以一直处于满载状态,达到极高的硬件利用率。
具体地,各个运算模块的相关参数定义可以参考图2所示。输入层卷积模块是用于计算卷积的运算模块,输入层卷积模块可以将待输入卷积神经网络中进行去噪处理的图像的像素点信息作为输入特征图,进行卷积运算以得到神经网络输入层提取后的特征,对应的输出特征图将被用于网络后续的卷积运算处理。输入层卷积模块的设计可以面向卷积核大小为R1×S1且输出通道尺度上的分片(Tile)大小为TM1的卷积运算,单次卷积计算的窗口大小为R1×S1,模块每R1×S1个周期进行的运算为单次卷积得到TM1个输出通道的部分和需要的计算,即TM1个卷积核与特征图对应R1×S1个像素点的相乘,总乘法单元数为TM1×1×1。DW卷积模块是用于计算DW卷积的运算模块,该模块中,图像去噪卷积神经网络的中间层的卷积运算被等价转换为轻量级的深度可分离卷积运算,以减少卷积运算参数,方便硬件映射。该模块将前一层模块的输出作为输入特征图,进行DW卷积运算,并将会把输出特征传递给后续的PW卷积模块。该模块的设计面向卷积核大小为R2×S2且输出通道尺度上的分片大小为TM2的DW卷积运算,单次DW卷积计算的窗口大小为R2×S2,模块每R2×S2个周期进行的运算为单次DW卷积得到TM2个输出通道的部分和需要的计算,即TM2个DW卷积核与特征图对应R2×S2个像素点的相乘,总乘法单元数为TM2×1×1。PW卷积模块是用于计算PW卷积的运算模块,该模块将同层DW卷积模块的输出作为输入特征图,进行PW卷积运算,并将会把输出特征传递给下一层的运算模块。该运算模块的设计面向卷积核大小为1×1且输入通道尺度上的分片大小为TN3,输出通道尺度上的分片大小为TM3的PW卷积运算,单次PW卷积计算的窗口大小为1×1,模块每个周期进行的运算为单次PW卷积输入TN3个通道得到TM3个输出通道的部分和需要的计算,即TM3个PW卷积核与特征图中对应TN3个通道中1×1个像素点的相乘,总乘法单元数为TM3×TN3×1×1。输出层卷积模块是用于计算卷积的运算模块,该模块将上层模块的输出作为输入特征图,进行卷积运算,以输出经图像去噪卷积神经网络处理得到的最终去噪后图像的像素点特征。该模块的设计面向卷积核大小为R4×S4且输入通道尺度上的分片大小为TN4的卷积运算,单次卷积计算的窗口大小为R4×S4,模块每R4×S4个周期进行的运算为单次卷积输入TN4个通道得到输出特征的部分和需要的计算,即卷积核与特征图对应TN4个通道中R4×S4个像素点的相乘,总乘法单元数为TN4×1×1。
在一个示例中,所述输入层卷积模块包括用于缓存第一中间数据的第一中间存储器,用于接收图像特征图,对所述图像特征图中对应通道的数据分别进行乘法运算,得到第一乘积,从第一中间存储器读取当前的第一中间数据,将所述当前的第一中间数据与所述第一乘积相加,若相加结果为中间数据,则依据相加结果更新所述第一中间数据,将更新后的所述第一中间数据存入所述第一中间存储器,若所述相加结果表征当前层最终的卷积结果,则根据所述相加结果确定所述输入层卷积模块的第一运算结果。
在一个示例中,所述DW卷积模块包括用于缓存第二中间数据的第二中间存储器,用于接收所述第一运算结果,对所述第一运算结果中对应通道的数据分别进行乘法运算,得到对应的第二乘积,从第二中间存储器读取当前的第二中间数据,将所述当前的第二中间数据与所得到的各第二乘积相加以进行DW卷积运算,若相加结果为中间数据,则依据相加结果更新所述第二中间数据,将更新后的所述第二中间数据存入所述第二中间存储器,若所述相加结果表征当前层最终的卷积结果,则根据所述相加结果确定DW卷积模块的第二运算结果。
在一个示例中,所述PW卷积模块包括用于缓存第三中间数据的第三中间存储器,用于接收所述第二运算结果,对所述第二运算结果中对应通道的数据分别进行乘法运算,得到第三乘积,从第三中间存储器读取当前的第三中间数据,将所述当前的第三中间数据与所述第三乘积相加以进行PW卷积运算,若相加结果为中间数据,则依据相加结果更新所述第三中间数据,将更新后的所述第三中间数据存入所述第三中间存储器,若所述相加结果表征当前层最终的卷积结果,则根据所述相加结果确定所述PW卷积模块的第二运算结果。
在一个示例中,所述输出层卷积模块包括用于缓存第四中间数据的第四中间存储器,用于接收第三运算结果,对所述第三运算结果中对应通道的数据分别进行乘法运算,得到第四乘积,从第四中间存储器读取当前的第四中间数据,将所述当前的第四中间数据与所述第四乘积相加,若相加结果为中间数据,则依据相加结果更新所述第四中间数据,将更新后的所述第四中间数据存入所述第四中间存储器,若所述相加结果表征当前层最终的卷积结果,则根据所述相加结果确定所述输出层卷积模块的第四运算结果。
这里将卷积与深度可分离卷积映射到对应的运算模块中,且这种流水线式算子专用计算架构支持高数据重用度的融合层架构,可以实现极高的硬件利用率和运算速度。
在一个实施例中,参考图3a所示,所述输入层卷积模块包括TM1个第一乘法器111、TM1个第一乘法器111分别对应的第一加法器112和第一中间存储器113、以及第一非线性激活单元114,TM1表示所述输入层卷积模块的卷积核个数;其中TM1个第一乘法器111、TM1个第一中间存储器113、以及第一非线性激活单元114可以形成输入层卷积模块的第一运算单元。
所述TM1个第一乘法器111用于对所述图像特征图中对应通道的数据分别进行乘法运算,得到第一乘积,以实现各个第一乘法器111之间的并行运算,提高运算效率;所述第一加法器112用于从对应的所述第一中间存储器113读取当前的第一中间数据,将所述当前的第一中间数据与对应的第一乘积相加,若相加结果为中间数据,则依据相加结果更新对应的第一中间数据,将更新后的第一中间数据存入对应的第一中间存储器113;所述第一非线性激活单元114用于激活表征当前层最终卷积结果的相加结果,得到所述第一运算结果,该第一运算结果可以通过对应的输出通道输出。可选地,TM1个第一乘法器111可以分别从外部控制设备或者存储设备获取对应权重,以采用获取的权重对图像特征图中对应通道的数据进行乘法运算,保证所得第一乘积的准确性。可选地,上述第一非线性激活单元114可以采用ReLU函数(线性整流函数)激活对应相加结果。
在一个示例中,参考图3b所示,所述输入层卷积模块还包括R1×S1个第一输入存储器115,R1×S1表示所述输入层卷积模块中单次卷积计算的窗口大小;所述R1×S1个第一输入存储器115对应R1×S1卷积窗口,用于存储后续运算中需要用到的卷积窗口中的第一输入激活数据,以便所述TM1个第一乘法器111读取所述第一输入激活数据,使TM1个第一乘法器111能够复用第一输入存储器115存储的第一输入激活数据,提高第一输入存储器115的利用率;所述第一输入激活数据来源于所述图像特征图。
在具体运算过程中,上述输入层卷积模块每周期进行一个输出通道分片(输入层卷积模块包括TM1个输出通道)上的单个R1×S1卷积窗口内其中1个数据对应部分和的卷积计算,对应结构可以参考图3b所示。图3b所示输入层卷积模块的工作过程可以划分为如下四级:第一级,由于输入激活存在时间重用性,因此图像特征图中单个通道R1×S1卷积窗口中全部R1×S1个数据可以由从片外加载到片上,并且存储在片上的第一输入存储器115中,以避免后续运算过程中的重复加载。第二级,由于输入激活存在空间重用性,输入的图像特征图中单个通道R1×S1卷积窗口中的1个数据通过广播网络被发送到TM1个第一乘法器111,而TM1个权重中每个R1×S1卷积窗口分别提供一个权重数据,即总共TM1个权重数据通过单播网络被发送到对应第一乘法器111,TM1个第一乘法器111同时进行运算,得到输出部分和。第三级,上级中TM1个乘法单元输出得到的部分和与TM1个输出部分和第一中间存储器113中先前存储的第一中间数据相加,若相加后存储器中获得的值为部分和完全累积后的最终卷积计算结果(即所有卷积核中R1×S1卷积窗口中的对应数据已经全部完成运算),则第一中间存储器113的值传递给位于下一级的第一非线性激活单元114,还可以发送信号告知第一非线性激活单元114当前传输的值即为卷积运算结果,清空第一中间存储器113,否则,累加后的值仍为非最终结果的部分和,将存储在第一中间存储器113中等待下一周期的第一乘法器111输出,不会被传递给下一级,也不会发送信号给下一级。第四级,对上一级第一中间存储器113中的输出数据进行激活处理,第四级运算后的结果将直接作为输入层卷积模块的输出。可选地,上述激活处理可以包括累加偏置和非线性激活函数处理等处理过程。
在一个实施例中,参考图4所示,所述DW卷积模块包括TM2个第二乘法器121、TM2个第二乘法器121分别对应的第二加法器122和第二中间存储器123、以及第二非线性激活单元124,TM2表示所述DW卷积模块的卷积核个数;其中TM2个第二乘法器121、TM2个第二加法器122和第二中间存储器123、以及第二非线性激活单元124可以形成DW卷积模块的第二运算单元。
所述TM2个第二乘法器121用于对所述第一运算结果中对应通道的数据分别进行乘法运算,得到第二乘积,以实现各个第二乘法器121之间的并行运算,提高运算效率;所述第二加法器122用于从对应的所述第二中间存储器123读取当前的第二中间数据,将所述当前的第二中间数据与所述第二乘积相加,若相加结果为中间数据,则依据相加结果更新所述第二中间数据,将更新后的所述第二中间数据存入所述第二中间存储器123;所述第二非线性激活单元124用于激活表征当前层最终卷积结果的相加结果,得到所述第二运算结果。可选地,TM2个第二乘法器121可以分别从外部控制设备或者存储设备获取对应权重,以采用获取的权重对输入数据中对应通道的输入数据进行乘法运算,保证所得第二乘积的准确性。可选地,上述第二非线性激活单元124可以采用ReLU函数激活对应相加结果。可选地,上述TM2个第二乘法器121可以分别接入输入层卷积模块中一个输出通道输出的第二运算结果,将接入的第二运算结果作为输入。
在具体运算过程中,上述DW卷积模块每周期进行一个输出通道分片(DW卷积模块包括TM2个输出通道)上的单个R2×S2卷积窗口内其中1个数据对应部分和的卷积计算,对应结构可以参考图4所示。图4所示DW卷积模块的工作过程可以划分为如下三级:第一级,对应输入特征图TM2个通道中每R2×S2卷积窗口分别提供一个输入激活数据,即总共TM2个输入激活数据通过单播网络被发送到TM2个第二乘法器121,而TM2个第二乘法器121分别对应的权重中每个R2×S2卷积窗口分别提供一个权重数据,即总共TM2个权重数据通过单播网络被发送到第二乘法器121,TM2个第二乘法器121同时进行运算,得到输出部分和。第二级,上级中TM2个第二乘法器121输出得到的部分和与TM2个输出部分和第二中间存储器123中先前存储的值(第二中间数据)相加,若相加后第二中间存储器123中获得的值为部分和完全累积后的最终卷积计算结果(即所有卷积核中R2×S2卷积窗口中的对应数据已经全部完成运算),则将第二中间存储器123中的值传递给设于下一级的第二非线性激活单元124,并且发送信号告知下一级当前传输的值即为卷积运算结果,清空第二中间存储器123,否则,累加后的值仍为非最终结果的部分和,将存储在第二中间存储器123中等待下一周期的第二乘法器121输出,不会被传递给下一级,也不会发送信号给下一级。第三级,对上一级第二中间存储器123中的输出数据进行处理,第三级运算后的结果将直接作为DW卷积模块的输出。可选地,第二非线性激活单元124可以采用累加偏置,非线性激活函数处理等过程激活表征当前层最终卷积结果的相加结果。
在一个实施例中,所述PW卷积模块包括TM3×TN3个第三乘法器131、第三加法器132、第三中间存储器133、以及第三非线性激活单元134,TM3表示所述PW卷积模块的卷积核个数,TN3表示所述PW卷积模块中输入通道尺度上的分片大小。具体地,如图5所示,TM3×TN3个第三乘法器131可以分为TM3组第三乘法器,各组第三乘法器分别包括TN3个乘法器,TM3组第三乘法器分别具有对应的第三加法器132。具体地,TM3×TN3个第三乘法器131、第三加法器132、第三中间存储器133、以及第三非线性激活单元134可以形成PW卷积模块的第三运算单元。
所述TM3×TN3个第三乘法器131用于对所述第二运算结果中对应通道的数据分别进行乘法运算,得到第三乘积,以实现各个第三乘法器131之间的并行运算,提高运算效率;所述第三加法器132用于分别对TM3组第三乘法器输出的第三乘积进行相加,并从所述第三中间存储器132读取当前的第三中间数据,将所述当前的第三中间数据与第三乘积对应的相加结果进行累加,依据累加结果更新所述第三中间数据,将更新后的所述第三中间数据存入所述第三中间存储器132;所述第三非线性激活单元134用于激活表征当前层最终卷积结果的累加结果,得到所述第三运算结果。可选地,TM3×TN3个第三乘法器131可以分别从外部控制设备或者存储设备获取对应权重,以采用获取的权重输入数据中对应通道的数据进行乘法运算,保证所得第三乘积的准确性。可选地,上述第三非线性激活单元134可以采用ReLU函数激活对应相加结果。可选地,第三加法器132可以包括第一级加法器和第二级加法器,第一级加法器用于对用于分别对TM3组第三乘法器输出的第三乘积进行相加,第二级加法器连接在第一级加法器和第三中间存储器133之间,用于从所述第三中间存储器132读取当前的第三中间数据,将所述当前的第三中间数据与第三乘积对应的相加结果进行累加。
在一个示例中,参考图5所示,图5中,Input表示输入,Output表示输出,所述PW卷积模块还包括TN3个第二输入存储器135;所述TN3个第二输入存储器135用于存储后续运算中需要用到的卷积窗口中的第二输入激活数据,以便所述TM3×TN3个第三乘法器131读取所述第二输入激活数据,使TM3×TN3个第三乘法器131能够复用第二输入存储器135存储的第二输入激活数据,提高第二输入存储器135的利用率;所述第二输入激活数据来源于所述第二运算结果。
在具体运算过程中,上述PW卷积模块每周期进行一个输入通道分片(PW卷积模块包含TN3个输入通道)及一个输出通道分片(包含TM3个输出通道)上的单个1×1卷积窗口内数据对应部分和的卷积计算,对应结构可以参考图5所示。图5所示PW卷积模块的工作过程可以包括如下五级:第一级,由于输入激活存在时间重用性,该模块将上层DW卷积模块的输出存储到第二输入存储器135中,被存储的数据为模块输入特征图中单个输入通道分片中每1×1卷积窗口内,总共TN3个数据,以避免后续运算过程中的重复加载。第二级,由于输入激活存在空间重用性,模块输入特征图中TN3个输入通道每1×1卷积窗口分别提供一个输入激活数据,即总共TN3个输入激活数据通过多播(Multicast)网络被发送到乘法器单元,而TM3个模块权重中,每个权重中TN3个通道下每个1×1卷积窗口分别提供一个权重数据,即总共TM3×TN3个权重数据通过单播网络被发送到第三乘法器131,TM3×TN3个第三乘法器131同时进行运算,得到输出部分和。第三级,TM3×TN3个第三乘法器131的输出结果每TN3个为一组,通过TM3个加法树,输出得到TM3个输出通道对应的部分和。第四级,上级中得到的TM3个部分和与TM3个输出部分和第三中间存储器133中先前存储的值相加,若相加后第三中间存储器133中获得的值为部分和完全累积后的最终卷积计算结果(即所有输入通道下的1×1卷积窗口中的对应数据已经全部完成运算),则将第三中间存储器133中的值传递给下一级的第三非线性激活单元134,并且发送信号告知下一级当前传输的值即为卷积运算结果,清空第三中间存储器133,否则,累加后的值仍为非最终结果的部分和,将存储在第三中间存储器133中等待下一周期的加法树输出,不会被传递给下一级,也不会发送信号给下一级。第五级,对上一级第三中间存储器133中的输出数据进行激活处理,第五级运算后的结果将直接作为述PW卷积模块的输出。可选地,上述激活处理包含累加偏置,非线性激活函数处理等处理过程。
在一个实施例中,参考图6所示,所述输出层卷积模块包括TN4个第四乘法器141、第四加法器142、第四中间存储器143、以及第四非线性激活单元144,TN4表示所述输出层卷积模块中输入通道尺度上的分片大小;具体地,TN4个第四乘法器141、第四加法器142、第四非线性激活单元144可以形成输出层卷积模块的第四运算单元。
所述TN4个第四乘法器141用于所述第三运算结果中对应通道的数据分别进行乘法运算,得到第四乘积,以实现各个第四乘法器141之间的并行运算,提高运算效率;所述第四加法器142用于分别对TN4个第四乘法器141输出的第四乘积进行相加,并从所述第四中间存储器143读取当前的第四中间数据,将所述当前的第四中间数据与第四乘积对应的相加结果进行累加,依据累加结果更新所述第四中间数据,将更新后的所述第四中间数据存入所述第四中间存储器143;所述第四非线性激活单元144用于激活表征当前层最终卷积结果的相加结果,得到所述第四运算结果。可选地,TN4个第四乘法器141可以分别从外部控制设备或者存储设备获取对应权重,以采用获取的权重输入数据中对应通道的数据进行乘法运算,保证所得第四乘积的准确性。可选地,上述第四非线性激活单元144可以采用ReLU函数激活对应相加结果。可选地,第四加法器142可以包括第三级加法器和第四级加法器,第三级加法器用于对用于分别对TM3组第三乘法器输出的第三乘积进行相加,第四级加法器连接在第三级加法器和第四中间存储器143之间,用于从所述第四中间存储器143读取当前的第四中间数据,将所述当前的第四中间数据与第四乘积对应的相加结果进行累加。
在具体运算过程中,上述输出层卷积模块每周期进行一个输入通道分片(输出层卷积模块包含TN4个输入通道)上的单个R4×S4卷积窗口内其中1个数据对应部分和的卷积计算,对应结构可以参考图6所示。图6所示输出层卷积模块的工作过程可以包括如下四级:第一级,对应输入特征图中TN4个通道下每个R4×S4卷积窗口分别提供一个输入激活数据,即总共TN4个输入激活数据通过单播网络被发送到乘法器单元,权重中TN4个通道下每个R4×S4卷积窗口分别提供一个权重数据,即总共TN4个权重数据通过单播网络被发送到第四乘法器141,TN4个第四乘法器141同时进行运算,得到输出部分和。第二级,TN4个第四乘法器141的输出结果通过加法树,输出得到累积后的部分和。第三级,上级中得到的部分和与输出部分和第四中间存储器143中先前存储的值相加,若相加后第四中间存储器143中获得的值为部分和完全累积后的最终卷积计算结果(即所有输入通道下的R4×S4卷积窗口中的对应数据已经全部完成运算),则将第四中间存储器143中的值传递给下一级的第四非线性激活单元144,并且发送信号告知下一级第四非线性激活单元144当前传输的值即为卷积运算结果,清空第四中间存储器143,否则,累加后的值仍为非最终结果的部分和,将存储在第四中间存储器143中等待下一周期的加法树输出,不会被传递给下一级,也不会发送信号给下一级。第四级,对上一级第四中间存储器143中的输出数据进行处理,第四级运算后的结果将直接作为模块输出。可选地,上述激活处理包含累加偏置,非线性激活函数处理等处理过程。
在一个示例中,所述第一非线性激活单元114、所述第二非线性激活单元124、所述第三非线性激活单元134和所述第四非线性激活单元144分别包括:加法器组和比较器组;所述加法器组用于对表征当前层最终卷积结果的相加结果进行累加偏置处理;所述比较器组用于对累加偏置处理的结构进行非线性激活处理,得到对应的运算结果。本示例提供的非线性激活单元可以稳定地对相加结果进行非线性激活处理,提高卷积运算电路的可靠性。
在一个实施例中,所述中间存储器(如第一中间存储器至第四中间存储器等等)包括静态随机存取存储器(SRAM),以提高中间存储器存储、更新或者擦除对应中间数据的效率,从而提高对应的卷积运算效率。
以上卷积运算电路中,多个运算模块分别包括用于缓存中间数据的中间存储器,以存储对应的中间数据,供后续运算过程取用,使对应运算模块不需要在运算时多次从片外加载中间数据,节约了片内外数据传输的能量损耗与传输时间,能够提高卷积运算过程中的运算速度,降低相应执行功耗。上述各个运算模块适用于基于层融合(Fused layer)架构实现的卷积神经网络硬件加速器,可以高效执行应用层融合架构情况下的卷积神经网络运算,加速算子可以采用深度可分离卷积中的两种底层算子:DW卷积以及PW卷积,均可以在加速器中被加速;可以适用层融合架构下的数据重用要求,可以对多种算子综合应用的情况进行很好地加速处理,可以高速完成卷积神经网路的运算任务,运算过程中为流水线设计,硬件利用率高;各个运算模块的计算将被展开进行硬件映射,不同运算模块分别负责不同算子的加速,在卷积神经网络运算过程中,每个运算模块均一直处于满载状态,能够进一步提高硬件利用率。
本申请第二方面提供一种卷积运算方法,应用于上述任一实施例提供的卷积运算电路,包括:
接收输入数据,对所述输入数据进行对应的卷积运算,将卷积运算过程的中间数据缓存至中间存储器;
从所述中间存储器读取当前的中间数据供对应卷积运算采用,并根据最新的中间数据更新所述中间存储器缓存的中间数据,输出对应运算模块的卷积运算结果。
上述卷积运算方法应用于上述任一实施例提供的卷积运算电路,具有上述任一实施例提供的卷积运算电路的所有技术效果,在此不再赘述。
本申请第三方面提供一种图像处理设备,包括上述任一实施例所述的卷积运算电路,图像处理设备可以采用该卷积运算电路进行图像去噪等处理,提高去噪效果,从而提高对应的图像处理效果。
尽管已经相对于一个或多个实现方式示出并描述了本申请,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本申请包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本说明书的示范性实现方式中的功能的公开结构不等同。
即,以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
另外,对于特性相同或相似的结构元件,本申请可采用相同或者不相同的标号进行标识。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词是用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何一个实施例不一定被解释为比其它实施例更加优选或更加具优势。为了使本领域任何技术人员能够实现和使用本申请,本申请给出了以上描述。在以上描述中,为了解释的目的而列出了各个细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实施例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。

Claims (12)

1.一种卷积运算电路,其特征在于,包括多个用于进行不同卷积运算层的运算模块;
各个所述运算模块包括用于缓存中间数据的中间存储器和用于进行对应卷积运算的运算单元,所述运算单元与对应的中间存储器设于同一芯片内;
所述运算单元用于接收输入数据,对所述输入数据进行对应的卷积运算,将卷积运算过程的中间数据缓存至所述中间存储器,从所述中间存储器读取当前的中间数据供对应卷积运算采用,并根据最新的中间数据更新所述中间存储器缓存的中间数据,输出对应运算模块的卷积运算结果。
2.根据权利要求1所述的卷积运算电路,其特征在于,多个所述运算模块包括输入层卷积模块、至少一个DW卷积模块、至少一个PW卷积模块、以及输出层卷积模块。
3.根据权利要求2所述的卷积运算电路,其特征在于,所述输入层卷积模块包括TM1个第一乘法器、TM1个第一乘法器分别对应的第一加法器和第一中间存储器、以及第一非线性激活单元,TM1表示所述输入层卷积模块的卷积核个数;
所述TM1个第一乘法器用于对所述图像特征图中对应通道的数据分别进行乘法运算,得到第一乘积;
所述第一加法器用于从对应的所述第一中间存储器读取当前的第一中间数据,将所述当前的第一中间数据与对应的第一乘积相加,若相加结果为中间数据,则依据相加结果更新对应的第一中间数据,将更新后的第一中间数据存入对应的第一中间存储器;
所述第一非线性激活单元用于激活表征当前层最终卷积结果的相加结果,得到所述第一运算结果。
4.根据权利要求3所述的卷积运算电路,其特征在于,所述输入层卷积模块还包括R1×S1个第一输入存储器,R1×S1表示所述输入层卷积模块中单次卷积计算的窗口大小;
所述R1×S1个第一输入存储器对应R1×S1卷积窗口,用于存储后续运算中需要用到的卷积窗口中的第一输入激活数据,以便所述TM1个第一乘法器读取所述第一输入激活数据;所述第一输入激活数据来源于所述图像特征图。
5.根据权利要求2所述的卷积运算电路,其特征在于,所述DW卷积模块包括TM2个第二乘法器、TM2个第二乘法器分别对应的第二加法器和第二中间存储器、以及第二非线性激活单元,TM2表示所述DW卷积模块的卷积核个数;
所述TM2个第二乘法器用于对所述第一运算结果中对应通道的数据分别进行乘法运算,得到第二乘积;
所述第二加法器用于从对应的所述第二中间存储器读取当前的第二中间数据,将所述当前的第二中间数据与所述第二乘积相加,若相加结果为中间数据,则依据相加结果更新所述第二中间数据,将更新后的所述第二中间数据存入所述第二中间存储器;
所述第二非线性激活单元用于激活表征当前层最终卷积结果的相加结果,得到所述第二运算结果。
6.根据权利要求2所述的卷积运算电路,其特征在于,所述PW卷积模块包括TM3×TN3个第三乘法器、第三加法器、第三中间存储器、以及第三非线性激活单元,TM3表示所述PW卷积模块的卷积核个数,TN3表示所述PW卷积模块中输入通道尺度上的分片大小;
所述TM3×TN3个第三乘法器用于对所述第二运算结果中对应通道的数据分别进行乘法运算,得到第三乘积;
所述第三加法器用于分别对TM3组第三乘法器输出的第三乘积进行相加,并从所述第三中间存储器读取当前的第三中间数据,将所述当前的第三中间数据与第三乘积对应的相加结果进行累加,依据累加结果更新所述第三中间数据,将更新后的所述第三中间数据存入所述第三中间存储器;
所述第三非线性激活单元用于激活表征当前层最终卷积结果的累加结果,得到所述第三运算结果。
7.根据权利要求6所述的卷积运算电路,其特征在于,所述PW卷积模块还包括TN3个第二输入存储器;
所述TN3个第二输入存储器用于存储后续运算中需要用到的卷积窗口中的第二输入激活数据,以便所述TM3×TN3个第三乘法器读取所述第二输入激活数据;所述第二输入激活数据来源于所述第二运算结果。
8.根据权利要求2所述的卷积运算电路,其特征在于,所述输出层卷积模块包括TN4个第四乘法器、第四加法器、第四中间存储器、以及第四非线性激活单元,TN4表示所述输出层卷积模块中输入通道尺度上的分片大小;
所述TN4个第四乘法器用于所述第三运算结果中对应通道的数据分别进行乘法运算,得到第四乘积;
所述第四加法器用于分别对TN4个第四乘法器输出的第四乘积进行相加,并从所述第四中间存储器读取当前的第四中间数据,将所述当前的第四中间数据与第四乘积对应的相加结果进行累加,依据累加结果更新所述第四中间数据,将更新后的所述第四中间数据存入所述第四中间存储器;
所述第四非线性激活单元用于激活表征当前层最终卷积结果的相加结果,得到所述第四运算结果。
9.根据权利要求3至8任一项所述的卷积运算电路,其特征在于,所述第一非线性激活单元、所述第二非线性激活单元、所述第三非线性激活单元和所述第四非线性激活单元分别包括:加法器组和比较器组;
所述加法器组用于对表征当前层最终卷积结果的相加结果进行累加偏置处理;
所述较器组用于对累加偏置处理的结构进行非线性激活处理,得到对应的运算结果。
10.根据权利要求1至9任一项所述的卷积运算电路,其特征在于,所述中间存储器包括静态随机存取存储器。
11.一种卷积运算方法,其特征在于,应用于权利要求1至10任一项所述的卷积运算电路,包括:
接收输入数据,对所述输入数据进行对应的卷积运算,将卷积运算过程的中间数据缓存至中间存储器;
从所述中间存储器读取当前的中间数据供对应卷积运算采用,并根据最新的中间数据更新所述中间存储器缓存的中间数据,输出对应运算模块的卷积运算结果。
12.一种图像处理设备,其特征在于,包括权利要求1至10任一项所述的卷积运算电路。
CN202210815191.1A 2022-07-11 2022-07-11 卷积运算电路和方法、图像处理设备 Pending CN115293978A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210815191.1A CN115293978A (zh) 2022-07-11 2022-07-11 卷积运算电路和方法、图像处理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210815191.1A CN115293978A (zh) 2022-07-11 2022-07-11 卷积运算电路和方法、图像处理设备

Publications (1)

Publication Number Publication Date
CN115293978A true CN115293978A (zh) 2022-11-04

Family

ID=83822010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210815191.1A Pending CN115293978A (zh) 2022-07-11 2022-07-11 卷积运算电路和方法、图像处理设备

Country Status (1)

Country Link
CN (1) CN115293978A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270811A (zh) * 2023-11-21 2023-12-22 上海为旌科技有限公司 非线性算子近似计算方法、装置、神经网络处理器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270811A (zh) * 2023-11-21 2023-12-22 上海为旌科技有限公司 非线性算子近似计算方法、装置、神经网络处理器
CN117270811B (zh) * 2023-11-21 2024-02-02 上海为旌科技有限公司 非线性算子近似计算方法、装置、神经网络处理器

Similar Documents

Publication Publication Date Title
CN106445471A (zh) 处理器和用于在处理器上执行矩阵乘运算的方法
CN108701250B (zh) 数据定点化方法和装置
CN111667051A (zh) 适用边缘设备的神经网络加速器及神经网络加速计算方法
CN109409512B (zh) 一种可灵活配置的神经网络计算单元、计算阵列及其构建方法
CN108629406B (zh) 用于卷积神经网络的运算装置
CN112465110B (zh) 一种卷积神经网络计算优化的硬件加速装置
CN106951395A (zh) 面向压缩卷积神经网络的并行卷积运算方法及装置
CN109146067B (zh) 一种基于FPGA的Policy卷积神经网络加速器
CN107656899A (zh) 一种基于fpga的模板卷积实现方法和***
CN110807522B (zh) 一种神经网络加速器的通用计算电路
CN112668708B (zh) 一种提高数据利用率的卷积运算装置
CN115880132B (zh) 图形处理器、矩阵乘法任务处理方法、装置及存储介质
CN108733348B (zh) 融合向量乘法器和使用其进行运算的方法
CN111768458A (zh) 一种基于卷积神经网络的稀疏图像处理方法
CN110390075A (zh) 矩阵预处理方法、装置、终端及可读存储介质
CN109657794B (zh) 一种基于指令队列的分布式深度神经网络性能建模方法
CN110555516A (zh) 基于FPGA的YOLOv2-tiny神经网络低延时硬件加速器实现方法
CN110147252A (zh) 一种卷积神经网络的并行计算方法及装置
CN115293978A (zh) 卷积运算电路和方法、图像处理设备
CN117785480B (zh) 处理器、归约计算方法及电子设备
CN110490308A (zh) 加速库的设计方法、终端设备及存储介质
US20210044303A1 (en) Neural network acceleration device and method
CN113052299A (zh) 基于通信下界的神经网络存内计算装置及加速方法
CN109800867B (zh) 一种基于fpga片外存储器的数据调用方法
CN116227599A (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