一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据压缩方法、数据解压缩方法、装置及电子设备与流程

2021-12-17 21:23:00 来源:中国专利 TAG:


1.本技术涉及数据压缩技术领域,更具体地,涉及一种数据压缩方法、数据解压缩方法、装置及电子设备。


背景技术:

2.随着深度学习技术的进步,越来越多的深度学习算法开始部署在手机等电子设备上,为了能够在电子设备上运行神经网络算法,电子设备上会配置npu(neural processing unit,嵌入式神经网络处理器)。然而,神经网络的某些中间结果存储需求过大,使得无法完全暂存于npu,需要先将该中间结果写入ddr(double data rate,双倍速率同步动态随机存储器)中,当有需要时再将中间结果从ddr中读入npu。但由于ddr的带宽有限,大数据量的读写会产生很大的延迟,极大地制约了对速度要求极高的神经网络算法在微型终端设备上的应用。在此背景下,对神经网络中间结果进行压缩成为研究热点。
3.但是,相关的压缩算法还存在压缩效率低下的问题。


技术实现要素:

4.鉴于上述问题,本技术提出了一种数据压缩方法、数据解压缩方法、装置及电子设备,以实现改善上述问题。
5.第一方面,本技术提供了一种数据压缩方法,应用于电子设备,所述方法包括:获取待压缩数据;通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概率分布参数;基于算数编码器以及所述第一概率分布参数对所述中间压缩结果进行编码,得到第一编码,基于算数编码器以及所述第二概率分布参数对所述待压缩数据进行编码,得到第二编码,所述第二编码为所述待压缩数据的压缩结果。
6.第二方面,本技术提供了一种数据解压缩方法,应用于电子设备,所述方法包括:获取待解码信息,所述待解码信息包括第一概率分布参数、第一编码以及第二编码,所述第二编码为待解压缩数据;将所述第一概率分布参数与所述第一编码输入算数解码器,获取第一解码;将所述第一解码结果输入解压缩网络模型,获取第二概率分布参数,所述解压缩网络模型为上采样网络,所述上采样网络为与所述解压缩网络模型对应的压缩网络模型中的上采样网络;将所述第二概率分布参数与所述第二编码输入算数解码器,获取第二解码,所述第二解码为所述待解压缩数据的解压缩结果。
7.第三方面,本技术提供了一种数据压缩装置,运行于电子设备,所述装置包括:数据获取单元,用于获取待压缩数据;参数获取单元,用于通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概率分布参数;数据压缩单元,用于基于算数编码器以及所述第一概率分布参数对所述中间压缩结果进行编码,得到第一编码,基于算数编码器以及所述第二概率分布参数对所述待压缩数据进行编码,得到第二编码,所述第二编码为
所述待压缩数据的压缩结果。
8.第四方面,本技术提供了一种数据解压缩装置,运行于电子设备,所述装置包括:数据获取单元,用于获取待解码信息,所述待解码信息包括第一概率分布参数、第一编码以及第二编码,所述第二编码为待解压缩数据;数据解压缩单元,用于将所述第一概率分布参数与所述第一编码输入算数解码器,获取第一解码;将所述第一解码结果输入解压缩网络模型,获取第二概率分布参数,所述解压缩网络模型为上采样网络,所述上采样网络为与所述解压缩网络模型对应的压缩网络模型中的上采样网络;将所述第二概率分布参数与所述第二编码输入算数解码器,获取第二解码,所述第二解码为所述待解压缩数据的解压缩结果。
9.第五方面,本技术提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
10.第六方面,本技术提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现上述方法的步骤。
11.第七方面,本技术提供的一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
12.本技术提供的一种数据压缩方法、数据解压缩方法、装置及电子设备,在获取待压缩数据后,通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概率分布参数,基于算数编码器以及所述第一概率分布参数对所述中间压缩结果进行编码,得到第一编码,基于算数编码器以及所述第二概率分布参数对所述待压缩数据进行编码,得到第二编码,所述第二编码为所述待压缩数据的压缩结果。通过上述方式使得,可以基于待压缩数据的概率分布特性以及由压缩网络模型得到的与待压缩数据概率分布相对应的第二概率分布参数对待压缩数据进行压缩,提高了压缩效率。
附图说明
13.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
14.图1示出了本技术实施例提出的一种数据压缩方法的流程图;
15.图2示出了本技术图1中s120的一种实施例方式的流程图;
16.图3示出了本技术提出的一种压缩网络模型的示意图;
17.图4示出了本技术提出的一种下采样模块的示意图;
18.图5示出了本技术提出的一种上采样模块的示意图;
19.图6示出了本技术提出的一种算数编码的示意图;
20.图7示出了本技术另一实施例提出的一种数据压缩方法的流程图;
21.图8示出了本技术再一实施例提出的一种数据压缩方法的流程图;
22.图9示出了本技术实施例提出的一种数据解压缩方法的流程图;
23.图10示出了本技术提出的一种算数解码的示意图;
24.图11示出了本技术提出的一种解压缩网络模型的示意图;
25.图12示出了本技术提出的一种数据压缩和解压缩方法的应用场景示意图;
26.图13示出了本技术实施例提出的一种数据压缩装置的结构框图;
27.图14示出了本技术实施例提出的一种数据解压缩装置的结构框图;
28.图15示出了本技术提出的一种电子设备的结构框图;
29.图16是本技术实施例的用于保存或者携带实现根据本技术实施例的参数获取方法的程序代码的存储单元。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.随着深度学习技术的进步,越来越多的深度学习算法开始部署在手机等电子设备上,为了能够在电子设备上运行神经网络算法,电子设备上会配置npu(neural processing unit,嵌入式神经网络处理器)。然而,神经网络的某些中间结果存储需求过大,使得无法完全暂存于npu,需要先将该中间结果写入ddr(double data rate,双倍速率同步动态随机存储器)中,当有需要时再从ddr中读入npu。但由于ddr的带宽有限,大数据量的读写会产生很大的延迟,极大地制约了对速度要求极高的神经网络算法在微型终端设备上的应用。在此背景下,对神经网络中间结果进行压缩成为研究热点。
32.发明人在对相关压缩方法的研究中发现,目前常用的压缩算法主要是基于数据的重复出现次数对数据进行压缩的,可能会导致压缩效率低下的问题。
33.因此,发明人提出了本技术中的一种数据压缩方法、数据解压缩方法、装置及电子设备,在获取待压缩数据后,通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概率分布参数,基于算数编码器以及所述第一概率分布参数对所述中间压缩结果进行编码,得到第一编码,基于算数编码器以及所述第二概率分布参数对所述待压缩数据进行编码,得到第二编码,所述第二编码为所述待压缩数据的压缩结果。通过上述方式使得,可以基于待压缩数据的概率分布特性以及由压缩网络模型得到的与待压缩数据概率分布相对应的第二概率分布参数对待压缩数据进行压缩,提高了压缩效率。
34.请参阅图1,本技术提供的一种数据压缩方法,应用于电子设备,所述方法包括:
35.s110:获取待压缩数据。
36.其中,待压缩数据为准备进行压缩的数据。并且,在将本技术实施例体提供的数据压缩方法应用在不同场景中时该待压缩数据可以对应不同。
37.可选的,该待压缩数据可以为神经网络的中间结果,示例性的,该中间结果可以为神经网络所提取的中间特征、神经网络隐藏层的超参数等。
38.可选的,该待压缩数据可以为图像、神经网络模型的权重等。
39.s120:通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概
率分布参数。
40.其中,第一概率分布参数可以用于反映所述中间压缩结果的概率分布状态,第二概率分布参数可以用于反映所述待压缩数据的概率分布状态。
41.可选的,所述待压缩数据和所述中间压缩结果的概率分布可以为高斯分布,所述第一概率分布参数为所述中间压缩结果高斯分布的均值和方差,所述第二概率分布参数为所述待压缩数据高斯分布的均值和方差。
42.其中,作为一种方式,所述压缩网络模型包括下采样网络和上采样网络。如图2所示,通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概率分布参数,包括:
43.s121:将所述待压缩数据输入所述下采样网络,得到所述下采样网络输出的所述中间压缩结果与所述第一概率分布参数。
44.s122:将所述中间压缩结果输入到所述上采样网络,得到所述上采样网络输出的所述第二概率分布参数。
45.如图3所示,示出了一种压缩网络模型的结构示意图,图3中所示的压缩网络模型包括下采样网络和上采样网络两部分。其中,该下采样网络可以有三个下采样模块(downsampling),该上采样网络可以包括三个上采样模块(upsampling)。
46.如图4所示,每个下采样模块可以有一个3*3大小的卷积、一个激活函数(leaky_relu)、一个2*2的平局池化。如图5所示,每个上采样模块可以有一个3*3大小的反卷积、一个激活函数(leaky_relu)。其中,卷积和反卷积的strides可以为2,padding可以为same padding,这样可以使待压缩数据每进行一次padding,长和宽维度都正好变为该次padding前的1/2,在后续解码过程中会把待压缩数据padding的数据丢弃。
47.示例性的,如图3所示,所述待压缩数据为神经网络所提取的中间特征f,将该中间特征f输入该压缩网络模型,在经过下采样网络部分后,可以得到该中间特征f的中间压缩结果z以及第一概率分布参数z:mu、z:sigma,然后z再经过上采样网络部分可以得到第二概率分布参数f:mu和f:sigma。
48.其中,为了便于计算,z可以是该下采样网络部分输出取整后得到的,可以表示经过压缩的与f分布相关的信息,z的概率分布参数z:mu、z:sigma是可以通过压缩网络模型训练完成后得到的。可以理解的是,因为z可以表示经过压缩的与f分布相关的信息,所以z的分布情况是比f的分布情况更加简单的,因此,可以使用固定的概率分布参数来描述z,也就是说,z的概率分布参数z:mu、z:sigma为固定值,这个值在该压缩网络模型训练完成后就固定不变了。
49.通过将所述待压缩数据输入到压缩网络模型得到该待压缩数据的中间压缩结果,再由该中间压缩结果得到与该待压缩数据的概率分布对应的第二概率分布参数,可以使得该待压缩数据的概率分布对应的第二概率分布参数更为准确,并且待压缩数据的概率分布参数是通过压缩网络模型基于待压缩数据得到的,也就是说压缩网络模型可以自适应地得到与待压缩数据相对应的概率分布参数。
50.作为另一种方式,为了获得更为准确的压缩网络模型,可以对上述压缩网络模型进行改进。这种改进可以是;增大卷积核的大小,例如,将上述卷积与反卷积的大小(3
×
3)
改为5
×
5,这样可以增加压缩网络模型的感受野,学习到更多的信息;增加压缩网络模型的复杂程度,例如,可以在每一个上、下采样模块中叠加更多的卷积层,再例如,增加上、下采样网络中上、下采样模块的个数等。
51.可以理解的是,在当压缩网络模型结构较为复杂时,会使得该压缩网络模型出现过参化(overparameterization)的情况,进一步地使该压缩网络模型计算效率下降,为了应对高实时计算场景,还可以对该压缩网络模型进行剪枝操作,示例性的,可以对对训练好的压缩网络模型进行通道剪枝(channel pruning),主要通过以下两步操作进行:(1)通道的选择:可以通过lasso regression来完成,也就是在损失函数中添加l1范数对权重进行约束,以目标函数优化的角度考虑,l1范数可以使得权重中大部分值为0,使得通道内权重具有稀疏性,从而可以将稀疏的通道剪掉;(2)特征图重建(feature map reconstruction),可以基于最小二乘(linear least squares)来实现,使得剪枝前后输出特征图的变化尽可能的小。
52.需要说明的是,所述压缩网络模型是可以通过多种改进方式的结合所得到的。例如,可以同时增大卷积核的大小和上、下采样网络中上、下采样模块的个数等。示例性的,可以将上、下采样网络中的上、下采样模块数增加到5个,每一个上、下采样模块中的卷积核大小都变为5
×
5。
53.s130:基于算数编码器以及所述第一概率分布参数对所述中间压缩结果进行编码,得到第一编码,基于算数编码器以及所述第二概率分布参数对所述待压缩数据进行编码,得到第二编码,所述第二编码为所述待压缩数据的压缩结果。
54.示例性的,如图6所示,所述中间压缩结果为z,所述第一概率分布参数为z:mu、z:sigma,将z与z:mu、z:sigma输入算数编码器,可以得到第一编码,也就是z的编码结果cz,所述待压缩数据为f,所述第二概率分布参数为f:mu、f:sigma,将f与f:mu、f:sigma输入算数编码器,可以得到第二编码,也就是f的编码结果cf,其中,cf为f的压缩结果。
55.本实施例提供的一种数据压缩方法,在获取待压缩数据后,通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概率分布参数,基于算数编码器以及所述第一概率分布参数对所述中间压缩结果进行编码,得到第一编码,基于算数编码器以及所述第二概率分布参数对所述待压缩数据进行编码,得到第二编码,所述第二编码为所述待压缩数据的压缩结果。通过上述方式使得,可以基于待压缩数据的概率分布特性以及由压缩网络模型得到的与待压缩数据概率分布相对应的第二概率分布参数对待压缩数据进行压缩,提高了压缩效率。
56.请参阅图7,本技术提供的一种数据压缩方法,所述方法包括:
57.s210:通过压缩损失函数对待训练的压缩网络模型进行训练,得到所述压缩网络模型。
58.其中,压缩损失函数用于使待压缩数据与中间压缩结果的多个子数据所需存储空间的均值之和最小。
59.作为一种方式,所述压缩损失函数包括第一损失函数和第二损失函数,所述第一损失函数用于使所述中间压缩结果的多个子数据所需存储空间的均值最小,所述第二损失函数用于使所述待压缩数据的多个子数据所需存储空间的均值最小。可选的,该压缩损失
函数的计算公式可以为:
60.loss=

(bpp
f
bpp
z
)
61.其中,该公式的bpp
z
为第一损失函数,该公式中的bpp
f
为第二损失函数。
62.其中,第一损失函数的计算公式可以为:
[0063][0064]
该第一损失函数的计算公式中的z表示将待压缩数据输入到压缩网络模型所产生的中间压缩结果,该中间压缩结果可以表示经过压缩的与该待压缩数据分布相关的信息。该中间压缩结果包含多个子数据,每个子数据表示为z
i
,其中,每个子数据都有与该数据对应的概率分布参数z
i
:mu
i
和z
i
:sigma
i
。由此可以看出,式中的为z
i
的概率值,对该概率值进行一个以2为底的对数操作是为了得出该子数据z
i
需要多少比特数来表示,其中,比特数的大小对应于该子数据z
i
所需的存储空间的大小,若该子数据z
i
所需要的比特数越多,则表明该子数据z
i
所需要的存储空间也越多;若该子数据z
i
所需要的比特数越少,则表明该子数据z
i
所需要的存储空间也越少。通过对该中间压缩结果z中的每一个子数据所需的比特数进行求和再取平均的操作,可以用于表示该中间压缩结果z的多个子数据所需存储空间的均值。
[0065]
其中,第二损失函数的计算公式可以为:
[0066][0067]
该第二损失函数的计算公式中的f表示待压缩数据,该待压缩数据包含多个子数据,每个子数据表示为f
i
,其中,每个子数据都有与该数据对应的概率分布参数f
i
:mu
i
和f
i
:sigma
i
。由此可以看出,式中的为f
i
的概率值,对该概率值进行一个以2为底的对数操作是为了得出该子数据f
i
需要多少比特数来表示,其中,比特数的大小对应于该子数据f
i
所需的存储空间的大小,若该子数据f
i
所需要的比特数越多,则表明该子数据f
i
所需要的存储空间也越多;若该子数据f
i
所需要的比特数越少,则表明该子数据f
i
所需要的存储空间也越少。通过对该待压缩数据f中的每一个子数据所需的比特数进行求和再取平均的操作,可以用于表示该待压缩数据f的多个子数据所需存储空间的均值。
[0068]
需要说明的是,因为子数据z
i
、f
i
的概率非常小,是无限趋近于0的,所以,在计算中间压缩结果的子数据z
i
与待压缩数据的子数据f
i
的概率时,可以选取子数据z
i
、f
i
附近的一个区间,将该区间的概率值作为子数据z
i
、f
i
的概率值。示例性的,选取[fi

0.5,fi 0.5]这个区间的概率积分作为fi的概率。
[0069]
s220:获取待压缩数据。
[0070]
s230:通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概率分布参数。
[0071]
s240:基于算数编码器以及所述第一概率分布参数对所述中间压缩结果进行编
码,得到第一编码,基于算数编码器以及所述第二概率分布参数对所述待压缩数据进行编码,得到第二编码,所述第二编码为所述待压缩数据的压缩结果。
[0072]
需要说明的是,s210中压缩网络模型的训练过程可以在计算机工作站(computer workstation)上实施,计算机工作站是一种高性能的计算机,具有强大的数据运算与图形、图像处理能力;s220~s240可以在电子设备上实施,例如:手机、电脑等。
[0073]
本实施例提供的一种数据压缩方法,通过上述方式使得,可以基于待压缩数据的概率分布特性以及由压缩网络模型得到的与待压缩数据概率分布相对应的第二概率分布参数对待压缩数据进行压缩,提高了压缩效率。并且,在本实施例中,通过运用与压缩网络模型相适配的压缩损失函数对压缩网络模型进行训练,提高了压缩网络模型的准确性。
[0074]
请参阅图8,本技术提供的一种数据压缩方法,应用于电子设备,所述方法包括:
[0075]
s310:获取待压缩数据。
[0076]
s320:通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概率分布参数。
[0077]
s330:基于算数编码器以及所述第一概率分布参数对所述中间压缩结果进行编码,得到第一编码,基于算数编码器以及所述第二概率分布参数对所述待压缩数据进行编码,得到第二编码,所述第二编码为所述待压缩数据的压缩结果。
[0078]
s340:将所述第一编码与所述第二编码进行拼接得到第三编码,存储所述第三编码。
[0079]
其中,第三编码可以通过对第一编码与第二编码进行简单拼接得到,示例性的,第一编码为:aaaaaa,第二编码为:bbbbbb,则第三编码为aaaaaabbbbbb。
[0080]
可以理解的是,为了便于后续解压缩操作,可以对第三编码设置一个标志位,该标志位可以表明:在该标志位以前为第一编码,在该标志位以后为第二编码。
[0081]
本实施例提供的一种数据压缩方法,通过上述方式使得,可以基于待压缩数据的概率分布特性以及由压缩网络模型得到的与待压缩数据概率分布相对应的第二概率分布参数对待压缩数据进行压缩,提高了压缩效率。并且,在本实施例中,相对于分别存储第一编码和第二编码的方式来说,通过将第一编码与第二编码进行拼接得到第三编码,存储该第三编码的方式可以更加便于管理。
[0082]
请参阅图9,本技术提供的一种数据解压缩方法,应用于电子设备,所述方法包括:
[0083]
s410:获取待解码信息,所述待解码信息包括第一概率分布参数、第一编码以及第二编码,所述第二编码为待解压缩数据。
[0084]
其中,第一概率分布参数是与第一编码的解码结果的概率分布相对应的参数,示例性的,该第一编码的解码结果呈高斯分布,则第一概率分布参数包括均值和方差。
[0085]
其中,作为一种方式,待解码信息的获取可以通过获取第一概率分布参数、第一编码以及第二编码来实现。
[0086]
作为另一种方式,待解码信息的获取可以通过获取第一概率分布参数以及第三编码,对所述第三编码进行拆分得到第一编码以及第二编码来实现。其中,第三编码可以通过标志位对第一编码以及第二编码进行拆分,该标志位可以表明:在该标志位以前为第一编码,在该标志位以后为第二编码,示例性的,第三编码为aaaaaabbbbbb,根据标志位可以将
第三编码拆为:第一编码aaaaaa,第二编码bbbbbb。
[0087]
s420:将所述第一概率分布参数与所述第一编码输入算数解码器,获取第一解码。
[0088]
示例性的,如图10所示,第一概率分布参数为z:mu、z:sigma,第一编码为cz,将z:mu、z:sigma与cz输入算数解码器,可以得到第一解码z。
[0089]
s430:将所述第一解码输入解压缩网络模型,获取第二概率分布参数,所述解压缩网络模型为上采样网络,所述上采样网络为与所述解压缩网络模型对应的压缩网络模型中的上采样网络。
[0090]
其中,第二概率分布参数是与第二编码的解码结果的概率分布相对应的参数,也就是说,第二概率分布参数是与待解压缩数据的概率分布相对应的参数。示例性的,该待解压缩数据呈高斯分布,则第二概率分布参数包括均值和方差。
[0091]
示例性的,如图11所示,第一解码为z,将z输入上采样网络可以得到第二概率分布参数f:mu、f:sigma。
[0092]
s440:将所述第二概率分布参数与所述第二编码输入算数解码器,获取第二解码,所述第二解码为所述待解压缩数据的解压缩结果。
[0093]
示例性的,如图10所示,第二概率分布参数为f:mu、f:sigma,第二编码为cf,将f:mu、f:sigma与cf输入算数解码器,可以得到第二解码f,f即为解压缩结果。
[0094]
本实施例提供的一种数据解压缩方法,在获取待解码信息后,所述待解码信息包括第一概率分布参数、第一编码以及第二编码,所述第二编码为待解压缩数据,将所述第一概率分布参数与所述第一编码输入算数解码器,获取第一解码,将所述第一解码输入解压缩网络模型,获取第二概率分布参数,所述解压缩网络模型为上采样网络,所述上采样网络为与所述解压缩网络模型对应的压缩网络模型中的上采样网络,将所述第二概率分布参数与所述第二编码输入算数解码器,获取第二解码,所述第二解码为所述待解压缩数据的解压缩结果。通过上述方式使得,可以基于待解压缩数据的概率分布特性,通过待解码信息与由解压缩网络模型得到的与待解压缩数据概率分布相对应的第二概率分布参数对待解压缩数据进行解压缩,便于后续调用该解压缩数据。
[0095]
为了更好地理解本技术所有实施例的方案,下面在结合一种应用场景对本技术的数据压缩与解压缩方法进行介绍。
[0096]
请参阅图12,该应用场景可以由以下三部分组成:(1)npu:可以用于将待压缩数据输入压缩与解压缩模块和接收该压缩与解压缩模块输出的解压缩数据;(2)压缩与解压缩模块:可以用于实现数据的压缩与解压缩,该模块可以有压缩网络模型、算数编码器、解压缩网络模型、算数解码器,其中,解压缩网络模型可以为该压缩网络模型的上采样网络部分;(3)ddr:可以用于存储压缩与解压缩模块的输出结果。
[0097]
在数据压缩阶段:npu可以将待压缩数据输入压缩与解压缩模块中的压缩网络模型,该待压缩数据可以为神经网络的中间结果、图像、神经网络模型的权重等,其中,该中间结果可以为神经网络所提取的中间特征、神经网络隐藏层的超参数等。在压缩与解压缩模块中,通过压缩与解压缩模块中的压缩网络模型可以得到与该待压缩数据对应的中间结果、与该中间结果相对应的第一概率分布参数和与该待压缩数据相对应的第二概率分布参数。将该中间结果与该第一概率分布参数输入算数编码器,可以得到第一编码,将该待压缩数据与该第二概率分布参数输入算数编码器,可以得到第二编码,该第二编码即为压缩结
果。之后,可以将该第一概率分布参数、第一编码与第二编码存储在ddr中,其中,第一编码与第二编码可以进行拼接得到第三编码后,再对第三编码进行存储,该第三编码可以设置一个标志位对第一编码和第二编码进行区分。
[0098]
在数据解压缩阶段,ddr可以将第一概率分布参数、第一编码与第二编码输入到压缩与解压缩模块,该第二编码即为待解压缩数据,其中,若第一编码与第二编码是拼接为第三编码再存储于ddr中,可以先通过标志位将第三编码拆为第一编码与第二编码。在压缩与解压缩模块中,可以先将该第一概率分布参数与第一编码输入算数解码器,得到第一解码;再将该第一解码输入解压缩网络模型得到第二概率分布参数,该第二概率参数是与第二编码的解码结果的概率分布相对应的参数,也就是说,第二概率分布参数是与待解压缩数据的概率分布相对应的参数。将该第二概率分布参数与第二编码输入算数解码器可以得到第二解码,该第二解码即为解压缩结果。可以将该解压缩结果输入npu中进行后续计算。
[0099]
请参阅图13,本技术提供的一种数据压缩装置600,运行于电子设备,所述装置600包括:
[0100]
数据获取单元610:用于获取待压缩数据;
[0101]
参数获取单元620:用于通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概率分布参数;
[0102]
数据压缩单元630:用于基于算数编码器以及所述第一概率分布参数对所述中间压缩结果进行编码,得到第一编码,基于算数编码器以及所述第二概率分布参数对所述待压缩数据进行编码,得到第二编码,所述第二编码为所述待压缩数据的压缩结果。
[0103]
其中,所述压缩网络模型包括下采样网络和上采样网络,可选的,参数获取单元620,具体用于将所述待压缩数据输入所述下采样网络,得到所述下采样网络输出的所述中间压缩结果与所述第一概率分布参数;将所述中间压缩结果输入到所述上采样网络,得到所述上采样网络输出的所述第二概率分布参数。。
[0104]
其中,所述装置600还包括:
[0105]
模型训练单元640:用于通过压缩损失函数对待训练的压缩网络模型进行训练,得到所述压缩网络模型,所述压缩损失函数包括第一损失函数和第二损失函数,所述第一损失函数用于使所述中间压缩结果的多个子数据所需存储空间的均值最小,所述第二损失函数用于使所述待压缩数据的多个子数据所需存储空间的均值最小。
[0106]
数据存储单元650:用于将所述第一编码与所述第二编码进行拼接得到第三编码,存储所述第三编码。
[0107]
本技术提供的一种数据压缩装置,运行于电子设备,在获取待压缩数据后,通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概率分布参数,基于算数编码器以及所述第一概率分布参数对所述中间压缩结果进行编码,得到第一编码,基于算数编码器以及所述第二概率分布参数对所述待压缩数据进行编码,得到第二编码,所述第二编码为所述待压缩数据的压缩结果。通过上述方式使得,可以基于待压缩数据的概率分布特性以及由压缩网络模型得到的与待压缩数据概率分布相对应的第二概率分布参数对待压缩数据进行压缩,提高了压缩效率。
[0108]
请参阅图14,本技术提供的一种数据解压缩装置800,运行于电子设备,所述装置800包括:
[0109]
数据获取单元810,用于获取待解码信息,所述待解码信息包括第一概率分布参数、第一编码以及第二编码,所述第二编码为待解压缩数据;
[0110]
数据解压缩单元820,用于将所述第一概率分布参数与所述第一编码输入算数解码器,获取第一解码;将所述第一解码结果输入解压缩网络模型,获取第二概率分布参数,所述解压缩网络模型为上采样网络,所述上采样网络为与所述解压缩网络模型对应的压缩网络模型中的上采样网络;
[0111]
将所述第二概率分布参数与所述第二编码输入算数解码器,获取第二解码,所述第二解码为所述待解压缩数据的解压缩结果。
[0112]
其中,可选的,数据获取单元810,具体用于获取第一概率分布参数以及第三编码;对所述第三编码进行拆分得到第一编码以及第二编码。
[0113]
请参阅图15,基于上述的数据压缩和解压缩方法、装置,本技术实施例还提供的另一种可以执行前述终端控制方法的电子设备100。电子设备100包括相互耦合的一个或多个(图中仅示出一个)处理器102、存储器104。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
[0114]
其中,处理器102可以包括一个或者多个处理核。处理器102利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器104内的指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器102可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)、嵌入式神经网络处理器(neural processing unit,npu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信;npu用于处理视频、图像类的海量多媒体数据。可以理解的是,上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实现。
[0115]
存储器104可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read

only memory),还可以包括双倍速率同步动态随机存储器(double data rate,ddr)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
[0116]
请参考图16,其示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读存储介质1000中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
[0117]
计算机可读存储介质1000可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质1000包括非易失
性计算机可读存储介质(non

transitory computer

readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码1010的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1010可以例如以适当形式进行压缩。
[0118]
综上所述,本技术提供的一种数据压缩方法、数据解压缩方法、装置及电子设备,在获取待压缩数据后,通过压缩网络模型得到所述待压缩数据的中间压缩结果、与所述中间压缩结果的概率分布对应的第一概率分布参数和与所述待压缩数据的概率分布对应的第二概率分布参数,基于算数编码器以及所述第一概率分布参数对所述中间压缩结果进行编码,得到第一编码,基于算数编码器以及所述第二概率分布参数对所述待压缩数据进行编码,得到第二编码,所述第二编码为所述待压缩数据的压缩结果。通过上述方式使得,可以基于待压缩数据的概率分布特性以及由压缩网络模型得到的与待压缩数据概率分布相对应的第二概率分布参数对待压缩数据进行压缩,提高了压缩效率。
[0119]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献