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

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

【技术实现步骤摘要】
卷积运算电路和方法、图像处理设备


[0001]本申请涉及图像处理
,具体涉及一种卷积运算电路和方法、图像处理设备。

技术介绍

[0002]用于图像去噪的卷积神经网络算法本身需要输出与输入特征图同等分辨率的输出特征,因而其中间结果数据量极大。一般情况下的神经网络计算硬件设计方案需要将某层神经网络运算后生成的中间数据转移到芯片外部,再在下个神经网络层运算之前将中间数据再加载到芯片内部。由于芯片内外传输的高延迟以及图像去噪算法的大中间数据量,容易导致对应的算法运行速度慢。

技术实现思路

[0003]鉴于此,本申请提供一种卷积运算电路和方法、图像处理设备,以在提高卷积运算过程的运算速度。
[0004]本申请提供的一种卷积运算电路,包括多个用于进行不同卷积运算层的运算模块;
[0005]各个所述运算模块包括用于缓存中间数据的中间存储器和用于进行对应卷积运算的运算单元,所述运算单元与对应的中间存储器设于同一芯片内;
[0006]所述运算单元用于接收输入数据,对所述输入数据进行对应的卷积运算,将卷积运算过程的中间数据缓存至所述中间存储器,从所述中间存储器读取当前的中间数据供对应卷积运算采用,并根据最新的中间数据更新所述中间存储器缓存的中间数据,输出对应运算模块的卷积运算结果。
[0007]可选地,多个所述运算模块包括输入层卷积模块、至少一个DW卷积模块、至少一个PW卷积模块、以及输出层卷积模块。
[0008]可选地,所述输入层卷积模块包括TM1个第一乘法器、TM1个第一乘法器分别对应的第一加法器和第一中间存储器、以及第一非线性激活单元,TM1表示所述输入层卷积模块的卷积核个数;所述TM1个第一乘法器用于对所述图像特征图中对应通道的数据分别进行乘法运算,得到第一乘积;所述第一加法器用于从对应的所述第一中间存储器读取当前的第一中间数据,将所述当前的第一中间数据与对应的第一乘积相加,若相加结果为中间数据,则依据相加结果更新对应的第一中间数据,将更新后的第一中间数据存入对应的第一中间存储器;所述第一非线性激活单元用于激活表征当前层最终卷积结果的相加结果,得到所述第一运算结果。
[0009]可选地,所述输入层卷积模块还包括R1
×
S1个第一输入存储器,R1×
S1表示所述输入层卷积模块中单次卷积计算的窗口大小;所述R1
×
S1个第一输入存储器对应R1
×
S1卷积窗口,用于存储后续运算中需要用到的卷积窗口中的第一输入激活数据,以便所述TM1个第一乘法器读取所述第一输入激活数据;所述第一输入激活数据来源于所述图像特征图。
[0010]可选地,所述DW卷积模块包括TM2个第二乘法器、TM2个第二乘法器分别对应的第二加法器和第二中间存储器、以及第二非线性激活单元,TM2表示所述DW卷积模块的卷积核个数;所述TM2个第二乘法器用于对所述第一运算结果中对应通道的数据分别进行乘法运算,得到第二乘积;所述第二加法器用于从对应的所述第二中间存储器读取当前的第二中间数据,将所述当前的第二中间数据与所述第二乘积相加,若相加结果为中间数据,则依据相加结果更新所述第二中间数据,将更新后的所述第二中间数据存入所述第二中间存储器;所述第二非线性激活单元用于激活表征当前层最终卷积结果的相加结果,得到所述第二运算结果。
[0011]可选地,所述PW卷积模块包括TM3×
TN3个第三乘法器、第三加法器、第三中间存储器、以及第三非线性激活单元,TM3表示所述PW卷积模块的卷积核个数,TN3表示所述PW卷积模块中输入通道尺度上的分片大小;所述TM3×
TN3个第三乘法器用于对所述第二运算结果中对应通道的数据分别进行乘法运算,得到第三乘积;所述第三加法器用于分别对TM3组第三乘法器输出的第三乘积进行相加,并从所述第三中间存储器读取当前的第三中间数据,将所述当前的第三中间数据与第三乘积对应的相加结果进行累加,依据累加结果更新所述第三中间数据,将更新后的所述第三中间数据存入所述第三中间存储器;所述第三非线性激活单元用于激活表征当前层最终卷积结果的累加结果,得到所述第三运算结果。
[0012]可选地,所述PW卷积模块还包括TN3个第二输入存储器;所述TN3个第二输入存储器用于存储后续运算中需要用到的卷积窗口中的第二输入激活数据,以便所述TM3×
TN3个第三乘法器读取所述第二输入激活数据;所述第二输入激活数据来源于所述第二运算结果。
[0013]可选地,所述输出层卷积模块包括TN4个第四乘法器、第四加法器、第四中间存储器、以及第四非线性激活单元,TN4表示所述输出层卷积模块中输入通道尺度上的分片大小;所述TN4个第四乘法器用于所述第三运算结果中对应通道的数据分别进行乘法运算,得到第四乘积;所述第四加法器用于分别对TN4个第四乘法器输出的第四乘积进行相加,并从所述第四中间存储器读取当前的第四中间数据,将所述当前的第四中间数据与第四乘积对应的相加结果进行累加,依据累加结果更新所述第四中间数据,将更新后的所述第四中间数据存入所述第四中间存储器;所述第四非线性激活单元用于激活表征当前层最终卷积结果的相加结果,得到所述第四运算结果。
[0014]可选地,所述第一非线性激活单元、所述第二非线性激活单元、所述第三非线性激活单元和所述第四非线性激活单元分别包括:加法器组和比较器组;所述加法器组用于对表征当前层最终卷积结果的相加结果进行累加偏置处理;所述比较器组用于对累加偏置处理的结构进行非线性激活处理,得到对应的运算结果。
[0015]可选地,所述中间存储器包括静态随机存取存储器。
[0016]本申请还提供一种卷积运算方法,应用于上述任一种卷积运算电路,包括:
[0017]接收输入数据,对所述输入数据进行对应的卷积运算,将卷积运算过程的中间数据缓存至中间存储器;
[0018]从所述中间存储器读取当前的中间数据供对应卷积运算采用,并根据最新的中间数据更新所述中间存储器缓存的中间数据,输出对应运算模块的卷积运算结果。
[0019]本申请还提供一种图像处理设备,包括上述任一种卷积运算电路。
[0020]本申请上述卷积运算电路和方法、图像处理设备中,多个运算模块分别包括用于
缓存中间数据的中间存储器,以存储对应的中间数据,供后续运算卷积过程取用,使对应运算模块不需要在运算时多次从片外加载中间数据,节约了片内外数据传输的能量损耗与传输时间,能够提高卷积运算过程中的运算速度,降低相应执行功耗。
[0021]进一步地,上述各个运算模块适用于基于层融合(Fused layer)架构实现的卷积神经网络硬件加速器,可以高效执行应用层融合架构情况下的卷积神经网络运算,加速算子可以采用深度可分离卷积中的两种底层算子:DW卷积以及PW卷积,均可以在加速器中被加速;可以适用层融合架构下的数据重用要求,可以对多种算子综合应用的情况进行很好地加速处理,可以高速完成卷积神经网路的运算任务,运算过程中为流水线设计,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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个第三...

【专利技术属性】
技术研发人员:郑军韩军段旭阳
申请(专利权)人:上海为旌科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1