[发明专利]神经网络模型的编译方法和装置、电子设备和存储介质在审
| 申请号: | 202111519387.8 | 申请日: | 2021-12-13 |
| 公开(公告)号: | CN114239803A | 公开(公告)日: | 2022-03-25 |
| 发明(设计)人: | 李德林;张祎男;李建军;王振江 | 申请(专利权)人: | 北京地平线机器人技术研发有限公司 |
| 主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06N3/08 |
| 代理公司: | 北京思源智汇知识产权代理有限公司 11657 | 代理人: | 毛丽琴 |
| 地址: | 100094 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 神经网络 模型 编译 方法 装置 电子设备 存储 介质 | ||
1.一种神经网络模型的编译方法,包括:
获取待编译神经网络模型对应的第一模型,所述第一模型为所述待编译神经网络模型对应的中间表示;
针对所述第一模型的至少一个MUL层中的第一MUL层,将所述第一MUL层的第一输入张量和第二输入张量的元素对应相乘运算变换为深度卷积运算,并将深度卷积运算获得的第一输出张量变换为与所述第一MUL层的原输出张量数据结构相同的第二输出张量,获得所述第一MUL层对应的优化后的第二MUL层;所述MUL层为两输入张量的元素对应相乘的层;
基于各优化后的第二MUL层,获得所述第一模型对应的优化模型;
将所述优化模型编译为所述待编译神经网络模型对应的二进制的目标模型。
2.根据权利要求1所述的方法,其中,所述将所述第一MUL层的第一输入张量和第二输入张量的元素对应相乘运算变换为深度卷积运算,包括:
将所述第一输入张量的数据结构变换为预设格式的第一张量,并将所述第二输入张量的数据结构变换为所述预设格式的第二张量;
将所述第二张量按照预设卷积核数据排布方式进行排布,获得所述第二张量对应的第一排布结果,以使所述第一张量能够与所述第一排布结果进行深度卷积运算。
3.根据权利要求2所述的方法,其中,所述第一输入张量和所述第二输入张量的数据结构均为H*W*C,H、W、C均为正整数,分别表示张量的高度、宽度和通道数量;所述将所述第一输入张量的数据结构变换为预设格式的第一张量,并将所述第二输入张量的数据结构变换为所述预设格式的第二张量,包括:
将所述第一输入张量的数据结构从H*W*C变换为1*1*C1,获得所述第一张量,并将所述第二输入张量的数据结构从H*W*C变换为1*1*C1,获得所述第二张量,C1表示H、W和C三者的乘积。
4.根据权利要求3所述的方法,其中,所述第一张量与所述第一排布结果的深度卷积运算获得的第一输出张量的数据结构为1*1*C1,所述将深度卷积运算获得的第一输出张量变换为与所述第一MUL层的原输出张量数据结构相同的第二输出张量,包括:
将所述第一输出张量的数据结构从1*1*C1变换为H*W*C,获得所述第二输出张量。
5.根据权利要求3所述的方法,其中,所述预设卷积核数据排布方式包括用于深度卷积运算的卷积核在静态随机存取存储器SRAM中的占用规则,所述将所述第二张量按照预设卷积核数据排布方式进行排布,获得所述第二张量对应的第一排布结果,包括:
按照所述预设卷积核数据排布方式将所述第二张量排布成卷积核在SRAM中的占用方式,获得所述第一排布结果,使得在与所述第一张量进行深度卷积运算时,所述第一排布结果以卷积核在SRAM中的占用方式占用SRAM。
6.根据权利要求2所述的方法,其中,在将所述第一输入张量的数据结构变换为预设格式的第一张量,并将所述第二输入张量的数据结构变换为所述预设格式的第二张量之后,所述方法还包括:
按照预设特征数据排布方式对所述第一张量进行排布,获得所述第一张量对应的第二排布结果,并按照所述预设特征数据排布方式对所述第二张量进行排布,获得所述第二张量对应的第三排布结果;所述预设特征数据排布方式包括用于深度卷积运算的张量的特征数据在SRAM中的占用规则;所述第二排布结果用于与所述第一排布结果进行深度卷积运算;
所述将所述第二张量按照预设卷积核数据排布方式进行排布,获得所述第二张量对应的第一排布结果,包括:
将所述第三排布结果按照所述预设卷积核数据排布方式进行排布,获得所述第二张量对应的第一排布结果。
7.根据权利要求1-6任一所述的方法,其中,所述第一输出张量是按照预设特征数据排布方式进行排布的,所述将深度卷积运算获得的第一输出张量变换为与所述第一MUL层的原输出张量数据结构相同的第二输出张量,包括:
将所述第一输出张量的排布方式从所述预设特征数据排布方式变换成与所述原输出张量相同的排布方式,获得所述第二输出张量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京地平线机器人技术研发有限公司,未经北京地平线机器人技术研发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111519387.8/1.html,转载请声明来源钻瓜专利网。





