编码方法和装置、计算设备及存储介质制造方法及图纸

技术编号:34252909 阅读:23 留言:0更新日期:2022-07-24 11:59
本发明专利技术提供一种编码方法和装置、计算设备及存储介质,其中编码方法包括:获取初始数据,按照预设排列规则对初始数据进行排序得到排列数据。将排列数据与预设二叉树进行匹配得到目标二叉树。根据目标二叉树对排列数据进行编码生成编码数据。通过按照预设排列规则对初始数据进行排序得到排列数据。将排列数据与预设二叉树进行匹配得到目标二叉树。根据目标二叉树对排列数据进行编码生成编码数据,提高了编码效率,减少了数据传输量。减少了数据传输量。减少了数据传输量。

Coding method and device, computing device and storage medium

【技术实现步骤摘要】
编码方法和装置、计算设备及存储介质


[0001]本专利技术涉及数据处理
,特别涉及一种编码方法。

技术介绍

[0002]目前,深度神经网络的权重(参数)数据量都非常大,动则几十兆甚至上百兆,即使是量化后的8bit权重数据量也仍然很大,这给NPU(神经网络处理单元)的带宽设计带来了巨大的挑战,使得带宽很难跟上NPU的内部运算速度,这样带宽必然就成了整个NPU推理神经网络的瓶颈。

技术实现思路

[0003]有鉴于此,本专利技术提供了一种编码方法。本说明书一个或者多个实施例同时涉及一种编码装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
[0004]根据本专利技术的第一方面,提供了一种编码方法,包括:
[0005]获取初始数据,按照预设排列规则对初始数据进行排序得到排列数据。
[0006]将排列数据与预设二叉树进行匹配得到目标二叉树。
[0007]根据目标二叉树对排列数据进行编码生成编码数据。
[0008]在一种可能的实现方式中,按照预设排列规则对初始数据进行排序得到排列数据,包括:
[0009]根据初始数据中每个源码的出现频率进行降序排列得到排列数据。
[0010]在一种可能的实现方式中,将排列数据与预设二叉树进行匹配得到目标二叉树,包括:
[0011]将排列数据中的第一数量的源码与预设二叉树的固定节点一一对应。以及
[0012]将排列数据中的第二数量的源码与预设二叉树的变长节点一一对应,得到目标二叉树。
[0013]在一种可能的实现方式中,固定节点的数量为240。
[0014]变长节点的数量为16。
[0015]在一种可能的实现方式中,根据目标二叉树对排列数据进行编码生成编码数据,包括:
[0016]将排列数据按预设数据长度进行分组得到分组数据。
[0017]根据目标二叉树将每组分组数据生成对应的编码数据。
[0018]在一种可能的实现方式中,还包括:
[0019]将每组编码数据设置数量标识数据生成编码比特数据。
[0020]在一种可能的实现方式中,还包括:
[0021]根据编码比特数据生成字节数据。
[0022]根据本专利技术的第二方面,提供了一种编码装置,包括:
[0023]排列模块,被配置为获取初始数据,按照预设排列规则对初始数据进行排序得到排列数据。
[0024]匹配模块,被配置为将排列数据与预设二叉树进行匹配得到目标二叉树。
[0025]编码模块,被配置为根据目标二叉树对排列数据进行编码生成编码数据。
[0026]根据本专利技术的第三方面,提供了一种计算设备,包括:
[0027]存储器和处理器。
[0028]存储器用于存储计算机可执行指令,处理器用于执行计算机可执行指令,该计算机可执行指令被处理器执行时实现上述编码方法的步骤。
[0029]根据本专利技术的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述编码方法的步骤。
[0030]根据本专利技术的第五方面,提供了一种计算机程序,其中,当计算机程序在计算机中执行时,令计算机执行上述编码方法的步骤。
[0031]本专利技术提供一种编码方法以及装置,其中编码方法包括:获取初始数据,按照预设排列规则对初始数据进行排序得到排列数据。将排列数据与预设二叉树进行匹配得到目标二叉树。根据目标二叉树对排列数据进行编码生成编码数据。通过按照预设排列规则对初始数据进行排序得到排列数据。将排列数据与预设二叉树进行匹配得到目标二叉树。根据目标二叉树对排列数据进行编码生成编码数据,提高了编码效率,减少了数据传输量。
附图说明
[0032]图1是本说明书一个实施例提供的一种编码方法的流程图。
[0033]图2是本说明书一个实施例提供的一种编码方法的队列示意图。
[0034]图3是本说明书一个实施例提供的一种编码装置的结构示意图。
[0035]图4是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
[0036]在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
[0037]在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、
“”
和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0038]应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0039]首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
[0040]掩码:掩码是一串二进制代码对目标字段进行位与运算,屏蔽当前的输入位。
[0041]内存(Memory):是计算机的重要部件之一,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
[0042]嵌入式神经网络处理器(NPU):采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。
[0043]哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。
[0044]在本说明书中,提供了一种编码方法,本说明书同时涉及一种编码装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
[0045]参见图1,图1示出了根据本说明书一个实施例提供的一种编码方法的流程图,具体包括以下步骤。
[0046]步骤102:获取初始数据,按照预设排列规则对初始数据进行排序得到排列数据。
[0047]在实际应用中,在Huffman原有算法上把原来的变长编码改为了出现频率最高的16个字节使用不大于8bit的变长编码,剩下的240个字节按出现频率依次对应240个固定码,固定码包括8个8bit码,48个10bit码和184个12bit码。
[0048]在一种可能的实现方式中,按照预设排列规则对初始数据进行排序得到排列数据,包括:
[0049]根据初始数据中每个源本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种编码方法,其特征在于,包括:获取初始数据,按照预设排列规则对所述初始数据进行排序得到排列数据;将所述排列数据与预设二叉树进行匹配得到目标二叉树;根据所述目标二叉树对所述排列数据进行编码生成编码数据。2.根据权利要求1所述的方法,其特征在于,所述按照预设排列规则对所述初始数据进行排序得到排列数据,包括:根据所述初始数据中每个源码的出现频率进行降序排列得到排列数据。3.根据权利要求1所述的方法,其特征在于,所述将所述排列数据与预设二叉树进行匹配得到目标二叉树,包括:将所述排列数据中的第一数量的源码与所述预设二叉树的固定节点一一对应;以及将所述排列数据中的第二数量的源码与所述预设二叉树的变长节点一一对应,得到目标二叉树。4.根据权利要求3所述的方法,其特征在于,所述固定节点的数量为240;所述变长节点的数量为16。5.根据权利要求1所述的方法,其特征在于,所述根据所述目标二叉树对所述排列数据进行编码生成编码数据,包括:将所述排列数据按预设数...

【专利技术属性】
技术研发人员:李晓宇欧阳鹏
申请(专利权)人:江苏清微智能科技有限公司
类型:发明
国别省市:

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

1