[发明专利]一种矩阵运算方式的选择方法、装置、设备以及存储介质在审
申请号: | 202111454114.X | 申请日: | 2021-12-01 |
公开(公告)号: | CN114201729A | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 杨良志;白琳;汪志新;白小刚;瞿勇金;王向军 | 申请(专利权)人: | 彩讯科技股份有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06N3/063 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 潘登 |
地址: | 518000 广东省深圳市南山区粤海街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 矩阵 运算 方式 选择 方法 装置 设备 以及 存储 介质 | ||
1.一种矩阵运算方式的选择方法,其特征在于,包括:
识别神经网络所处的候选硬件环境;其中所述候选硬件环境包括CPU、AVX、SSE以及昇腾设备中至少一种;
从至少一种候选硬件环境中确定目标硬件环境,并确定所述目标硬件所对应的目标矩阵运算方式;
采用所述目标矩阵运算方式对所述神经网络进行运算。
2.根据权利要求1所述的方法,其特征在于,若所述候选硬件环境包括至少两种,则从至少一种候选硬件环境中确定目标硬件环境,包括:
根据候选硬件环境的优先级,从至少两种候选硬件环境中确定目标硬件环境。
3.根据权利要求1所述的方法,其特征在于,若所述目标硬件环境为CPU,则所述采用所述目标矩阵运算方式对所述神经网络进行运算,包括:
对于所述神经网络的每一层,将该层的上一层的输出矩阵作为该层的输入矩阵;
对于所述输入矩阵的每一行向量,遍历该层的权重矩阵的列向量;
对于每一列向量,分别计算该行向量的元素与该列向量的对应元素的乘积,并将各乘积相加,得到该行向量和该列向量的点积;
将各所述点积分别与偏置值相加,得到该层的输出矩阵的元素。
4.根据权利要求1所述的方法,其特征在于,若目标硬件环境为AVX或SSE,则所述采用所述目标矩阵运算方式对所述神经网络进行运算,包括:
对于所述神经网络的每一层,将该层的上一层的输出矩阵作为该层的输入矩阵;
对于所述输入矩阵的每一行向量,遍历该层的权重矩阵的列向量;
对于每一列向量,将该行向量和该列向量传递给AVX或SSE,得到该行向量与该列向量的点积;
将各所述点积分别与偏置值相加,得到该层的输出矩阵。
5.根据权利要求1所述的方法,其特征在于,若所述目标硬件环境为昇腾设备,则所述采用所述目标矩阵运算方式对所述神经网络进行运算,包括:
对于所述神经网络的每一层,将该层的上一层的输出矩阵作为该层的输入矩阵;
根据所述输入矩阵,构建第一矩阵,并根据该层的权重矩阵构建第二矩阵;
将所述第一矩阵、所述第二矩阵和偏置向量从主机内存复制到昇腾设备的内存中;
调用矩阵乘算子,对所述第一矩阵、所述第二矩阵和所述偏置向量进行计算,得到该层的输出矩阵。
6.根据权利要求1所述的方法,其特征在于,所述识别神经网络所处候选硬件环境之后,还包括:
根据用户配置信息,识别神经网络是否处于设定硬件环境;
若是,则将所述设定硬件环境对应的矩阵运算方式作为目标矩阵运算方式。
7.根据权利要求6所述的方法,其特征在于,还包括:
若识别到神经网络没有处于所述设定硬件环境,则向用户展示错误信息。
8.一种矩阵运算方式的选择装置,其特征在于,包括:
候选环境识别模块,用于识别神经网络所处的候选硬件环境;其中所述候选硬件环境包括CPU、AVX、SSE以及昇腾设备中至少一种;
目标确定模块,用于从至少一种候选硬件环境中确定目标硬件环境,并确定所述目标硬件所对应的目标矩阵运算方式;
运算模块,用于采用所述目标矩阵运算方式对所述神经网络进行运算。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的矩阵运算方式的选择方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的矩阵运算方式的选择方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于彩讯科技股份有限公司,未经彩讯科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111454114.X/1.html,转载请声明来源钻瓜专利网。