[发明专利]卷积计算方法及相关设备在审
申请号: | 201911080608.9 | 申请日: | 2019-11-07 |
公开(公告)号: | CN110580522A | 公开(公告)日: | 2019-12-17 |
发明(设计)人: | 曹庆新;李炜;黎立煌;李爱军;王和国;陈宁 | 申请(专利权)人: | 深圳云天励飞技术有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04 |
代理公司: | 44202 广州三环专利商标代理有限公司 | 代理人: | 郝传鑫;熊永强 |
地址: | 518000 广东省深圳市龙岗区园山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理元件 网络层 卷积计算 目标卷 神经网络处理器 乘法累加单元 卷积神经网络 计算效率 输出数据 映射关系 卷积核 卷积 组对 申请 并行 | ||
1.一种卷积计算方法,其特征在于,应用于神经网络处理器,所述神经网络处理器包括P2个处理元件,所述P2个处理元件中的每个处理元件包括Q个乘法累加单元,所述Q为大于1的整数,包括:
获取卷积神经网络模型包括的N个网络层中的任意一个网络层A的输入数据,所述N为大于1的整数;
根据网络层与卷积核、卷积步长的映射关系确定所述网络层A对应的目标卷积核和目标卷积步长;
根据所述目标卷积核和所述目标卷积步长对所述网络层A的输入数据进行填充,得到所述网络层A的第一输入数据,所述网络层A的第一输入数据包括大小相同的R个第一子输入矩阵,所述R为大于等于1的整数;
根据所述R个第一子输入矩阵中的任意一个第一子输入矩阵B、所述P2和所述Q确定对所述网络层A的第一输入数据进行卷积计算所需的M个处理元件组,所述M个处理元件组中的每个处理元件组包括P1个处理元件,所述P1个处理元件中的每个处理元件包括至少一个乘法累加单元,所述P2大于等于所述M×所述P1,所述M和所述P1均为大于等于1的整数;
并行使用所述M个处理元件组对所述网络层A的输入数据进行卷积计算,得到所述网络层A的输出数据。
2.根据权利要求1所述的方法,其特征在于,所述网络层A的输入数据包括大小均为S1×S2的R个子输入矩阵,所述目标卷积核包括大小均为F×F的R个子卷积核矩阵,所述目标卷积步长为T1×T2,所述根据所述目标卷积核和所述目标卷积步长对所述网络层A的输入数据进行填充,得到所述网络层A的第一输入数据,包括:
计算(S1-F)/T2,得到第一余数,以及根据所述第一余数和所述T2确定子输入矩阵C对应的行填充数据,所述子输入矩阵C为所述R个子输入矩阵中的任意一个;
计算(S2-F)/T1,得到第二余数,以及根据所述第二余数和所述T1确定所述子输入矩阵C对应的列填充数据;
根据所述行填充数据和所述列填充数据对所述子输入矩阵C进行填充,得到所述子输入矩阵C对应的第一子输入矩阵;
对所述R个子输入矩阵中除所述子输入矩阵C之外的(R-1)个子输入矩阵执行相同操作,得到(R-1)个第一子输入矩阵,所述(R-1)个第一子输入矩阵与所述(R-1)个子输入矩阵一一对应;
将所述子输入矩阵C对应的第一子输入矩阵和所述(R-1)个第一子输入矩阵确定为所述网络层A的第一输入数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述R个第一子输入矩阵中的任意一个第一子输入矩阵B、所述P2和所述Q确定对所述网络层A的第一输入数据进行卷积计算所需的M个处理元件组,包括:
获取第一子输入矩阵B的大小S3×S4,所述第一子输入矩阵B为所述R个第一子输入矩阵中的任意一个;
计算S4/Q,得到商和第三余数;
若所述第三余数为0,则将所述网络层A的第一输入数据包括的第一子输入矩阵的数量确定为M和将所述商确定为P1,所述M是对所述网络层A的第一输入数据进行卷积计算所需的处理元件组的数量,以及确定所述P1个处理元件中的每个处理元件包括Q个乘法累加单元;
若所述第三余数不为0,则将所述网络层A的第一输入数据包括的第一子输入矩阵的数量确定为M和将所述商加1确定为P1,所述M是对所述网络层A的第一输入数据进行卷积计算所需的处理元件组的数量,以及确定所述P1个处理元件中的第1个处理元件至第(P1-1)个处理元件中的每个处理元件包括Q个乘法累加单元和第P1个处理元件包括的乘法累加单元的数量为所述第三余数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳云天励飞技术有限公司,未经深圳云天励飞技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911080608.9/1.html,转载请声明来源钻瓜专利网。