[发明专利]一种张量转置方法、装置、计算机及存储介质有效
申请号: | 201910212460.3 | 申请日: | 2019-03-20 |
公开(公告)号: | CN109885628B | 公开(公告)日: | 2020-05-12 |
发明(设计)人: | 解易 | 申请(专利权)人: | 上海燧原智能科技有限公司;上海燧原科技有限公司 |
主分类号: | G06F16/28 | 分类号: | G06F16/28 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201306 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 张量 方法 装置 计算机 存储 介质 | ||
1.一种张量转置方法,其特征在于,包括:
获取待处理的第一张量数据和所述第一张量数据的期望维度序列;
确定所述第一张量数据的维度数量是否大于直接内存访问设备可处理的维度数量;
若是,当所述第一张量数据的维度序列和所述期望维度序列不同时,根据转置处理顺序、所述第一张量数据的维度序列和所述期望维度序列确定当前处理的张量维度;
根据所述当前处理的张量维度和张量转换规则,将所述第一张量数据转换为第一预设维度数量的第二张量数据,其中,所述第一预设维度数量根据所述直接内存访问设备确定;
基于所述直接内存访问设备,根据所述期望维度序列对所述第二张量数据中与所述第一张量数据中的当前处理的张量维度相对应的维度数据进行转置处理;
将处理后的第二张量数据进行张量反转换为第三张量数据,其中,所述第三张量数据与所述第一张量数据的维度数量相同;
其中,根据所述当前处理的张量维度和张量转换规则,将所述第一张量数据转换为第一预设维度数量的第二张量数据,包括:根据第一张量数据的维度序列和所述期望维度序列中同一位置的维度标识的比对结果,确定所述第一张量数据中如下条件的维度标识:当前处理的张量维度的第二维度标识、位于所述当前处理的张量维度位置前的不符合期望维度序列的第一维度标识、位于所述当前处理的张量维度位置后的不符合期望维度序列的第三维度标识和符合期望维度序列的第四维度标识;对于任一条件的维度标识,当所述条件的维度标识数量大于1时,根据所述第一张量数据中数据顺序将所述条件的维度标识对应的维度数据合并为同一维度的数据,生成第二张量数据。
2.根据权利要求1所述的方法,其特征在于,根据转置处理顺序、所述第一张量数据的维度序列和所述期望维度序列确定当前处理的张量维度,包括:
根据所述转置处理顺序依次对第一张量数据的维度序列和所述期望维度序列中同一位置的维度标识进行比对;
根据首次比对失败时,所述期望维度序列中进行对比的维度标识确定当前处理的张量维度。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于任一条件的维度标识,当所述条件的维度标识数量等于1时,保持所述维度标识对应的维度数据;
对于任一条件的维度标识,当所述条件的维度标识数量为0时,将所述维度标识对应的维度数据设为1。
4.根据权利要求1所述的方法,其特征在于,根据所述期望维度序列对所述第二张量数据中与所述第一张量数据中的当前处理的张量维度相对应的维度数据进行转置处理,包括:
根据所述期望维度序列确定所述第一维度标识、第二维度标识、第三维度标识和第四维度标识的期望序列;
根据所述期望序列调节各维度标识对应的维度数据的位置。
5.根据权利要求1所述的方法,其特征在于,在所述第二张量数据中,合成维度数据的维度大小为用于合成的各原始维度数据的维度大小的乘积;
相应的,将处理后的第二张量数据进行张量反转换为第三张量数据,包括:
根据用于合成所述合成维度数据的各原始维度数据的数量和维度大小确定所述合成维度数据的拆分维度数据的数量的维度大小;
根据所述第一张量数据中的数据顺序、拆分维度数据的数量的维度大小对所述合成维度数据进行拆分,生成所述第三张量数据。
6.根据权利要求1所述的方法,其特征在于,在获取待处理的第一张量数据和所述第一张量数据的期望维度序列之后,还包括:
确定所述第一张量数据的维度数量是否大于第二预设维度数量,若否,则根据所述期望维度序列对所述第一张量数据进行转置处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海燧原智能科技有限公司;上海燧原科技有限公司,未经上海燧原智能科技有限公司;上海燧原科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910212460.3/1.html,转载请声明来源钻瓜专利网。