[发明专利]分块压缩编码方法、装置、计算机设备及可读存储介质在审
申请号: | 202011017714.5 | 申请日: | 2020-09-24 |
公开(公告)号: | CN112152634A | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 杜力;杜源;朱俊翰 | 申请(专利权)人: | 南京大学 |
主分类号: | H03M7/40 | 分类号: | H03M7/40 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 逯长明;许伟群 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分块 压缩 编码 方法 装置 计算机 设备 可读 存储 介质 | ||
本申请公开了分块压缩编码方法、装置、计算机设备及可读存储介质,该方法中,首先获取原始数据集,提取原始数据集中所有数据的数值部分,组成待压缩数据集;按照预设的数据长度,将待压缩数据集划分为多个数据块,获取任一数据块的标志数据及标志位宽,针对任一所述数据块,将其包含的每个数据分别转换为位宽与其标志位宽一致的二进制数,获取对应的二进制数据块,实现所述数据块的压缩。上述方法中使用每个数据块各自对应的标志位宽,将所有数据转换为二进制数,压缩得到的数据将占用较小内存。
技术领域
本申请涉及数据压缩技术领域,尤其涉及分块压缩编码方法、装置、计算机设备及可读存储介质。
背景技术
神经网络模型中存在大量的权重数据,这些权重数据都是以二进制格式存储在计算机中。目前,为了减少这些权重数据所需的存储空间,常使用压缩编码的方式,减少所有权重数据占用的二进制位宽,以减小最终所需的内存空间。
一种常见的压缩编码方式为二进制标记(binary-mask)压缩编码,其压缩编码过程中需要建立两张表格,分别为记录表格和数据表格,参见图1,图中的表1即为记录表格,表2为数据表格。在针对原始数据集进行压缩编码时,若原始数据集中的某一数据为0,则在表1的对应位置中记0;若不为0,则在表1的对应位置中记1,并同时将该数据记入表2中。所有数据记入完成后,表1中的每个数据只会是0或1,仅占用一个比特的位宽,而表2中数据的二进制位宽与原本所占用的位宽一致,并未得到压缩。因此,原始数据集中0的占比越大,表2中的数据就会越少,binary-mask压缩编码的压缩效果则越好。
但是,神经网络模型的权重数据中,有很多都是集中在0附近但不为0的数据,这些数据的特点是:数值小、占比高且不为0,这种情况下,若使用binary-mask压缩编码对这些数据进行压缩,其压缩效果将变差。
发明内容
为了解决因神经网络权重数据大多为集中在0附近但不为0的数据,从而导致使用binary-mask压缩编码的压缩效果较差的问题,本申请通过以下实施例公开了分块压缩编码方法、装置、计算机设备及可读存储介质。
本申请第一方面公开了一种分块压缩编码方法,所述方法包括:
获取原始数据集,所述原始数据集中的任一数据为带符号二进制数,所述带符号二进制数包括符号部分及数值部分;
提取所述原始数据集中所有数据的数值部分,组成待压缩数据集;
按照预设的数据长度,将所述待压缩数据集划分为多个数据块,任一所述数据块中至少包含两个数据的数值部分;
获取任一所述数据块的标志数据及标志位宽,所述标志数据为所述数据块中二进制位宽最大的数据,所述标志位宽为所述标志数据的二进制位宽;
针对任一所述数据块,将其包含的每个数据分别转换为位宽与其标志位宽一致的二进制数,获取对应的二进制数据块,实现所述数据块的压缩。
可选的,在所述针对任一所述数据块,将其包含的每个数据分别转换为位宽与其标志位宽一致的二进制数,获取对应的二进制数据块,实现所述数据块的压缩之后,所述方法还包括:
针对任一所述二进制数据块,将其包含的所有二进制数按照比特位置进行纵向排列,获取对应的二进制矩阵;
针对所述二进制矩阵中预设的目标行进行压缩,所述目标行为零占比高的行。
可选的,针对所述二进制矩阵中预设的目标行进行压缩,包括:
获取所述二进制矩阵的总行数;
判断所述总行数为偶数还是为奇数;
若所述总行数为偶数,则将所述二进制矩阵的前n/2行设定为所述目标行;若所述总行数为奇数,则将所述二进制矩阵的前(n-1)/2行设定为所述目标行,其中,n为所述总行数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011017714.5/2.html,转载请声明来源钻瓜专利网。