[发明专利]winograd卷积运算方法、装置、设备及存储介质在审
申请号: | 201911061091.9 | 申请日: | 2019-11-01 |
公开(公告)号: | CN112784206A | 公开(公告)日: | 2021-05-11 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06F17/15 | 分类号: | G06F17/15;G06F17/16;G06N3/04;G07C9/37 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 吴会英;臧建明 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | winograd 卷积 运算 方法 装置 设备 存储 介质 | ||
1.一种winograd卷积运算方法,其特征在于,所述方法包括;
在winograd卷积运算的变换过程中,将winograd卷积运算中数据拆解为多个子张量;
将所述多个子张量进行变换运算得到多个子张量的winograd变换结果,将所述多个子张量的winograd变换结果进行求和运算,得到所述数据的变换结果,其中,所述多个子张量的winograd变换结果进行求和运算根据设定的策略由多个运算子装置完成;
根据所述数据的变换结果完成winograd卷积运算。
2.根据权利要求1所述的方法,其特征在于,所述多个子张量的winograd变换结果进行求和运算根据设定的策略由多个运算子装置完成,包括:
在所述多个子张量的winograd变换结果进行求和运算过程中,按照所述多个运算子装置负载均衡的原则,将所述多个子张量的winograd变换结果的求和运算分配至多个运算子装置执行。
3.根据权利要求2所述的方法,其特征在于,所述按照所述多个运算子装置负载均衡的原则,将所述多个子张量的winograd变换结果的求和运算分配至多个运算子装置执行,包括:
确定各子张量对应的变换矩阵中非0元素的数量;
按照非0元素的数量确定多个子张量的winograd变换结果进行求和运算顺序;
按照确定出的多个子张量的winograd变换结果进行求和运算的顺序,预设的结果矩阵中的元素位置与运算子装置之间的映射关系将用于计算结果矩阵中各元素的加法执行任务对应分配到多个运算子装置;
其中,所述结果矩阵中各元素的加法执行任务中的加法数由所述多个子张量的winograd变换结果后形成的数据中非0的元素值构成;
其中,由同一运算子装置进行结果矩阵中同一元素位置处的求和运算。
4.根据权利要求3所述的方法,其特征在于,所述按照所述多个运算子装置负载均衡的原则,将所述多个子张量的winograd变换结果的求和运算分配至多个运算子装置执行之前,还包括:
根据所述多个子张量的winograd变换结果,确定进行所述求和运算时所需的加法执行次数;
根据所述子张量或结果矩阵的规模,确定时钟个数;
根据所述时钟个数以及所述求和运算时所需的加法执行次数,确定运算子装置的个数。
5.根据权利要求4所述的方法,其特征在于,所述按照所述多个运算子装置负载均衡的原则,将所述多个子张量的winograd变换结果的求和运算分配至多个运算子装置执行,包括:
按照确定出的多个子张量的winograd变换结果进行求和运算的顺序,预设的结果矩阵中的元素位置与运算子装置之间的映射关系将用于计算结果矩阵中各元素的加法执行任务对应分配到多个运算子装置,以在所述时钟个数内完成所述结果矩阵中各元素的加法计算。
6.根据权利要求5所述的方法,其特征在于,所述将用于计算结果矩阵中各元素的加法执行任务对应分配到多个运算子装置,以在预定时钟个数内完成所述结果矩阵中各元素的加法计算,包括:
在前N个连续时钟,将用于计算结果矩阵中各元素位置的其中一个加法数输入至对应的运算子装置,以对所述结果矩阵中的各元素进行初始赋值;
在剩余时钟内,将用于计算结果矩阵中各元素位置的剩余加法数输入至对应的运算子装置进行加法计算,直至获得结果矩阵中的各元素值;
其中,每个时钟下所有运算子装置均处于处理状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911061091.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:Winograd卷积运算方法及相关产品
- 下一篇:阀门驱动系统