模型压缩方法、压缩模型解压缩方法、装置、电子设备与流程

未命名 10-09 阅读:132 评论:0


1.本技术涉及人工智能领域,尤其涉及一种模型压缩方法、压缩模型解压缩方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.现有的神经网络模型往往具有较高的存储和计算量,影响了其在资源受限设备上的应用。因此,压缩神经网络模型是一种可行的解决方案。
3.目前一般采用线性量化方法对模型进行压缩,然而由于这种压缩方法在模型量化压缩过程中将原模型中的参数数量压缩到了较小的规模,对模型的精度影响较大,导致模型预测的准确度降低。并且此种方法难以平衡压缩率和精度,从而不能有效压缩模型。


技术实现要素:

4.为了解决在不降低模型预测的准确度的情况下,获得较高的压缩率,本技术提供一种模型压缩方法、压缩模型解压缩方法、装置、电子设备、计算机可读存储介质。
5.第一方面,本技术提供一种模型压缩方法,包括:获取高精度模型;所述高精度模型是指所述模型的参数采用浮点数表达;将所述模型的参数转换为频域表达的参数;对所述频域表达的参数进行量化压缩,得到低精度频域表达的参数的压缩模型。
6.由于时域表达的参数相比频域表达的参数,数据量更加庞大,因此,通过将时域表达的参数转换为频域表达的参数,能够降低模型量化压缩时的计算量及存储空间的占用,从而能够实现更好的压缩效果,并且,与现有技术相比,本技术的模型压缩方法不会损失模型参数的数量,因此,压缩后的模型不会降低准确率,并且通过参数的量化压缩有效降低了模型参数的精度,因此,降低了模型对存储空间的占用。
7.可选地,所述将所述模型的参数转换为频域表达的参数,包括:采用傅里叶变换算法将所述模型的参数转换为频域表达的参数。
8.由于傅里叶变换是一种线性变换,能够将复杂信号分解为若干简单的正弦与余弦函数。且傅里叶变换存在快速算法,该快速算法具有周期性结构,在计算过程中可以采用分治法、递归等快速算法来降低计算复杂度。因此,采用傅里叶变换算法能够简单、快速高效地将时域表达的参数转换为频域表达的参数。
9.可选地,所述对所述频域表达的参数进行量化压缩,包括:采用非对称量化法对所述频域表达的参数进行量化压缩。
10.由于非对称量化能够更好的适应数据分布特征,为不同的数据分布提供不同的量化策略,且能够提供更高的量化精度,因此,采用非对称量化法对所述频域表达的参数进行量化压缩,能够得到精度更高、分布更均匀的量化结果。
11.可选地,在对所述频域表达的参数进行量化压缩,获得低精度频域表达的参数之前,所述方法还包括:对所述频域表达的参数进行压缩,以降低所述频域表达的参数矩阵的稀疏性。
12.由于矩阵中存在无用元素,无用元素的存在会占用存储空间和计算资源,且会放大计算过程中的误差及舍入误差,因此,对频域表达的参数进行压缩,去除无用元素,能够有效降低频域表达的参数矩阵的稀疏性,节约存储空间及计算资源,提高计算效率。可选地,所述对所述频域表达的参数进行压缩,包括:采用梯度压缩算法对所述频域表达的参数进行压缩。
13.由于梯度压缩实现简单,压缩与解压缩速度较快,适合用于实时数据的处理,且梯度压缩能够得到较高的压缩比,因此,采用梯度压缩算法对频域表达的参数进行压缩,能够更加快速地得到更高压缩比的模型。
14.可选地,所述采用梯度压缩算法对所述频域表达的参数进行压缩,包括:计算所述频域表达的参数的绝对值;对所述绝对值进行排序,获取排序后的绝对值的索引;将所述排序后的绝对值划分为预设数量的数值区间;将所述绝对值分别映射到对应的数值区间;将所述索引分别映射到各自绝对值对应的数值区间的索引;将映射后的索引压缩到单位数值区间,得到梯度压缩值;将所述梯度压缩值按照所述绝对值排序前的顺序重新排序。
15.通过将所述排序后的绝对值划分为预设数量的数值区间;将所述绝对值分别映射到对应的数值区间;将所述索引分别映射到各自绝对值对应的数值区间的索引,能够将频域表达的参数更加离散化,由于模型中参数数量巨大,直接采用频域表达的参数的绝对值进行梯度压缩,计算复杂度较高,且不易并行处理,因此,通过采用映射后的索引进行梯度压缩,能够减少计算和存储的复杂度。
16.第二方面,本技术提供一种压缩模型解压缩方法,包括:将压缩模型的低精度频域表达的参数转换为低精度时域表达的参数,得到解压缩后的模型;所述压缩模型为根据第一方面所述的模型压缩方法生成的,所述低精度频域表达的参数与低精度时域表达的参数的转换方法为第一方面所述参数与所述频域表达的参数转换方法的逆变换。
17.通过将所述压缩模型的低精度频域表达的参数转换为低精度时域表达的参数,能够得到解压缩后的低精度模型。
18.可选地,所述压缩模型采用傅里叶变换将时域表达的参数转换为频域表达的参数,所述将压缩模型的低精度频域表达的参数转换为低精度时域表达的参数,包括:采用傅里叶逆变换算法将所述压缩模型的低精度频域表达的参数转换为所述低精度时域表达的参数。
19.通过采用傅里叶逆变换算法能够快速高效的将压缩模型解压缩。
20.第三方面,本技术提供一种模型压缩装置,包括:获取模块,用于获取高精度模型;所述高精度模型是指所述模型的参数采用浮点数表达;第一参数转换模块,用于将所述模型的参数转换为频域表达的参数;模型压缩模块,用于对所述频域表达的参数进行量化压缩,得到低精度频域表达的参数的压缩模型。
21.第四方面,本技术提供一种压缩模型解压缩装置,包括:第二参数转换模块,用于将压缩模型的低精度频域表达的参数转换为低精度时域表达的参数,得到解压缩后的模型;所述压缩模型为根据第一方面所述的模型压缩方法生成的,所述低精度频域表达的参数与低精度时域表达的参数的转换方法为第一方面中所述参数与所述频域表达的参数转换方法的逆变换。
22.第五方面,本技术提供一种电子设备,包括:处理器及存储器;所述处理器用于执
行所述存储器中存储的程序,以实现如第一方面中任一项所述的方法。
23.第六方面,本技术提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如第一方面任一项所述的方法。
附图说明
24.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
25.图1为本技术实施例一提供的一种模型压缩方法的流程示意图;
26.图2为本技术实施例一提供的又一种模型压缩方法的流程示意图;
27.图3为本技术实施例三提供的一种模型压缩装置的结构示意图;
28.图4为本技术实施例四提供的一种压缩模型接压缩装置的结构示意图;
29.图5为本技术实施例五提供的电子设备的结构示意图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
31.本技术提供的方法,可以应用于资源受限设备。示例性地,在嵌入式设备上进行模型推理。由于嵌入式设备的存储资源和计算资源十分有限,因此,采用本技术提供的模型压缩的方法能够在不降低模型预测准确率的情况下获得更好的压缩率,以降低模型对存储空间的占用,提高模型的计算效率。
32.为了更好的理解本技术提供的模型压缩方法,下面对相关技术进行介绍。
33.相关模型压缩方法一般采用线性量化方法,这种方法是将原始数据映射到一个有限的量化级别集合中,通常使用等距或非等距量化方法来进行数据压缩。
34.然而,线性量化方法对模型精度影响较大并且难以平衡压缩率和精度。在模型量化压缩的过程中,由于将原模型中的参数数量压缩到了较小的规模,因此往往会对模型的精度产生一定的影响,尤其是在需要高精度的场景下可能会不够适用。而且这种方法虽然能够一定程度上减小模型文件的大小,但是在实际应用中往往需要平衡模型大小和模型精度之间的关系,由此产生互相制约的效应,难以同时追求较高的压缩率和较高的精度。
35.鉴于此,本技术提供一种模型压缩方法、压缩模型解压缩方法、装置、电子设备及计算机可读存储介质,该模型压缩方法通过将模型时域表达的参数转换为频域表达的参数,从而降低模型量化压缩的计算量和存储空间的占用,通过量化压缩频域表达的参数将高精度频域表达的参数转换为低精度频域表达的参数,在模型推理时,通过将低精度频域表达的参数还原回低精度时域表达的参数,在压缩模型参数数量的情况下,能够不降低模型预测的准确度,并实现更高的模型压缩率。
36.下面以具体实施例来详细描述本技术提供的模型压缩方法、压缩模型解压缩方法、装置、电子设备及计算机可读存储介质。
37.实施例一
0.66275-1.28717356j,-1.98658396+1.59172176j,-1.98658396-0.59172176j,-0.66275+1.28717356j,-1.67766721-0.63402646j,-0.42804883+1.51472284j]。
63.在一种可行的实施方式中,采用傅里叶变换算法将模型的参数转换为频域表达的参数,包括:
64.采用快速傅里叶变换算法将模型的参数转换为频域表达的参数。
65.其中,快速傅里叶变换(fft)是一种快速计算离散傅里叶变换(dft)的算法,时间复杂度为o(nlogn)。快速傅里叶变换(fft)是一种高效的计算傅里叶变换的算法。由于傅里叶变换计算复杂度较高,fft的出现极大地降低了计算成本。
66.fft算法通过将信号分成较小的子信号,并在计算傅里叶变换时重用计算结果,从而减少计算时间。fft算法可以使用递归和非递归的方法实现。使用递归方法时,可以将信号分成两个部分,并在计算完子信号的傅里叶变换后进行合并。使用非递归方法时,可以将信号重新排列后,按照不同的步长计算傅里叶变换,并在计算后将计算结果合并。
67.s103:对频域表达的参数进行量化压缩,得到低精度频域表达的参数的压缩模型。
68.其中,量化是指将模型参数从浮点数表达转换为定点数表达的过程,目的在于降低模型的精度,减少模型对存储空间的占用,并提高模型的推理速度。定点数是计算机表示数字的一种方式。定点数中约定计算机中小数点的位置,且这个位置固定不变,小数点前、后的数字,分别用二进制表示,然后组合起来就可以把这个数字在计算机中存储起来,这种表示方式叫做定点表示法,用这种方法表示的数字叫做定点数。
69.具体地,由于傅里叶变换后,得到频域表达的参数仍然为浮点数表达。因此,为了降低模型对存储空间的占用,需要采用量化压缩的方法将高精度频域表达的参数转换为定点数表达的低精度参数。
70.对模型进行量化的方法有很多种,在此不做具体限定。示例性地,有线性量化法和非线性量化法。线性量化法包括对称量化与非对称量化。非线性量化法包括对数量化、指数量化、拉普拉斯量化。
71.在一种可行的实施方式中,步骤s103对频域表达的参数进行量化压缩,包括:
72.采用非对称量化法对频域表达的参数进行量化压缩。
73.具体地,非对称量化法首先获取输入的高精度频域表达的参数的最大值和最小值,作为输入参数的边界值,将[qmin,qmax]作为映射的数值区间,根据输入参数的边界值、数值区间的最大值及最小值求缩放因子及偏移量,然后对频域表达的参数进行定点数转换。
[0074]
非对称量化法的公式可以表达为:
[0075][0076]
其中,max(x)为输入的频域表达的参数的最大值,min(x)为输入的频域表达的参数的最小值,qmax为映射的数值区间的最大值,qmin为映射的数值区间的最小值,z为偏移量,round()函数为向上取整。uint8为转换后的8bit定点数。
[0077]
示例性地,x=[-0.070477,-0.77491695,0.63402296],其中,max(x)=0.63402296,min(x)=-0.77491695。在int8类型下,qmax=255,qmin=0。代入上述公式可得:
[0078][0079][0080][0081]
可选地,为了评估量化效果,可以将量化后的低精度频域表达的参数反量化,将反量化结果与原始高精度频域表达的参数进行对比,计算误差,进行误差分析。
[0082]
在一种可行的实施方式中,为了避免频域表达的参数矩阵的稀疏性,在步骤s103、对频域表达的参数进行量化压缩,得到低精度频域表达的参数的压缩模型之前,还包括:
[0083]
对频域表达的参数进行压缩,以降低频域表达的参数矩阵的稀疏性。
[0084]
具体地,降低矩阵稀疏性的压缩方法有很多,在此不做具体限定。示例性地,可以为等比例压缩、线性预测压缩、小波压缩、梯度压缩。等比例压缩指将数据按照等比例缩小,比例因子为一个常数,用于减小数据的存储空间。线性预测压缩是一种基于线性预测模型的数据压缩方法,常见的有linefit,lpc等。小波压缩利用小波变换,能够将数据分解成多个尺度和不同频率上的系数,可以通过滤掉一部分系数来实现压缩,同时能够保持信号的多分辨率特性和一定的诗句-频率分辨率。
[0085]
在一种可行的实施方式中,对频域表达的参数进行压缩,以降低频域表达的参数矩阵的稀疏性,包括:
[0086]
采用梯度压缩算法对频域表达的参数进行压缩。
[0087]
如图2所示,在一种可行的实施方式中,采用梯度压缩算法对频域表达的参数进行压缩,包括:
[0088]
s1041、计算频域表达的参数的绝对值。
[0089]
具体地,由于频域表达的参数的绝对值可以反应出时域信号在特定频率上的响应强度,因此,对频域表达的参数求绝对值,可以用于特征提取。
[0090]
由于频域表达的参数是一个复数,对于一个复数z=x+jy,其中,x和y分别表示实部和虚部,可以使用以下公式来计算复数绝对值:
[0091][0092]
上述示例中,9个频域表达的参数的绝对值为:
[0093]
[1.1162,1.57404291,1.79347618,1.4477753,2.54560287,2.54560287,1.4477753,1.79347618,1.57404291]。
[0094]
s1042、对绝对值进行排序,获取排序后的绝对值的索引。
[0095]
其中,索引记录了排序前的频域表达的参数在数组中的下标。
[0096]
示例性地,经过傅里叶变换后的频域表达的参数的绝对值有[7,6,8],对应绝对值在数组中的下标为[0,1,2],则其索引为[0,1,2]。绝对值在升序排序后为[6,7,8],对应索引为[1,0,2]。
[0097]
s1043、将排序后的绝对值划分为预设数量的数值区间。
[0098]
其中,预设数量为大于频域表达的参数的绝对值数组内元素数目的正整数。
[0099]
具体地,频域表达的参数按照绝对值大小升序排序后,具有最大值和最小值,为了使频域表达的参数的绝对值更加离散,将该最大值和最小值作为离散区间的边界值,将该离散区间划分为预设数量的数值区间。
[0100]
示例性地,预设数量为10,将频域表达的参数的绝对值[6,7,8]分成10个数值区间,每两个相邻的数值构成一个数值区间,如下所示:
[0101]
[6,6.2,6.4,6.6,6.8,7,7.2,7.4,7.6,7.8,8]。
[0102]
s1044、将绝对值分别映射到对应的数值区间。将索引分别映射到各自绝对值对应的数值区间的索引。
[0103]
具体地,为了使频域表达的参数的绝对值更加离散,需要将绝对值分别映射到离散区间中各自对应的数值区间上。由于模型中参数量巨大,直接采用频域表达的参数的绝对值进行梯度压缩,计算复杂度较高,且不易并行处理,因此,一般采用各绝对值在离散区间的索引进行梯度压缩,因此,也需要将绝对值的索引值映射到离散区间中绝对值对应的数值区间的索引。
[0104]
示例性地,将频域表达的参数的绝对值[6,7,8]分别映射到离散区间[6,6.2,6.4,6.6,6.8,7,7.2,7.4,7.6,7.8,8]中数值为6,7,8的元素上,并将频域表达的参数绝对值的索引[0,1,2]映射到离散区间中对应元素6,7,8的索引[0,5,10]上。
[0105]
s1045、将映射后的索引压缩到单位数值区间,得到梯度压缩值。
[0106]
示例性地,单位数值区间为[-1,1],梯度压缩公式为:
[0107][0108]
其中,index为频域表达的参数的绝对值的索引映射到离散区间中对应数值区间的索引值,num
levels
是离散区间中数值区间的数量,n为频域表达的参数的绝对值的数目,gradii为第i个频域表达的参数的绝对值。其中,0≤i《n。
[0109]
将映射后的索引值[0,5,10]代入上述公式中,得到:
[0110][0111]
s1046、将梯度压缩值按照绝对值排序前的顺序重新排序。
[0112]
具体地,上述示例中的映射是以[6,7,8]来映射到[-0.77491695,-0.070447,0.63402296],所以需要还原回[7,6,8]的映射,顺序还原后的映射为[-0.070447,-0.77491695,0.63402296]。
[0113]
由于时域表达的参数相比频域表达的参数,数据量更加庞大,因此,通过将时域表达的参数转换为频域表达的参数,能够降低模型量化压缩时的计算量及存储空间的占用,从而能够实现更好的压缩效果,并且,与现有技术相比,本技术提供的方法在模型推理过程中会将频域表达的低精度参数还原回时域表达的低精度参数,并未损失模型参数数量,因此,压缩后的神经网络模型不会降低准确率,并且通过参数的量化压缩有效降低了模型参数的精度,因此,提高了模型推理的运算效率、降低了模型对存储空间的占用。
[0114]
实施例二
[0115]
为了用模型进行推理预测,需要对压缩模型进行解压缩,本技术实施例提供一种压缩模型解压缩方法,包括:
[0116]
将压缩模型的低精度频域表达的参数转换为低精度时域表达的参数,得到解压缩后的模型。压缩模型为根据实施例一中的任一项的模型压缩方法生成的,低精度频域表达的参数与低精度时域表达的参数的转换方法为实施例一中参数与频域表达的参数转换方法的逆变换。
[0117]
在一种可行的实施方式中,压缩模型采用傅里叶变换将时域表达的参数转换为频域表达的参数,将压缩模型的低精度频域表达的参数转换为低精度时域表达的参数,得到解压缩后的模型,包括:
[0118]
采用傅里叶逆变换算法将压缩模型的低精度频域表达的参数转换为低精度时域表达的参数。
[0119]
其中,傅里叶逆变换的公式为:
[0120][0121]
其中,n为信号长度,取值范围为非负整数:ai为频域表达的参数,取值为复数,i为频域表达的参数的下标;0≤i《n;k是参数在时域上的下标,0≤k《n;j是虚数单位;e为自然常数的底数;xk为转换后的时域表达的参数。
[0122]
经过傅里叶逆变换后,模型解压缩为低精度时域表达的参数,可以用于推理。
[0123]
为了弥补模型精度的量化偏差,可以对原始时域表达的参数与逆变换后的低精度时域表达的参数求差值,并将差值进行归一化处理,将归一化后的差值添加到逆变换后的低精度时域表达的参数中,实现时域表达的参数的更新。
[0124]
实施例三
[0125]
本技术实施例提供一种模型压缩装置300,如图3所示,模型压缩装置300包括:获取模块301、第一参数转换模块302、模型压缩模块303。
[0126]
获取模块301,用于获取高精度模型。高精度模型是指模型的参数采用浮点数表达。
[0127]
第一参数转换模块302,用于将模型的参数转换为频域表达的参数。
[0128]
模型压缩模块303,用于对频域表达的参数进行量化压缩,得到低精度频域表达的参数的压缩模型。
[0129]
可选地,第一参数转换模块302,具体用于采用傅里叶变换算法将模型的参数转换为频域表达的参数。
[0130]
可选地,模型压缩模块303,具体用于采用非对称量化法对频域表达的参数进行量化压缩。
[0131]
可选地,模型压缩装置300还包括参数压缩模块304。
[0132]
参数压缩模块304,用于对频域表达的参数进行压缩,以降低频域表达的参数矩阵的稀疏性。
[0133]
可选地,参数压缩模块304,具体用于采用梯度压缩算法对频域表达的参数进行压缩。
[0134]
可选地,参数压缩模块304,具体用于计算频域表达的参数的绝对值。对绝对值进行排序,获取排序后的绝对值的索引。将排序后的绝对值划分为预设数量的数值区间。将绝对值分别映射到对应的数值区间。将索引分别映射到各自绝对值对应的数值区间的索引。将映射后的索引压缩到单位数值区间,得到梯度压缩值。将梯度压缩值按照绝对值排序前的顺序重新排序。
[0135]
实施例四
[0136]
本技术实施例提供一种压缩模型解压缩装置400,如图4所示,包括第二参数转换模块401。
[0137]
第二参数转换模块401,用于将压缩模型的低精度频域表达的参数转换为低精度时域表达的参数,得到解压缩后的模型。压缩模型为根据实施例一的模型压缩方法生成的,低精度频域表达的参数与低精度时域表达的参数的转换方法为实施例一中参数与频域表达的参数转换方法的逆变换。
[0138]
可选地,第二参数转换模块401,具体用于当压缩模型采用傅里叶变换将时域表达的参数转换为频域表达的参数的情况下,采用傅里叶逆变换算法将压缩模型的低精度频域表达的参数转换为低精度时域表达的参数。
[0139]
实施例五
[0140]
本技术实施例提供一种电子设备500,如图5所示,包括处理器501及存储器502。处理器501用于执行存储器502中存储的一个或多个程序,以实现上述实施例一或实施例二所述的方法。
[0141]
可以理解,图5所示的结构仅为示意,电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。
[0142]
例如,处理器501和存储器502之间可以是通过通信总线的方式进行的连接。又例如,电子设备还可包括诸如显示器、鼠标、键盘等部件。
[0143]
在本技术实施例中,处理器501可以为中央处理器、微处理器、单片机等,但不作为限制。存储器502可以为随机存取存储器,只读存储器,可编程只读存储器,可擦除只读存储器,电可擦除只读存储器等,但不作为限制。
[0144]
在本技术实施例中,电子设备可以是,但不限于台式机、笔记本电脑、智能手机、智能穿戴设备、车载设备等实体设备,还可以是虚拟机等虚拟设备。另外,电子设备也不一定是单台设备,还可以是多台设备的组合,例如服务器集群,等等。
[0145]
本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、u盘、sd(secure digital memory card,安全数码卡)卡、mmc(multimedia card,多媒体卡)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一或实施例二所述的方法。在此不再赘述。
[0146]
在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0147]
在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0148]
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0149]
在本文中,多个是指两个或两个以上。
[0150]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种模型压缩方法,其特征在于,包括:获取高精度模型;所述高精度模型是指所述模型的参数采用浮点数表达;将所述模型的参数转换为频域表达的参数;对所述频域表达的参数进行量化压缩,得到低精度频域表达的参数的压缩模型。2.如权利要求1所述的模型压缩方法,其特征在于,所述将所述模型的参数转换为频域表达的参数,包括:采用傅里叶变换算法将所述模型的参数转换为频域表达的参数。3.如权利要求1所述的模型压缩方法,其特征在于,所述对所述频域表达的参数进行量化压缩,包括:采用非对称量化法对所述频域表达的参数进行量化压缩。4.如权利要求1所述的模型压缩方法,其特征在于,在对所述频域表达的参数进行量化压缩,获得低精度频域表达的参数之前,所述方法还包括:对所述频域表达的参数进行压缩,以降低所述频域表达的参数矩阵的稀疏性。5.如权利要求4所述的模型压缩方法,其特征在于,所述对所述频域表达的参数进行压缩,包括:采用梯度压缩算法对所述频域表达的参数进行压缩。6.如权利要求5所述的模型压缩方法,其特征在于,所述采用梯度压缩算法对所述频域表达的参数进行压缩,包括:计算所述频域表达的参数的绝对值;对所述绝对值进行排序,获取排序后的绝对值的索引;将所述排序后的绝对值划分为预设数量的数值区间;将所述绝对值分别映射到对应的数值区间;将所述索引分别映射到各自绝对值对应的数值区间的索引;将映射后的索引压缩到单位数值区间,得到梯度压缩值;将所述梯度压缩值按照所述绝对值排序前的顺序重新排序。7.一种压缩模型解压缩方法,其特征在于,包括:将所述压缩模型的低精度频域表达的参数转换为低精度时域表达的参数,得到解压缩后的模型;所述压缩模型为根据权利要求1所述的模型压缩方法生成的,所述低精度频域表达的参数与低精度时域表达的参数的转换方法为权利要求1中所述参数与所述频域表达的参数转换方法的逆变换。8.如权利要求7所述的压缩模型解压缩方法,其特征在于,所述压缩模型采用傅里叶变换将时域表达的参数转换为频域表达的参数,所述将所述压缩模型的低精度频域表达的参数转换为低精度时域表达的参数,包括:采用傅里叶逆变换算法将所述压缩模型的低精度频域表达的参数转换为所述低精度时域表达的参数。9.一种模型压缩装置,其特征在于,包括:获取模块,用于获取高精度模型;所述高精度模型是指所述模型的参数采用浮点数表达;第一参数转换模块,用于将所述模型的参数转换为频域表达的参数;
模型压缩模块,用于对所述频域表达的参数进行量化压缩,得到低精度频域表达的参数的压缩模型。10.一种压缩模型解压缩装置,其特征在于,包括:第二参数转换模块,用于将压缩模型的低精度频域表达的参数转换为低精度时域表达的参数,得到解压缩后的模型;所述压缩模型为根据权利要求1所述的模型压缩方法生成的,所述低精度频域表达的参数与低精度时域表达的参数的转换方法为权利要求1中所述参数与所述频域表达的参数转换方法的逆变换。11.一种电子设备,其特征在于,包括:处理器及存储器;所述处理器用于执行所述存储器中存储的程序,以实现如权利要求1至8中任一项所述的方法。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至8中任一项所述的方法。

技术总结
本申请提供一种模型压缩方法、压缩模型解压缩方法、装置、电子设备,所述模型压缩方法包括:获取高精度模型;所述高精度模型是指所述模型的参数采用浮点数表达;将所述模型的参数转换为频域表达的参数;对所述频域表达的参数进行量化压缩,得到低精度频域表达的参数的压缩模型。本申请提供的模型压缩方法,能够在不降低模型预测准确率的情况下,实现模型的有效压缩,获得较高的压缩率,提高计算速度,使得压缩后的模型在计算速度和存储空间方面都得到了优化。了优化。了优化。


技术研发人员:何必仕
受保护的技术使用者:慧眼奇智(广州)精密技术有限公司
技术研发日:2023.07.12
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐