The embodiment of this application discloses a data compression method and a related device. The method is applied to a neural network model with N layer structure. N is an integer greater than 1. The method includes: obtaining the output data set of layer I structure i n the neural network model, and the output data set includes at least one matrix of m*n. Both m and N are integers greater than 1, and I is any one of 1 to N. A matrix of M * n is used to segment the data packet, and the first M data packet is obtained. M is an integer greater than or equal to 1. The first M data packet is compressed and the second M data packet is obtained. The application embodiment can improve the data compression efficiency in the neural network model.
【技术实现步骤摘要】
数据压缩方法及相关装置
本申请涉及神经网络
,具体涉及一种数据压缩方法及相关装置。
技术介绍
随着人工智能的发展,神经网络扮演的角色越来越重,特别是卷积神经网络(ConvolutionalNeuralNetworks,CNN)。在神经网络模型的运算过程中,数据、权值对系统的带宽需求较大,降低神经网络模型对带宽的需求迫在眉睫。目前,采用列压缩(CompressedColumnStorage,CCS)和行压缩(CompressedRowStorage,CRS)对神经网络模型中的数据进行压缩,这两种压缩方式的压缩效率不高。
技术实现思路
本申请实施例提供一种数据压缩方法及相关装置,用于提高神经网络模型中的数据的压缩效率。第一方面,本申请实施例提供一种数据压缩方法,应用于包括N层结构的神经网络模型,所述N为大于1的整数,所述方法包括:获取所述神经网络模型中的第i层结构的输出数据集合,所述输出数据集合包括至少一个m×n的矩阵,所述m和所述n均为大于1的整数,所述i为1至所述N中的任意一个;对所述至少一个m×n的矩阵进行数据包分割,得到分割后的M个第一数据包,所述M为大于或等于1的整数;对所述M个第一数据包进行数据压缩,得到数据压缩后的两个第二数据包。在一个可能的示例中,所述获取所述神经网络模型中的第i层结构的输出数据集合,包括:当i=1时,获取所述神经网络模型中的第1层结构的输入数据集合,所述第1层结构的输入数据集合包括至少一个第一矩阵;获取所述第1层结构的权值数据集合,将所述第1层结构的权值数据集合进行解压缩,得到第二矩阵,所述第二矩阵为解压缩后的所述第1层结构 ...
【技术保护点】
1.一种数据压缩方法,其特征在于,应用于包括N层结构的神经网络模型,所述N为大于1的整数,所述方法包括:获取所述神经网络模型中的第i层结构的输出数据集合,所述输出数据集合包括至少一个m×n的矩阵,所述m和所述n均为大于1的整数,所述i为1至所述N中的任意一个;对所述至少一个m×n的矩阵进行数据包分割,得到分割后的M个第一数据包,所述M为大于或等于1的整数;对所述M个第一数据包进行数据压缩,得到数据压缩后的两个第二数据包。
【技术特征摘要】
1.一种数据压缩方法,其特征在于,应用于包括N层结构的神经网络模型,所述N为大于1的整数,所述方法包括:获取所述神经网络模型中的第i层结构的输出数据集合,所述输出数据集合包括至少一个m×n的矩阵,所述m和所述n均为大于1的整数,所述i为1至所述N中的任意一个;对所述至少一个m×n的矩阵进行数据包分割,得到分割后的M个第一数据包,所述M为大于或等于1的整数;对所述M个第一数据包进行数据压缩,得到数据压缩后的两个第二数据包。2.根据权利要求1所述的方法,其特征在于,所述获取所述神经网络模型中的第i层结构的输出数据集合,包括:当i=1时,获取所述神经网络模型中的第1层结构的输入数据集合,所述第1层结构的输入数据集合包括至少一个第一矩阵;获取所述第1层结构的权值数据集合,将所述第1层结构的权值数据集合进行解压缩,得到第二矩阵,所述第二矩阵为解压缩后的所述第1层结构的权值数据集合;基于所述至少一个第一矩阵和所述第二矩阵确定所述第1层结构的输出数据集合;当2≤i≤N时,获取所述神经网络模型中的第i-1层结构的输出数据集合,所述第i-1层结构的输出数据集合包括至少一个第三矩阵;获取所述第i层结构的权值数据集合,将所述第i层结构的权值数据集合进行解压缩,得到第四矩阵,所述第四矩阵为解压缩后的所述第i层结构的权值数据集合;基于所述至少一个第三矩阵和所述第四矩阵确定所述第i层结构的输出数据集合。3.根据权利要求1或2所述的方法,其特征在于,所述对所述至少一个m×n的矩阵进行数据包分割,得到分割后的M个第一数据包,包括:将所述至少一个m×n的矩阵进行数组转换,得到一维数组,所述一维数组为数组转换后的所述至少一个m×n的矩阵;将所述一维数组进行数据包分割,得到分割后的所述M个第一数据包,第1个第一数据包至第M-1个第一数据包中的每个第一数据包均包括P个数据,第M个第一数据包包括Q个数据,所述P为大于或等于1的整数,所述Q为大于或等于1且小于或等于所述P的整数。4.根据权利要求3所述的方法,其特征在于,所述对所述M个第一数据包进行数据压缩,得到数据压缩后的两个第二数据包,包括:获取第j个第一数据包的数据包信息,所述第j个第一数据包的数据包信息包括P个指示信号、第一数据集合和所述第j个第一数据包的长度,所述指示信号用于指示所述第j个第一数据包包括的P个数据中的每个数据是否为零,所述第一数据集合包括所述第j个第一数据包包括的P个数据中的至少一个非零数据,所述第j个第一数据包为所述第1个第一数据包至所述第M-1个第一数据包中的任意一个;对所述第1个第一数据包至所述第M-1个第一数据包中除所述第j个第一数据包之外的M-2个第一数据包执行相同的操作,得到所述M-2个第一数据包中的每个第一数据包的数据包信息;获取所述第M个第一数据包的数据包信息,所述第M个第一数据包的数据包信息包括Q个指示信号、第二数据集合和所述第M个第一数据包的长度,所述指示信号用于指示所述第M个第一数据包包括的Q个数据中的每个数据是否为零,所述第二数据集合包括所述第M个第一数据包包括的Q个数据中的至少一个非零数据;将所述第1个第一数据包至所述第M-1个第一数据包中的每个第一数据包包括的P个指示信号和第一数据集合组成第一子数据包,得到M-1个第一子数据包;将所述第M个第一数据包包括的Q个指示信号和第二数据集合组成第M个第一子数据包;基于所述M个第一数据包的排序将所述M-1个第一子数据包和所述第M个第一子数据包组成第1个第二数据包;基于所述M个第一数据包的排序将所述M个第一数据包的长度组成第2个第二数据包。...
【专利技术属性】
技术研发人员:王和国,李爱军,曹庆新,李炜,
申请(专利权)人:深圳云天励飞技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。