一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于存算一体阵列的卷积神经网络处理方法和装置

2022-04-09 06:31:07 来源:中国专利 TAG:

技术特征:
1.一种基于存算一体阵列的卷积神经网络处理方法,所述存算一体阵列包括多行多列运算单元,所述方法包括:基于输入特征图的宽度x_in、高度y_in和输入通道数c_in以及卷积核的宽度x_k、高度y_k、通道数c_in,设置所述输入特征图的子输入特征图的宽度为x、高度为y、通道数为z,并且设置所述卷积核的子卷积核的宽度为x_k、高度为y_k、通道数为z,其中,x_k小于或等于x,y_k小于或等于y,x小于或等于x_in,y小于或等于y_in,z小于或等于c_in,并且x
×
y
×
z的结果小于或等于所述存算一体阵列的行数;基于所述子卷积核在所述子输入特征图中以步长s滑动的情形,将所述子卷积核依次部署到至少一个存算一体阵列的n列中;将所述子输入特征图以行输入信号输入到所述至少一个存算一体阵列中,从所述至少一个存算一体阵列的n列的列输出信号得到计算结果。2.根据权利要求1所述的卷积神经网络处理方法,其中,对于z小于或等于c_in的情形,所述至少一个存算一体阵列的数量为3.根据权利要求1所述的卷积神经网络处理方法,其中,所述基于所述子卷积核在所述子输入特征图中以步长s滑动的情形,将所述子卷积核依次部署到至少一个存算一体阵列的n列中,包括:根据基于所述子卷积核在所述子输入特征图中以所述步长s滑动的情形,将所述子卷积核相对于所述子输入特征图的位置分为第一卷积位置、第二卷积位置和第三卷积位置;以及根据所述第一卷积位置、所述第二卷积位置和所述第三卷积位置,将所述子卷积核依次部署到所述至少一个存算一体阵列的所述n列中,其中,所述第一卷积位置对应于所述子卷积核在滑动过程中完全在所述子输入特征图内的情形,所述第二卷积位置对应于所述子卷积核在滑动过程中处于两个所述子输入特征图之间的情形,所述第三卷积位置对应于所述子卷积核在滑动过程中处于四个所述子输入特征图之间的情形。4.根据权利要求3所述的卷积神经网络处理方法,其中,所述根据所述第一卷积位置、所述第二卷积位置和所述第三卷积位置,将所述子卷积核依次部署到所述至少一个存算一体阵列的所述n列中,包括:根据所述第一卷积位置,将所述子卷积核部署到所述至少一个存算一体阵列的n1列中,根据所述第二卷积位置,将所述子卷积核部署到所述至少一个存算一体阵列的n2列中,根据所述第三卷积位置,将所述子卷积核部署到所述至少一个存算一体阵列的n3列中,其中,所述存算一体阵列的每列部署1个所述子卷积核,且n1 n2 n3=n。5.根据权利要求4所述的卷积神经网络处理方法,其中,在所述子卷积核的x_k与y_k相
同的情形,同的情形,n3=c_out
×4×
(x_k-1)2;或者在所述子卷积核的x_k与y_k不相同的情形,在所述子卷积核的x_k与y_k不相同的情形,n3=cout
×4×
(x_k-1)
×
(y_k-1)。6.根据权利要求5所述的卷积神经网络处理方法,其中,在所述子卷积核的x_k与y_k相同的情形,所述子卷积核在所述第一卷积位置对应的权重元素的数量为x_k
×
y_k
×
z,所述子卷积核在所述第二卷积位置对应的权重元素的数量为x_k
×
z,所述子卷积核在所述第三卷积位置对应的权重元素的数量为z;或者在所述子卷积核的x_k与y_k不相同的情形,所述子卷积核在所述第一卷积位置对应的权重元素的数量为x_k
×
y_k
×
z,所述子卷积核在所述第三卷积位置对应的权重元素的数量为z,在n2列中的一半列上,所述子卷积核在所述第二卷积位置对应的权重元素的数量为x_k
×
z,在n2列中的另一半列上,所述子卷积核在所述第二卷积位置对应的权重元素的数量为y_k
×
z。7.根据权利要求1所述的卷积神经网络处理方法,其中,所述将所述子输入特征图以行输入信号输入到所述至少一个存算一体阵列中,从所述至少一个存算一体阵列的n列的列输出信号得到计算结果,包括:以在宽度维度上以x为滑动步长、在高度维度上以y为滑动步长的滑动方式从所述输入特征图逐步滑动得到所述子输入特征图,每步中将所述子输入特征图以行输入信号输入到所述至少一个存算一体阵列中,并从所述至少一个存算一体阵列的n列的列输出信号得到该步对应的计算结果。8.根据权利要求1-7中的任一项所述的卷积神经网络处理方法,其中,所述卷积神经网络涉及k个所述卷积核,k等于输出通道数c_out;基于所述子卷积核在所述子输入特征图中以步长s滑动的情形,将所述子卷积核依次部署到所述至少一个存算一体阵列的所述n列中,包括:基于所述子卷积核在所述子输入特征图中以所述步长s滑动的情形,将所述k个子卷积核中的每个子卷积核依次部署到至少一个存算一体阵列的n列中,由此将所述k个子卷积核依次部署到所述至少一个存算一体阵列的n列中。
9.一种基于存算一体阵列的卷积神经网络处理装置,包括:至少一个存算一体阵列,包括多行多列运算单元;设置单元,被配置为,基于输入特征图的宽度x_in、高度y_in和通道数c_in以及卷积核的宽度x_k、高度y_k、通道数c_in,设置子输入特征图的宽度为x、高度为y、通道数为z,并且设置子卷积核的宽度为x_k、高度为y_k、通道数为z,其中,x_k小于或等于x,y_k小于或等于y,x小于或等于x_in,y小于或等于y_in,z小于或等于c_in,并且x
×
y
×
z的结果小于或等于所述存算一体阵列的行数;部署单元,被配置为,基于所述子卷积核在所述子输入特征图中以步长s滑动的情形,将所述子卷积核依次部署到所述至少一个存算一体阵列的n列中;以及控制单元,被配置为,将所述子输入特征图以行输入信号输入到所述至少一个存算一体阵列中,从所述至少一个存算一体阵列的n列的列输出信号得到计算结果。10.根据权利要求9所述的卷积神经网络处理装置,其中,所述部署单元还被配置为:根据基于所述子卷积核在所述子输入特征图中以步长s滑动的情形,将所述子卷积核相对于所述子输入特征图的位置分为第一卷积位置、第二卷积位置和第三卷积位置;以及根据所述第一卷积位置、所述第二卷积位置和所述第三卷积位置,将所述子卷积核依次部署到所述至少一个存算一体阵列的所述n列中,其中,所述第一卷积位置对应于所述子卷积核在滑动过程中完全在所述子输入特征图内的情形,所述第二卷积位置对应于所述子卷积核在滑动过程中处于两个所述子输入特征图之间的情形,所述第三卷积位置对应于所述子卷积核在滑动过程中处于四个所述子输入特征图之间的情形。11.根据权利要求10所述的卷积神经网络处理装置,其中,所述部署单元还被配置为:根据所述第一卷积位置,将所述子卷积核部署到所述至少一个存算一体阵列的n1列中,根据所述第二卷积位置,将所述子卷积核部署到所述至少一个存算一体阵列的n2列中,根据所述第三卷积位置,将所述子卷积核部署到所述至少一个存算一体阵列的n3列中,其中,所述存算一体阵列的每列部署1个子卷积核,且n1 n2 n3=n。12.根据权利要求9所述的卷积神经网络处理装置,其中,所述控制单元还被配置为:以在宽度维度上以x为滑动步长、在高度维度上以y为滑动步长的滑动方式从所述输入特征图逐步滑动得到所述子输入特征图,每步中将所述子输入特征图以行输入信号输入到所述至少一个存算一体阵列中,并从所述至少一个存算一体阵列的n列的列输出信号得到所述步对应的计算结果。13.根据权利要求9所述的卷积神经网络处理装置,其中,所述卷积神经网络涉及k个所述卷积核,k等于输出通道数c_out;所述部署单元还被配置为:基于所述子卷积核在所述子输入特征图中以步长s滑动的情形,将所述k个子卷积核中的每个子卷积核依次部署到至少一个存算一体阵列的n列中,
由此将所述k个子卷积核依次部署到至少一个存算一体阵列的n列中。

技术总结
一种基于存算一体阵列的卷积神经网络处理方法和卷积神经网络处理装置。该方法包括:基于输入特征图的宽度x_in、高度y_in和通道数C_in及卷积核的宽度x_k、高度y_k、通道数C_in,设置输入特征图的子输入特征图的宽度为x、高度为y、通道数为z,并且设置卷积核的子卷积核的宽度为x_k、高度为y_k、通道数为z,其中,x_k小于或等于x,y_k小于或等于y,x小于或等于x_in,y小于或等于y_in,z小于或等于C_in,且x


技术研发人员:高滨 徐铭鸿 刘正午 唐建石 吴华强 钱鹤
受保护的技术使用者:清华大学
技术研发日:2021.12.30
技术公布日:2022/4/8
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献