【技术实现步骤摘要】
卷积层的映射方法及映射装置、卷积运算方法及运算装置
[0001]本公开的实施例涉及一种卷积层的映射方法及映射装置、卷积运算方法及运算装置。
技术介绍
[0002]以忆阻器为代表的具有存算一体功能的新型存储器可在存储的数据上原位实现计算操作,从而消除数据搬移的巨大开销。根据基尔霍夫定律和欧姆定律,存算一体阵列可以并行地完成累乘加计算。由于存算一体阵列的每一列都是一个单独的累乘加计算单元,所以一个存算一体阵列的最大算力等于阵列行数*阵列列数*阵列计算频率。存算一体阵列在模拟域上一步实现矩阵向量乘法运算的特性使其在神经网络的应用中受到了越来越广泛的关注。
[0003]以卷积神经网络(Convolutional Neural Network,CNN)为代表的深度神经网络已广泛应用于图像识别、图像处理等领域。随着神经网络的深度越来越深,所需的卷积层个数也越来越多。卷积层所占用的计算开销,例如在卷积运算过程中的模数转换开销已经成为了系统的主要开销。特别是在神经网络前几层(浅层网络)的卷积计算中,映射到存算一体阵列上的卷积层规模较小,导致存算一体阵列的空间利用率不足,系统整体的计算效率较低,计算开销较大。
技术实现思路
[0004]本公开至少一实施例提供了一种卷积层的映射方法,该映射方法包括:获取所述卷积层的维度[K,H,D,N],其中,N为所述卷积层中的卷积核的个数,K为所述卷积核的宽度,H为所述卷积核的高度,D为所述卷积核的通道数;将所述卷积层展开为行高度K
×
H
×
...
【技术保护点】
【技术特征摘要】
1.一种卷积层的映射方法,包括:获取所述卷积层的维度[K,H,D,N],其中,N为所述卷积层中的卷积核的个数,K为所述卷积核的宽度,H为所述卷积核的高度,D为所述卷积核的通道数;将所述卷积层展开为行高度K
×
H
×
D、列宽度N的第0矩阵,其中,在所述第0矩阵中的N列分别对应于将N个所述卷积核分别展开的长度为K
×
H
×
D的一维向量;基于所述第0矩阵,创建K
‑
1个变换矩阵,其中,所述K
‑
1个变换矩阵包括第1矩阵到第K
‑
1矩阵,其中,第m矩阵相对于第m
‑
1矩阵的变换包括第m矩阵中的行号=(第m
‑
1矩阵中的行号+K)mod(K
×
H
×
D),m为1到K
‑
1之间的整数;将所述第0矩阵到所述第K
‑
1矩阵映射到存算一体阵列中,其中,所述存算一体阵列包括彼此独立的至少一个子阵列。2.根据权利要求1所述的卷积层的映射方法,其中,所述存算一体阵列包括单个子阵列,所述将所述第0矩阵到所述第K
‑
1矩阵映射到所述存算一体阵列中,包括:将所述第0矩阵到所述第K
‑
1矩阵映射到所述单个子阵列中。3.根据权利要求1所述的卷积层的映射方法,其中,所述将所述第0矩阵到所述第K
‑
1矩阵映射到所述存算一体阵列中,包括:将所述第0矩阵到所述第K
‑
1矩阵依序排列映射到所述存算一体阵列中依序排列的部分。4.根据权利要求1所述的卷积层的映射方法,其中,所述在所述第0矩阵中的N列分别对应于将N个所述卷积核分别展开的长度为K
×
H
×
D的一维向量,包括:将N个所述卷积核中的每个按照指定展开方式展开为长度为K
×
H
×
D的一维向量,其中,所述指定展开方式包括:先展开所述卷积核的通道数D,然后展开所述卷积核的高H,最后展开所述卷积核的宽K。5.一种卷积运算方法,包括:将用于所述卷积运算的卷积层按照权利要求1
‑
4任一项所述的映射方法映射到所述存算一体阵列中;以滑动方式从输入特征图获取多个批次的输入数据,其中,在每次滑动中,读取所述输入特征图中对应于所述卷积层的全部输入数据且进行一维展开作为当前批次的输入数据,所述输入特征图的通道数为D,所述卷积运算的卷积步长为1;将所述多个批次的输入数据分别输入到所述存算一体阵列计算,以进行所述卷积运算。6.根据权利要求5所述的卷积运算方法,其中,所述以滑动方式从所述输入特征图获取所述多个批次的输入数据,包括:在所述输入特征图的每一行上进行多次水平滑动以从所述输入特征图获取所述多个批次中对应于当前行的输入数据,其中,每次所述水平滑动的滑动步长为K。7.根据权利要求5所述的卷积运算方法,其中,所述以滑动方式从所述输入特...
【专利技术属性】
技术研发人员:吴华强,党琦,王虹波,张清天,高滨,唐建石,钱鹤,
申请(专利权)人:清华大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。