CN109857744A - 稀疏张量计算方法、装置、设备及存储介质 - Google Patents

稀疏张量计算方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109857744A
CN109857744A CN201910117031.8A CN201910117031A CN109857744A CN 109857744 A CN109857744 A CN 109857744A CN 201910117031 A CN201910117031 A CN 201910117031A CN 109857744 A CN109857744 A CN 109857744A
Authority
CN
China
Prior art keywords
sparse tensor
data
index
tensor data
sparse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910117031.8A
Other languages
English (en)
Other versions
CN109857744B (zh
Inventor
李翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Suiyuan Intelligent Technology Co ltd
Shanghai Suiyuan Technology Co ltd
Original Assignee
Shanghai Suiyuan Technology Co Ltd
Shanghai Suiyuan Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Suiyuan Technology Co Ltd, Shanghai Suiyuan Intelligent Technology Co Ltd filed Critical Shanghai Suiyuan Technology Co Ltd
Priority to CN201910117031.8A priority Critical patent/CN109857744B/zh
Publication of CN109857744A publication Critical patent/CN109857744A/zh
Application granted granted Critical
Publication of CN109857744B publication Critical patent/CN109857744B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例公开了一种稀疏张量计算方法、装置、设备和存储介质,该方法包括获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引;将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理;将计算结果和所述索引进行匹配得到和所述稀疏张量数据对应的运算输出结果,输出所述运算输出结果。该方案提高了数据运算效率。

Description

稀疏张量计算方法、装置、设备及存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种稀疏张量计算方法、装置、设备及存储介质。
背景技术
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
张量包括标量、向量和线性算子,可以用坐标系统来表示,记作标量的数组。张量被广泛应用在基于深度神经网络领域中,用以表示大量神经元的权重信息。稀疏张量指大部分元素为零的张量,这种张量普遍存在于训练好的深度学习模型中。如何能高效快速的完成稀疏张量的计算,对于提高神经网络计算具有重大意义。
目前稀疏张量优化方法主要解决张量的存储问题,对于张量计算缺乏合理的优化机制,使得数据运算效率较低。
发明内容
本发明实施例提供了一种稀疏张量计算方法、装置、设备及存储介质,提高了数据运算效率。
第一方面,本发明实施例提供了一种稀疏张量计算方法,该方法包括:
获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引;
将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理;
将计算结果和所述索引进行匹配得到和所述稀疏张量数据对应的运算输出结果,输出所述运算输出结果。
第二方面,本发明实施例还提供了一种稀疏张量计算装置,该装置包括:
数据获取模块,用于获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引;
数据处理模块,用于将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理;
数据输出模块,用于将计算结果和所述索引进行匹配得到和所述稀疏张量数据对应的运算输出结果,输出所述运算输出结果。
第三方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所述的稀疏张量计算方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例所述的稀疏张量计算方法。
本发明实施例中,获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引;将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理;将计算结果和所述索引进行匹配得到和所述稀疏张量数据对应的运算输出结果,输出所述运算输出结果,该方案提高了数据运算效率。
附图说明
图1为本发明实施例提供的一种稀疏张量计算方法的流程图;
图2为本发明实施例提供的另一种稀疏张量计算方法的流程图;
图2a为本发明实施例提供的一种稀疏张量计算方法对应的硬件结构示意图;
图3为本发明实施例提供的另一种稀疏张量计算方法的流程图;
图4为本发明实施例提供的另一种稀疏张量计算方法的流程图;
图5为本发明实施例提供的一种稀疏张量计算装置的结构框图;
图6为本发明实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
图1为本发明实施例提供的一种稀疏张量计算方法的流程图,本实施例可适用于对稀疏矩阵进行计算处理,该方法可以由设备如计算机来执行,具体包括如下步骤:
步骤S101、获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引。
张量包括标量、向量和线性算子,可以用坐标系统来表示,记作标量的数组。张量被广泛应用在基于深度神经网络领域中,用以表示大量神经元的权重信息。
其中,稀疏张量指大部分元素为零的张量,这种张量普遍存在于训练好的深度学习模型中,如何快速高效的完成针对稀疏张量的计算具有重要意义。
在一个实施例中,获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引,其中该稀疏张量数据可以包括一个或多个稀疏张量。其中,稀疏张量数据中的非零元素指元素值不为0的元素,示例性的,以3*3矩阵为例,矩阵的第一行元素值分别为[0,1,0],矩阵第二行元素为[0,0,0],矩阵第三行元素为[0,0,2],则非零元素即为该3*3矩阵中第一行第二列对应的元素以及第三行第三列对应的元素。其中,索引即表示该非零元素在稀疏张量中对应的位置,如前例中的“第一行第二列”和“第三行第三列”组成了该稀疏张量非零元素的索引。
在一个实施例中,所述获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引包括:获取稀疏张量数据,对所述稀疏张量数据进行压缩,得到压缩稀疏张量数据,所述压缩稀疏张量数据包括单独存储的非零元素以及对应的索引。示例性的,具体的压缩方式可以是基于行的稀疏张量的压缩,如CSR(Compressed Sparse Row)压缩,还可以是基于列的稀疏张量的压缩,如CSC(Compressed Sparse Column)压缩,还可以采用使用下标的压缩格式,如使用三元组(如xyz三元组,x表示行、y表示列列和z表示x行y列对应的元素的数值)的方式。上述压缩格式的数据中,稀疏张量的非零元素的值和对应的下标(索引)相互分开存储。由此,通过对稀疏张量数据进行压缩后直接得到稀疏张量数据中的非零元素以及索引。
在一个实施例中,所述获取稀疏张量数据,对所述稀疏张量数据进行压缩包括:通过数据通道接收所述稀疏张量数据,在所述稀疏张量数据的传输过程中进行压缩。示例性的,原始的稀疏张量数据存储在主机存储单元中,在读取该原始的稀疏张量将其转存到设备存储的过程中对该原始的稀疏张量进行压缩得到压缩格式的压缩稀疏张量数据,即得到稀疏张量对应的非零元素和索引。由此,节省了在设备存储中进行稀疏张量压缩导致的压缩效率低、占用存储空间的问题。
步骤S102、将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理。
在一个实施例中,将非零元素对应的元素数值转存至设定存储空间,该设定的存储空间可以是下一级缓存也可以是当前存储空间(设备存储)中开辟的一段存储空间,用于计算单元读取该设定存储空间中的数据内容(即稀疏张量的非零元素值)进行计算处理。如计算单元对非零元素的值进行累加处理或者深度学习中的复杂逻辑处理等。
步骤S103、将计算结果和所述索引进行匹配得到和所述稀疏张量数据对应的运算输出结果,输出所述运算输出结果。
在一个实施例中,当计算单元对非零元素计算完毕得到计算结果后,相应的将该计算结果和之前得到的稀疏张量的索引进行匹配,以得到完整的运算结果并解压缩输出至主机存储,其中,该解压缩的过程可在由设备存储输出至主机存储的传输过程中完成,不占用额外的存储空间,提高了数据压缩效率。
由上述方案可知,在对稀疏张量进行计算时,单独存储并获取非零元素值进行计算,提高了稀疏张量的计算效率,同时,无需将稀疏张量的索引进一步进行存储,节省了存储空间。
图2为本发明实施例提供的另一种稀疏张量计算方法的流程图,可选的,将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理包括:将所述非零元素对应的元素数值从初级缓存转存至二级缓存空间中;将所述元素数值从二级缓存空间转存至一级缓存空间中,并从所述一级缓存空间中读出所述元素数值至计算单元进行计算处理;其中,所述一级缓存空间小于所述二级缓存空间,所述一级缓存空间和所述计算单元之间的硬件存储位置近于所述二级缓存空间和所述计算单元之间的硬件存储位置。如图2所示,技术方案具体如下:
步骤S201、获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引。
步骤S202、将所述非零元素对应的元素数值从初级缓存转存至二级缓存空间中。
步骤S203、将所述元素数值从二级缓存空间转存至一级缓存空间中,并从所述一级缓存空间中读出所述元素数值至计算单元进行计算处理。
其中,一级缓存空间小于所述二级缓存空间,所述一级缓存空间和所述计算单元之间的硬件存储位置近于所述二级缓存空间和所述计算单元之间的硬件存储位置。图2a为本发明实施例提供的一种稀疏张量计算方法对应的硬件结构示意图,如图2a所示,原始输入稀疏张量由主机存储传输至设备存储,传输过程完成稀疏张量的压缩在设备存储中得到压缩格式的稀疏张量数据,包括稀疏张量的非零值以及稀疏张量非零值的索引,将该非零值转存至L2级缓存后进一步转存至L1级缓存用以供计算单元计算,L1缓存的硬件位置更接近计算单元,进一步提高了数据计算效率,同时将输出结果逐层反馈至设备存储和索引进行匹配后得到压缩的输出稀疏张量,通过解压缩处理传输至主机存储。其中,运算输出结果可以是单独存储在未记录数据的缓存中,也可以是覆盖原始的张量数据。
步骤S204、将计算结果和所述索引进行匹配得到和所述稀疏张量数据对应的运算输出结果,输出所述运算输出结果。
由上述可知,在对稀疏张量进行计算时,提取稀疏张量中的非零元素值并逐级进行缓存,提高了计算效率同时未缓存对应的索引,节省了存储空间。
图3为本发明实施例提供的另一种稀疏张量计算方法的流程图,可选的,所述将计算结果和所述索引进行匹配包括:将所述计算结果和所述索引进行连续存储;或记录所述计算结果和所述索引的数据起始位置和数据大小,根据所述数据起始位置和数据大小将所述将计算结果和所述索引进行关联。如图3所示,技术方案具体如下:
步骤S301、获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引。
步骤S302、将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理。
步骤S303、将所述计算结果和所述索引进行连续存储;或记录所述计算结果和所述索引的数据起始位置和数据大小,根据所述数据起始位置和数据大小将所述将计算结果和所述索引进行关联,输出所述运算输出结果。
在一个实施例中,所述将计算结果和所述索引进行匹配包括:将所述计算结果和所述索引进行连续存储。示例性的,将计算得到的计算结果和索引连续存储在存储单元中,如将索引数据连续存储在计算结果的下一个物理起始地址的位置,以将计算结果和对应的索引进行匹配,在解压缩的过程中依据连续存储的计算数据和索引得到完整的和原始输入的稀疏张量对应的运算输出结果。
在另一个实施例中,所述将计算结果和所述索引进行匹配包括:记录所述计算结果和所述索引的数据起始位置和数据大小,根据所述数据起始位置和数据大小将所述将计算结果和所述索引进行关联。该计算结果和索引的匹配方式中,并非将计算结果和索引连续存储而是记录二者的关联关系,由此解决了存储空间不允许连续存储或者需要再次转存带来的效率较低的问题。示例性的,计算结果存储在起始地址1000的位置,数据大小为1kb,索引存储在起始地址为8000的位置,数据大小为1kb。
由上述可知,通过对稀疏张量的非零元素进行单独计算,并将计算结果和索引进行匹配,提高了数据运算效率,节省了数据存储空间。
图4为本发明实施例提供的另一种稀疏张量计算方法的流程图,可选的,在所述确定所述稀疏张量数据中的非零元素以及索引之前,还包括:判断所述稀疏张量数据的运算是否包括元素之间的计算;相应的,所述确定所述稀疏张量数据中的非零元素以及索引包括:如果所述稀疏张量数据的运算不包括元素之间的计算,则确定所述稀疏张量数据中的非零元素以及索引。如图4所示,技术方案具体如下:
步骤S401、获取稀疏张量数据,确定和所述稀疏张量数据对应的运算操作类别。
其中,针对稀疏张量的运算操作类别可以是元素操作和聚集操作,其中聚集操作需要对稀疏张量中的元素之间进行计算,元素操作指对稀疏张量中的单个元素进行操作无需元素之间的操作,如对每个非零元素值加一,聚集操作将稀疏张量的每行元素求和。
步骤S402、判断所述操作类别是否为元素操作,如果是,则执行步骤S403,否则执行步骤S406。
步骤S403、确定所述稀疏张量数据中的非零元素以及索引。
步骤S404、将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理。
步骤S405、将计算结果和所述索引进行匹配得到和所述稀疏张量数据对应的运算输出结果,输出所述运算输出结果。
步骤S406、确定所述稀疏张量数据中的每一行的非零元素以及索引。
在一个实施例中,聚集操作以对稀疏张量的每一行中的元素之间进行操作为例,需要说明的是,聚集操作还可以是对稀疏张量的每一列或者某几行和某几列的操作,此处以对行操作为例。
步骤S407、将当前行的索引对所述当前行的非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理,将计算结果和所述当前行的索引进行匹配,当所有行均计算完毕后,输出运算输出结果。
其中,该设定存储空间可以是二级缓存和一级缓存,该一级缓存空间小于所述二级缓存空间,所述一级缓存空间和所述计算单元之间的硬件存储位置近于所述二级缓存空间和所述计算单元之间的硬件存储位置。
由上述可知,针对聚集操作运算,依据聚集操作的具体操作内容进行划分得到对应的数据元素和索引并进行遍历计算得到最终的运算输出结果,运算过程中将数据元素和索引存储至设定的存储空间,便于计算单元的运算,提高了数据计算效率。
图5为本发明实施例提供的一种稀疏张量计算装置的结构框图,该装置用于执行上述实施例提供的稀疏张量计算方法,具备执行方法相应的功能模块和有益效果。如图5所示,该装置具体包括:数据获取模块101、数据处理模块102和数据输出模块103,其中,
数据获取模块101,用于获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引。
在一个实施例中,获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引,其中该稀疏张量数据可以包括一个或多个稀疏张量。其中,稀疏张量数据中的非零元素指元素值不为0的元素,示例性的,以3*3矩阵为例,矩阵的第一行元素值分别为[0,1,0],矩阵第二行元素为[0,0,0],矩阵第三行元素为[0,0,2],则非零元素即为该3*3矩阵中第一行第二列对应的元素以及第三行第三列对应的元素。其中,索引即表示该非零元素在稀疏张量中对应的位置,如前例中的“第一行第二列”和“第三行第三列”组成了该稀疏张量非零元素的索引。
在一个实施例中,所述获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引包括:获取稀疏张量数据,对所述稀疏张量数据进行压缩,得到压缩稀疏张量数据,所述压缩稀疏张量数据包括单独存储的非零元素以及对应的索引。示例性的,具体的压缩方式可以是基于行的稀疏张量的压缩,如CSR(Compressed Sparse Row)压缩,还可以是基于列的稀疏张量的压缩,如CSC(Compressed Sparse Column)压缩,还可以采用使用下标的压缩格式,如使用三元组(如xyz三元组,x表示行、y表示列列和z表示x行y列对应的元素的数值)的方式。上述压缩格式的数据中,稀疏张量的非零元素的值和对应的下标(索引)相互分开存储。由此,通过对稀疏张量数据进行压缩后直接得到稀疏张量数据中的非零元素以及索引。
在一个实施例中,所述获取稀疏张量数据,对所述稀疏张量数据进行压缩包括:通过数据通道接收所述稀疏张量数据,在所述稀疏张量数据的传输过程中进行压缩。示例性的,原始的稀疏张量数据存储在主机存储单元中,在读取该原始的稀疏张量将其转存到设备存储的过程中对该原始的稀疏张量进行压缩得到压缩格式的压缩稀疏张量数据,即得到稀疏张量对应的非零元素和索引。由此,节省了在设备存储中进行稀疏张量压缩导致的压缩效率低、占用存储空间的问题。
数据处理模块102,用于将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理。
在一个实施例中,将非零元素对应的元素数值转存至设定存储空间,该设定的存储空间可以是下一级缓存也可以是当前存储空间(设备存储)中开辟的一段存储空间,用于计算单元读取该设定存储空间中的数据内容(即稀疏张量的非零元素值)进行计算处理。如计算单元对非零元素的值进行累加处理或者深度学习中的复杂逻辑处理等。
数据输出模块103,用于将计算结果和所述索引进行匹配得到和所述稀疏张量数据对应的运算输出结果,输出所述运算输出结果。
在一个实施例中,当计算单元对非零元素计算完毕得到计算结果后,相应的将该计算结果和之前得到的稀疏张量的索引进行匹配,以得到完整的运算结果并解压缩输出至主机存储,其中,该解压缩的过程可在由设备存储输出至主机存储的传输过程中完成,不占用额外的存储空间,提高了数据压缩效率。
由上述方案可知,在对稀疏张量进行计算时,单独存储并获取非零元素值进行计算,提高了稀疏张量的计算效率,同时,无需将稀疏张量的索引进一步进行存储,节省了存储空间。
在一个可能的实施例中,所述数据获取模块101具体用于:
获取稀疏张量数据,对所述稀疏张量数据进行压缩,得到压缩稀疏张量数据,所述压缩稀疏张量数据包括单独存储的非零元素以及对应的索引。
在一个可能的实施例中,所述数据获取模块101具体用于:
通过数据通道接收所述稀疏张量数据,在所述稀疏张量数据的传输过程中进行压缩。
在一个可能的实施例中,所述数据处理模块102具体用于:
将所述非零元素对应的元素数值从初级缓存转存至二级缓存空间中;
将所述元素数值从二级缓存空间转存至一级缓存空间中,并从所述一级缓存空间中读出所述元素数值至计算单元进行计算处理;
其中,所述一级缓存空间小于所述二级缓存空间,所述一级缓存空间和所述计算单元之间的硬件存储位置近于所述二级缓存空间和所述计算单元之间的硬件存储位置。
在一个可能的实施例中,所述数据输出模块103具体用于:
将所述计算结果和所述索引进行连续存储;或
记录所述计算结果和所述索引的数据起始位置和数据大小,根据所述数据起始位置和数据大小将所述将计算结果和所述索引进行关联。
在一个可能的实施例中,该装置还包括数据类型判断模块104,用于在所述确定所述稀疏张量数据中的非零元素以及索引之前,判断所述稀疏张量数据的运算是否包括元素之间的计算;
所述数据获取模块101具体用于:
如果所述稀疏张量数据的运算不包括元素之间的计算,则确定所述稀疏张量数据中的非零元素以及索引。
在一个可能的实施例中,所述数据获取模块101具体用于:
如果所述稀疏张量数据的运算包括元素之间的计算,则确定所述稀疏张量数据中的每一行的非零元素以及索引;
将当前行的索引对所述当前行的非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理,将计算结果和所述当前行的索引进行匹配。
图6为本发明实施例提供的一种设备的结构示意图,如图6所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图6中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203和输出装置204可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的稀疏张量计算方法对应的程序指令/模块(例如,稀疏张量计算装置中的尺寸信息确定模块101、入库位置确定模块102和控制指令输出模块103)。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的稀疏张量计算方法。
存储器202可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器202可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种稀疏张量计算方法,该方法包括:
获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引;
将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理;
将计算结果和所述索引进行匹配得到和所述稀疏张量数据对应的运算输出结果,输出所述运算输出结果。
在一个可能的实施例中,所述获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引包括:
获取稀疏张量数据,对所述稀疏张量数据进行压缩,得到压缩稀疏张量数据,所述压缩稀疏张量数据包括单独存储的非零元素以及对应的索引。
在一个可能的实施例中,所述获取稀疏张量数据,对所述稀疏张量数据进行压缩包括:
通过数据通道接收所述稀疏张量数据,在所述稀疏张量数据的传输过程中进行压缩。
在一个可能的实施例中,将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理包括:
将所述非零元素对应的元素数值从初级缓存转存至二级缓存空间中;
将所述元素数值从二级缓存空间转存至一级缓存空间中,并从所述一级缓存空间中读出所述元素数值至计算单元进行计算处理;
其中,所述一级缓存空间小于所述二级缓存空间,所述一级缓存空间和所述计算单元之间的硬件存储位置近于所述二级缓存空间和所述计算单元之间的硬件存储位置。
在一个可能的实施例中,所述将计算结果和所述索引进行匹配包括:
将所述计算结果和所述索引进行连续存储;或
记录所述计算结果和所述索引的数据起始位置和数据大小,根据所述数据起始位置和数据大小将所述将计算结果和所述索引进行关联。
在一个可能的实施例中,在所述确定所述稀疏张量数据中的非零元素以及索引之前,还包括:
判断所述稀疏张量数据的运算是否包括元素之间的计算;
相应的,所述确定所述稀疏张量数据中的非零元素以及索引包括:
如果所述稀疏张量数据的运算不包括元素之间的计算,则确定所述稀疏张量数据中的非零元素以及索引。
在一个可能的实施例中,如果所述稀疏张量数据的运算包括元素之间的计算,则确定所述稀疏张量数据中的每一行的非零元素以及索引;相应的,将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理:
将当前行的索引对所述当前行的非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理,将计算结果和所述当前行的索引进行匹配。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明实施例任意实施例所提供的稀疏张量计算方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明实施例可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例各个实施例所述的方法。
值得注意的是,上述稀疏张量计算装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。

Claims (10)

1.稀疏张量计算方法,其特征在于,包括:
获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引;
将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理;
将计算结果和所述索引进行匹配得到和所述稀疏张量数据对应的运算输出结果,输出所述运算输出结果。
2.根据权利要求1所述的方法,其特征在于,所述获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引包括:
获取稀疏张量数据,对所述稀疏张量数据进行压缩,得到压缩稀疏张量数据,所述压缩稀疏张量数据包括单独存储的非零元素以及对应的索引。
3.根据权利要求2所述的方法,其特征在于,所述获取稀疏张量数据,对所述稀疏张量数据进行压缩包括:
通过数据通道接收所述稀疏张量数据,在所述稀疏张量数据的传输过程中进行压缩。
4.根据权利要求1所述的方法,其特征在于,将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理包括:
将所述非零元素对应的元素数值从初级缓存转存至二级缓存空间中;
将所述元素数值从二级缓存空间转存至一级缓存空间中,并从所述一级缓存空间中读出所述元素数值至计算单元进行计算处理;
其中,所述一级缓存空间小于所述二级缓存空间,所述一级缓存空间和所述计算单元之间的硬件存储位置近于所述二级缓存空间和所述计算单元之间的硬件存储位置。
5.根据权利要求1所述的方法,其特征在于,所述将计算结果和所述索引进行匹配包括:
将所述计算结果和所述索引进行连续存储;或
记录所述计算结果和所述索引的数据起始位置和数据大小,根据所述数据起始位置和数据大小将所述将计算结果和所述索引进行关联。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在所述确定所述稀疏张量数据中的非零元素以及索引之前,还包括:
判断所述稀疏张量数据的运算是否包括元素之间的计算;
相应的,所述确定所述稀疏张量数据中的非零元素以及索引包括:
如果所述稀疏张量数据的运算不包括元素之间的计算,则确定所述稀疏张量数据中的非零元素以及索引。
7.根据权利要求6所述的方法,其特征在于,如果所述稀疏张量数据的运算包括元素之间的计算,则确定所述稀疏张量数据中的每一行的非零元素以及索引;相应的,将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理:
将当前行的索引对所述当前行的非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理,将计算结果和所述当前行的索引进行匹配。
8.稀疏张量计算装置,其特征在于,包括:
数据获取模块,用于获取稀疏张量数据,确定所述稀疏张量数据中的非零元素以及索引;
数据处理模块,用于将所述非零元素对应的元素数值转存至设定存储空间,对所述元素数值进行计算处理;
数据输出模块,用于将计算结果和所述索引进行匹配得到和所述稀疏张量数据对应的运算输出结果,输出所述运算输出结果。
9.一种设备,包括:处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的稀疏张量计算方法。
10.一种包含设备可执行指令的存储介质,其特征在于,所述设备可执行指令在由设备处理器执行时用于执行如权利要求1-7中任一项所述的稀疏张量计算方法。
CN201910117031.8A 2019-02-13 2019-02-13 稀疏张量计算方法、装置、设备及存储介质 Active CN109857744B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910117031.8A CN109857744B (zh) 2019-02-13 2019-02-13 稀疏张量计算方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910117031.8A CN109857744B (zh) 2019-02-13 2019-02-13 稀疏张量计算方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109857744A true CN109857744A (zh) 2019-06-07
CN109857744B CN109857744B (zh) 2020-03-20

Family

ID=66897970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910117031.8A Active CN109857744B (zh) 2019-02-13 2019-02-13 稀疏张量计算方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109857744B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489428A (zh) * 2019-08-26 2019-11-22 上海燧原智能科技有限公司 多维稀疏矩阵压缩方法、解压缩方法、装置、设备及介质
CN111415004A (zh) * 2020-03-17 2020-07-14 北京百度网讯科技有限公司 用于输出信息的方法和装置
WO2022143432A1 (zh) * 2020-12-30 2022-07-07 华为技术有限公司 一种矩阵计算装置、方法、系统、电路、芯片及设备
CN115034198A (zh) * 2022-05-16 2022-09-09 北京百度网讯科技有限公司 语言模型中嵌入模块计算优化的方法
CN115485695A (zh) * 2020-08-21 2022-12-16 墨子国际有限公司 用于分层权重稀疏卷积处理的方法和系统
CN115577760A (zh) * 2021-07-14 2023-01-06 华为技术有限公司 一种数据处理方法、系统及相关设备
CN117149778A (zh) * 2023-10-30 2023-12-01 之江实验室 稀疏张量运算加速方法、系统、计算机设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7463329B2 (en) * 2005-01-20 2008-12-09 Clemson University Materials for freezing light
CN104331404A (zh) * 2013-07-22 2015-02-04 中国科学院深圳先进技术研究院 一种基于用户手机上网数据的用户行为预测方法和装置
CN107038018A (zh) * 2016-02-03 2017-08-11 谷歌公司 访问多维张量中的数据
CN107169922A (zh) * 2017-05-16 2017-09-15 山东大学 基于张量稀疏表示的拓扑结构维持的图像配准方法
CN107609641A (zh) * 2017-08-30 2018-01-19 清华大学 稀疏神经网络架构及其实现方法
CN107944556A (zh) * 2017-12-12 2018-04-20 电子科技大学 基于块项张量分解的深度神经网络压缩方法
CN109117950A (zh) * 2018-08-01 2019-01-01 南京天数智芯科技有限公司 基于人工智能设备的分层稀疏张量压缩方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7463329B2 (en) * 2005-01-20 2008-12-09 Clemson University Materials for freezing light
CN104331404A (zh) * 2013-07-22 2015-02-04 中国科学院深圳先进技术研究院 一种基于用户手机上网数据的用户行为预测方法和装置
CN107038018A (zh) * 2016-02-03 2017-08-11 谷歌公司 访问多维张量中的数据
US20180107483A1 (en) * 2016-02-03 2018-04-19 Google Llc Accessing data in multi-dimensional tensors
CN107169922A (zh) * 2017-05-16 2017-09-15 山东大学 基于张量稀疏表示的拓扑结构维持的图像配准方法
CN107609641A (zh) * 2017-08-30 2018-01-19 清华大学 稀疏神经网络架构及其实现方法
CN107944556A (zh) * 2017-12-12 2018-04-20 电子科技大学 基于块项张量分解的深度神经网络压缩方法
CN109117950A (zh) * 2018-08-01 2019-01-01 南京天数智芯科技有限公司 基于人工智能设备的分层稀疏张量压缩方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489428A (zh) * 2019-08-26 2019-11-22 上海燧原智能科技有限公司 多维稀疏矩阵压缩方法、解压缩方法、装置、设备及介质
CN110489428B (zh) * 2019-08-26 2020-05-22 上海燧原智能科技有限公司 多维稀疏矩阵压缩方法、解压缩方法、装置、设备及介质
CN111415004A (zh) * 2020-03-17 2020-07-14 北京百度网讯科技有限公司 用于输出信息的方法和装置
CN111415004B (zh) * 2020-03-17 2023-11-03 阿波罗智联(北京)科技有限公司 用于输出信息的方法和装置
CN115485695A (zh) * 2020-08-21 2022-12-16 墨子国际有限公司 用于分层权重稀疏卷积处理的方法和系统
WO2022143432A1 (zh) * 2020-12-30 2022-07-07 华为技术有限公司 一种矩阵计算装置、方法、系统、电路、芯片及设备
CN115577760A (zh) * 2021-07-14 2023-01-06 华为技术有限公司 一种数据处理方法、系统及相关设备
CN115034198A (zh) * 2022-05-16 2022-09-09 北京百度网讯科技有限公司 语言模型中嵌入模块计算优化的方法
CN115034198B (zh) * 2022-05-16 2023-05-12 北京百度网讯科技有限公司 语言模型中嵌入模块计算优化的方法
CN117149778A (zh) * 2023-10-30 2023-12-01 之江实验室 稀疏张量运算加速方法、系统、计算机设备和存储介质
CN117149778B (zh) * 2023-10-30 2024-01-16 之江实验室 稀疏张量运算加速方法、系统、计算机设备和存储介质

Also Published As

Publication number Publication date
CN109857744B (zh) 2020-03-20

Similar Documents

Publication Publication Date Title
CN109857744A (zh) 稀疏张量计算方法、装置、设备及存储介质
CN109284313B (zh) 基于半监督学习的联邦建模方法、设备及可读存储介质
CN111275491B (zh) 一种数据处理方法及装置
TWI515668B (zh) 用於一狀態機中偵測之方法及系統
TWI515669B (zh) 用於狀態機中資料分析之系統與方法
CN111340614B (zh) 基于联邦学习的样本采样方法、设备及可读存储介质
US20170212968A1 (en) Circuit Verification
CN104915322A (zh) 一种卷积神经网络硬件加速方法及其axi总线ip核
CN102105869A (zh) 在外围设备上处理数据的系统和方法
CN108121688A (zh) 一种计算方法及相关产品
CN107818168A (zh) 题目搜索方法、装置及设备
CN109409504A (zh) 一种数据处理方法、装置、计算机及存储介质
CN111815432A (zh) 金融服务风险预测方法及装置
CN110795166B (zh) 一种数据处理方法及装置
CN110458875B (zh) 异常点对的检测方法、图像拼接方法、相应装置及设备
CN102968404B (zh) 地震资料的初至信息处理方法及装置
CN110988673B (zh) 电机转子故障检测方法、装置及终端设备
CN105975498A (zh) 数据查询的方法、装置和系统
WO2019127926A1 (zh) 一种稀疏神经网络的计算方法及计算装置、电子装置、计算机可读存储介质以及计算机程序产品
CN110442375B (zh) 移动支付产品渠道集成方法、装置、设备和存储介质
CN112749082B (zh) 一种基于de-th算法的测试用例生成方法及系统
CN114328619A (zh) 多要素数据匹配方法及装置
CN111242081B (zh) 视频检测方法、目标检测网络训练方法、装置及终端设备
CN114138342A (zh) Rocc协处理器接口模型及其自动生成工具和实现方法
CN106815858A (zh) 一种运动目标提取方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 201306 C, 888, west two road, Nanhui new town, Pudong New Area, Shanghai

Patentee after: SHANGHAI SUIYUAN INTELLIGENT TECHNOLOGY Co.,Ltd.

Country or region after: China

Patentee after: Shanghai Suiyuan Technology Co.,Ltd.

Address before: 201306 C, 888, west two road, Nanhui new town, Pudong New Area, Shanghai

Patentee before: SHANGHAI SUIYUAN INTELLIGENT TECHNOLOGY Co.,Ltd.

Country or region before: China

Patentee before: SHANGHAI ENFLAME TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address