一种张量的读取方法、装置以及相关产品制造方法及图纸

技术编号:34002294 阅读:28 留言:0更新日期:2022-07-02 12:27
本申请实施例提供一种张量的读取方法,该方法在描述张量时加入了取数步幅和偏移值的描述,在接收到需要读取不同自然语义的同一内存空间数据对应的张量时,能通过重新设置新的取数步幅和偏移值的方式,获得不同自然语义描述下的张量。本申请提供的方法无需在转换自然语义时拷贝张量内存空间的数据,节省了运行时间与运行内存,达到了提升运算速度,减少内存开销大的效果。开销大的效果。开销大的效果。

【技术实现步骤摘要】
一种张量的读取方法、装置以及相关产品


[0001]本专利技术涉及电子
,尤其涉及一种张量的读取方法、装置以及相关产品。

技术介绍

[0002]目前,为了提高运算效率,通常将数据以向量形式进行存储,而张量就是更高维度的向量,通常应用于深度学习中。张量的描述符用于描述张量各维度的自然语义与数据排布的关系,不同张量的自然语义可能会不同,常见自然语义有NCL、NCHW、NHWC以及NHWCD等,其中,N为数据批次(number),C为每个数据的通道数(channel),L为每个通道的长度(length),H为每个通道的高度(height),W为每个通道的宽度(width),D为每个通道的深度(depth)。在实际操作过程中,为了将多个张量进行计算,需要将多个张量统一自然语义。例如,一个张量的自然语义是NCHW,另一个张量的自然语义是NHWC,为了对这两个张量进行运算,需要将转换张量的自然语义。现有技术通常是将张量对应的内存空间数据拷贝并重新按另一种自然语义对应的描述符进行排布,并生成新的张量,但是拷贝内存空间的数据会带来时间开销,且占用了额外的内存空间。
[0003]由此,如何在张量转换自然语义时不占用额外内存,提高转换效率是亟待解决的问题。

技术实现思路

[0004]为了至少部分地解决
技术介绍
中提到的技术问题,本申请的目的在于提供一种张量的读取方法、转换方法、装置以及相关产品。
[0005]目标和其他目标将通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求、说明书和附图中体现。
[0006]第一方面,本申请提供一种张量的读取方法,该方法包括:获取内存空间中数据的存储信息,存储信息包括存储数据以及存储顺序;确定第一张量的第一数据自然语义,第一数据自然语义用于标识第一张量的数据排布;在第一张量的数据排布与存储顺序不一致的情况下,根据第一数据自然语义与存储数据的对应关系,从内存空间中读取第一张量。
[0007]结合第一方面,在一些实施例中,在第一张量的数据排布与存储顺序一致的情况下,根据存储顺序生成第一参数,其中,第一参数包括第一偏移值,第一取数步幅以及第一描述符;根据第一参数读取第一张量。
[0008]结合第一方面,在一些实施例中,第一参数还包括:第一大小、第一内存空间,第一数据类型,第一维度数;第一描述符用于描述第一张量的数据排布与第一自然语义的关系;第一取数步幅是基于第一大小与第一维度数确定的。
[0009]结合第一方面,在一些实施例中,在第一张量的数据排布与存储顺序不一致的情况下,根据第一数据自然语义与存储数据的对应关系,从内存空间中读取第一张量,包括:根据存储顺序生成第一参数;根据第一数据自然语义将第一参数转换第二参数,第二参数包括第二偏移值,第二取数步幅以及第二描述符;根据第二参数读取第一张量。
[0010]结合第一方面,在一些实施例中,该方法还包括:确定第二数据自然语义,第二数据自然语义用于标识第二张量的数据排布;根据第二数据自然语义与第一数据自然语义的对应关系,将第二参数转换为第三参数;基于第三参数将第一张量转换为第二张量,其中,第三参数包括第三偏移值以及第三取数步幅以及第三描述符。
[0011]结合第一方面,在一些实施例中,第二参数还包括:第二大小,第二维度数,第二数据类型;第三参数还包括:第三大小,第三维度数,第三数据类型;其中,第二数据类型与第三数据类型与内存空间中数据的数据类型一致。
[0012]结合第一方面,在一些实施例中,第一数据自然语义与第二数据自然语义的维度相同,顺序不同;或者,第一数据自然语义与第二数据自然语义的维度不同。
[0013]第二方面,本申请提供一种张量的读取装置,其特征在于,张量的读取装置包括:获取单元、确定单元以及读取单元:获取单元用于获取内存空间中数据的存储信息,存储信息包括存储数据以及存储顺序;确定单元用于确定第一张量的第一数据自然语义,第一数据自然语义用于标识第一张量的数据排布;读取单元用于在第一张量的数据排布与存储顺序不一致的情况下,根据第一数据自然语义与存储数据的对应关系,从内存空间中读取第一张量。
[0014]结合第二方面,该张量的读取装置还包括:转换单元;该转换单元用于基于第三参数将第一张量转换为第二张量,其中,第三参数包括第三偏移值以及第三取数步幅以及第三描述符。
[0015]第三方面,本方案实施例提供一种电子设备,其特征在于,电子设备包括张量的读取装置,张量的读取装置执行如第一方面中的任一可能的实现方式。
[0016]第四方面,本方案实施例提供一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如第一方面中的任一可能的实现方式。
[0017]可以看到,本申请通过在描述张量时加入取数步幅和偏移值的描述,能够从同一存储空间读取出不同自然语义的张量。解决了转换张量自然语义时需要拷贝内存空间数据的问题,进而减少了时间开销以及额外的内存空间的占用。
附图说明
[0018]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
[0019]图1是本专利技术实施例提供的一种电子设备结构示意图;
[0020]图2是本专利技术实施例提供的一种张量含义说明示意图;
[0021]图3是本专利技术实施例提供的一种通用张量转换方法示意图;
[0022]图4是本专利技术实施例提供的一种张量的读取方法流程示意图;
[0023]图5是本专利技术实施例提供的一种张量的读取方法在一种应用场景中的流程示意图;
[0024]图6是本专利技术实施例提供的一种生成张量的步骤示意图;
[0025]图7是本专利技术实施例提供的一种张量的转换装置结构示意图;
[0026]图8是本专利技术实施例提供的一种组合装置结构示意图;
[0027]图9是本专利技术实施例提供的一种板卡结构示意图。
具体实施方式
[0028]下面将结合附图对本申请实施例中的技术方案进行清除、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
[0029]以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种张量的读取方法,其特征在于,应用于电子设备,所述方法包括:获取内存空间中数据的存储信息,所述存储信息包括存储数据以及存储顺序;确定第一张量的第一数据自然语义,所述第一数据自然语义用于标识所述第一张量的数据排布;在所述第一张量的数据排布与所述存储顺序不一致的情况下,根据所述第一数据自然语义与所述存储数据的对应关系,从所述内存空间中读取所述第一张量。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述第一张量的数据排布与所述存储顺序一致的情况下,根据所述存储顺序生成第一参数,其中,所述第一参数包括第一偏移值,第一取数步幅以及第一描述符;根据所述第一参数读取所述第一张量。3.根据权利要求2所述方法,其特征在于,所述第一参数还包括:第一大小,第一数据类型,第一维度数,其中,第一数据类型与所述内存空间中数据的数据类型一致;所述第一描述符用于描述所述第一张量的数据排布与第一自然语义的关系;所述第一取数步幅是基于所述第一大小与所述第一维度数确定的。4.根据权利要求3所述的方法,其特征在于,所述在所述第一张量的数据排布与所述存储顺序不一致的情况下,根据所述第一数据自然语义与所述存储数据的对应关系,从所述内存空间中读取所述第一张量,包括:根据所述存储顺序生成第一参数;根据所述第一数据自然语义将所述第一参数转换为第二参数,所述第二参数包括第二偏移值,第二取数步幅以及第二描述符;根据所述第二参数读取所述第一张量。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:确定第二数据自然语义,所述第二数据自然语义用于标识所述第二张量的数据排布;根据所述第二数据自然语义与所述第一数据自然语义的对应关系,将第二参数转换为第三参数;基于所述第三参数...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1