[发明专利]一种矩阵运算方法、电子设备及计算机可读存储介质在审
申请号: | 201910594399.3 | 申请日: | 2019-07-03 |
公开(公告)号: | CN110399592A | 公开(公告)日: | 2019-11-01 |
发明(设计)人: | 陈岩 | 申请(专利权)人: | OPPO广东移动通信有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06N5/04;G06N3/02 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 刘晖铭;张颖玲 |
地址: | 523860 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 矩阵 运算顺序 计算机可读存储介质 电子设备 矩阵运算 乘法运算 动态规划 模型转换 目标神经 神经网络 网络模型 最小乘法 构建 减小 列数 推理 行数 运算 检测 申请 | ||
1.一种矩阵运算方法,其特征在于,所述方法包括:
检测到目标神经网络模型中包含n个矩阵连乘时,获取所述n个矩阵;n取大于2的整数;
对所述n个矩阵进行动态规划,构建所述n个矩阵的最优值递归公式;
基于所述最优值递归公式和所述n个矩阵中每个矩阵的行数和列数,计算所述n个矩阵中至少两个矩阵连乘的最优值;其中,所述最优值为所述至少两个矩阵连乘时进行乘法运算的最小次数;
基于所述n个矩阵中至少两个矩阵连乘的最优值,确定所述至少两个矩阵连乘时的运算顺序;
基于所述至少两个矩阵连乘时的运算顺序,确定所述n个矩阵连乘时的运算顺序。
2.根据权利要求1所述的方法,其特征在于,所述最优值递归公式为:
m[i][j]=min{m[i][k]+m[k+1][j]+pi×p(k+1)×qj}
其中,m[i][j]为所述n个矩阵中第i个矩阵至第j个矩阵连乘时的最优值,i取小于或者等于j的正整数,j取小于或者等于n的正整数,min{}为取最小值运算,m[i][k]为所述n个矩阵中第i个矩阵至第k个矩阵连乘时的最优值,m[k+1][j]为所述n个矩阵中第k+1个矩阵至第j个矩阵连乘时的最优值,k为第i个矩阵至第j个矩阵连乘时的顺序指示参数,k取大于或者等于i且小于j的整数,pi为第i个矩阵的行数,p(k+1)为第k+1个矩阵的行数,qj为第j个矩阵的列数。
3.根据权利要求2所述的方法,其特征在于,所述基于所述n个矩阵中至少两个矩阵连乘的最优值,确定所述至少两个矩阵连乘时的运算顺序,包括:
基于所述至少两个矩阵连乘的最优值,确定所述至少两个矩阵的顺序指示参数;
基于所述顺序指示参数,确定所述至少两个矩阵连乘时的运算顺序。
4.根据权利要求3所述的方法,其特征在于,所述确定所述至少两个矩阵的顺序指示参数之后,所述方法还包括:
利用所述至少两个矩阵的顺序指示参数,建立映射关系表;
从所述映射关系表中,确定所述n个矩阵连乘时的运算顺序。
5.根据权利要求3所述的方法,其特征在于,所述基于所述顺序指示参数,确定所述至少两个矩阵连乘时的运算顺序,包括:
基于所述第i个矩阵至第j个矩阵连乘时的最优值m[i][j],确定顺序指示参数为k;
第i个矩阵至第k个矩阵连乘,得到第一中间矩阵;
第k+1个矩阵至第j个矩阵连乘,得到第二中间矩阵;
所述第一中间矩阵与所述第二中间矩阵相乘,得到目标中间矩阵。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述n个矩阵连乘时的运算顺序,对所述目标神经网络模型中n个矩阵连乘进行矩阵融合。
7.一种电子设备,其特征在于,所述电子设备包括:
检测单元,用于检测到目标神经网络模型中包含n个矩阵连乘时,获取所述n个矩阵;n取大于2的整数;
处理单元,用于对所述n个矩阵进行动态规划,构建所述n个矩阵的最优值递归公式;基于所述最优值递归公式和所述n个矩阵中每个矩阵的行数和列数,计算所述n个矩阵中至少两个矩阵连乘的最优值;其中,所述最优值为所述至少两个矩阵连乘时进行乘法运算的最小次数;
所述处理单元,还用于基于所述n个矩阵中至少两个矩阵连乘的最优值,确定所述至少两个矩阵连乘时的运算顺序;基于所述至少两个矩阵连乘时的运算顺序,确定所述n个矩阵连乘时的运算顺序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于OPPO广东移动通信有限公司,未经OPPO广东移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910594399.3/1.html,转载请声明来源钻瓜专利网。