CN115688911A - 一种模型剪枝方法及装置 - Google Patents
一种模型剪枝方法及装置 Download PDFInfo
- Publication number
- CN115688911A CN115688911A CN202211436440.2A CN202211436440A CN115688911A CN 115688911 A CN115688911 A CN 115688911A CN 202211436440 A CN202211436440 A CN 202211436440A CN 115688911 A CN115688911 A CN 115688911A
- Authority
- CN
- China
- Prior art keywords
- model
- parameter information
- pruned
- pruning
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明提供一种模型剪枝方法及装置,该模型剪枝方法应用在车端,包括:获取待剪枝模型中每一网络层的第一参数信息,所述第一参数信息为原始参数信息;根据所述第一参数信息获取每一网络层输出通道的梯度值;根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值,所述计算量下降值为设定网络层进行通道剪枝之后的计算量下降值;根据所述梯度值以及所述计算量下降值确定待剪枝通道,并根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型。本发明从通道的梯度变化以及剪枝成本角度出发,确定对剪枝敏感度更低、计算量大的通道进行剪枝以提升模型剪枝的通用性以及效率。
Description
技术领域
本发明涉及模型压缩技术领域,尤其涉及一种模型剪枝方法及装置。
背景技术
随着人工智能技术的发展,神经网络模型的应用也越来越广泛。考虑到网络模型的参数多、运算量大,为了提高模型的运算速度,需要对模型进行剪枝。剪枝即压缩网络模型,以达到减小模型尺寸,降低资源消耗并提升响应时间的目的。在现有的模型剪枝过程中,需要确定待剪枝通道,该确定过程即为敏感度分析过程,现有的敏感度分析方法均为启发式的方法,例如,根据权重的L1Norm值确定待剪枝通道等。启发式的方法基于权重特性实现,虽然实现起来更容易,但是其无法反映剪枝前后的模型变化,通用性差。
发明内容
本发明提供一种模型剪枝方法及装置,用以解决上述问题。
本发明提供一种模型剪枝方法,包括:
获取待剪枝模型中每一网络层的第一参数信息,所述第一参数信息为原始参数信息;
根据所述第一参数信息获取每一网络层输出通道的梯度值;
根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值,所述计算量下降值为设定网络层进行通道剪枝之后的计算量下降值;
根据所述梯度值以及所述计算量下降值确定待剪枝通道,并根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型。
根据本发明提供的一种模型剪枝方法,在所述获取待剪枝模型中每一网络层的第一参数信息之后,该方法还包括:
获取第一参数信息对应的掩码信息;
相应地,所述根据所述第一参数信息获取每一网络层输出通道的梯度值,包括:
根据所述掩码信息以及所述第一参数信息获取第二参数信息,所述第二参数信息为根据掩码信息剪枝后的参数信息;
根据第二参数信息以及所述第一参数信息进行梯度计算,获得梯度值。
根据本发明提供的一种模型剪枝方法,所述第一参数信息包括第一权重以及第一偏置,所述第二参数信息包括第二权重以及第二偏置;
相应地,所述根据所述掩码信息以及所述第一参数信息获取第二参数信息,包括:
计算第一权重与所述掩码信息中掩码值之间的乘积,以获得第二权重;
计算第一偏置与所述掩码信息中掩码值之间的乘积,以获得第二偏置;
所述根据第二参数信息以及所述第一参数信息进行梯度计算,获得梯度值,包括:
对第二权重进行梯度计算获得权重梯度,并对第二偏置进行梯度计算获得偏置梯度;
计算权重梯度与第一权重的乘积,以及偏置梯度与第一偏置的乘积,并对所述权重梯度与第一权重的乘积与所述偏置梯度与第一偏置之间的乘积进行求和,将求和结果作为梯度值。
根据本发明提供的一种模型剪枝方法,所述样本图像信息包括样本图像数量、样本图像的宽度以及高度,所述第一参数信息包括网络层的输入通道数以及卷积核的大小;
所述根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值,包括:
根据样本图像数量、样本图像的宽度以及高度、网络层的输入通道数以及卷积核的大小进行乘积计算,获得计算量下降值,该计算量下降值表征网络层中剪枝一个通道之后待剪枝模型的计算量下降值。
根据本发明提供的一种模型剪枝方法,所述根据所述梯度值以及所述计算量下降值确定待剪枝通道,包括:
获取所述梯度值与所述计算量下降值的平方结果之间的比值;
对所有网络层对应的比值按照由小到大的顺序进行排序,从排序结果中确定前p个比值,并将确定的前p个比值对应的通道确定为待剪枝通道。
根据本发明提供的一种模型剪枝方法,在获得梯度值以及计算量下降值之后,该方法还包括:
对所述梯度值以及所述计算量下降值进行归一化处理,以获得归一化后的梯度值以及归一化后的计算量下降值;
相应地,所述对所述梯度值与所述计算量下降值进行乘积计算,包括:
对归一化后的梯度值与归一化后的计算量下降值进行乘积计算。
根据本发明提供的一种模型剪枝方法,所述根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型,包括:
根据所述待剪枝通道对所述待剪枝模型进行剪枝,获得剪枝后模型;
在剪枝后模型对应的计算量超过预设目标计算量的情况下,将所述剪枝后模型作为目标模型输出。
本发明还提供一种模型剪枝装置,包括:
参数信息获取模块,用于获取待剪枝模型中每一网络层的第一参数信息,所述第一参数信息为原始参数信息;
通道梯度获取模块,用于根据所述第一参数信息获取每一网络层输出通道的梯度值;
计算量下降获取模块,用于根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值,所述计算量下降值为设定网络层进行通道剪枝之后的计算量下降值;
剪枝通道确定模块,用于根据所述梯度值以及所述计算量下降值确定待剪枝通道,并根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上述任一种模型剪枝方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一种模型剪枝方法。
本发明提供的模型剪枝方法及装置,根据所述梯度值以及所述计算量下降值确定待剪枝通道,利用通道数对应的梯度值来反映通道剪枝的敏感度,相较于启发式敏感度分析方法而言,本发明基于梯度的方法更具有通用性。另外,除了梯度值这一维度之外还综合了计算量下降值这一信息,从而能够优先对敏感度低、计算量大的通道进行剪枝,加快了剪枝效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的模型剪枝方法的流程示意图;
图2为本发明实施例提供的模型剪枝装置结构示意图;
图3为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的模型剪枝方法的流程示意图;如图1所示,该模型剪枝方法,包括:
S101,获取待剪枝模型中每一网络层的第一参数信息。其中,所述第一参数信息为原始参数信息。
在本步骤中,先获取通过训练图像数据预先训练好的原始神经网络模型(该原始神经网络模型为常规的神经网络模型),将原始神经网络模型作为待剪枝模型,并获取该剪枝模型中所有网络参数(即为第一参数信息),网络参数包括:每一网络层中的权重与偏置,网络层的输入通道数、输出通道数、卷积核大小等信息。
S102,根据所述第一参数信息获取每一网络层输出通道的梯度值。
在本步骤中,根据第一参数信息对每一网络层的各个输出通道进行梯度计算,获得每一网络层中各个输出通道对应的梯度值,该梯度值越大说明敏感度越高,输出通道越重要;梯度值越小说明敏感度越低,输出通道越不重要,可以作为候选的待剪枝通道。
S103,根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值。其中,所述计算量下降值为设定网络层进行通道剪枝之后的计算量下降值。
在本步骤中,设定对网络层中某一个通道进行剪枝,则计算通道剪枝后待剪枝模型的计算量下降值。此处具体的剪枝通道并不限定,无论确定对同一网络层中的哪个通道进行剪枝,该网络层对应的计算量下降值均为同一数值。
S104,根据所述梯度值以及所述计算量下降值确定待剪枝通道,并根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型。
在本步骤中,梯度值能够反映通道剪枝的敏感度,展示模型剪枝前后的变化,计算量下降值则能反映剪枝成本,综合上述两个维度信息确定出待剪枝通道,从而能够优先对敏感度更低、计算量更大的通道进行剪枝,从而获得剪枝效果更好的目标模型。
在获得目标模型之后,可以将该目标模型移植在对计算量大小有要求的终端中进行前向推理,比如,将剪枝后的点云3D检测模型应用在车端进行车外目标的实时检测。
本发明实施例提供的模型剪枝方法,根据所述梯度值以及所述计算量下降值确定待剪枝通道,利用通道数对应的梯度值来反映通道剪枝的敏感度,相较于启发式敏感度分析方法而言,本发明基于梯度的方法更具有通用性。另外,除了梯度值这一维度之外还综合了计算量下降值这一信息,从而能够优先对敏感度低、计算量大的通道进行剪枝,加快了剪枝效率。
在本发明的一些实施例中,在所述获取待剪枝模型中每一网络层的第一参数信息之后,该方法还包括:
获取第一参数信息对应的掩码信息。
相应地,所述根据所述第一参数信息获取每一网络层输出通道的梯度值,包括:
根据所述掩码信息以及所述第一参数信息获取第二参数信息,所述第二参数信息为根据掩码信息剪枝后的参数信息。
根据第二参数信息以及所述第一参数信息进行梯度计算,获得梯度值。
在本实施例中,第一参数信息包括每一网络层的权重以及偏置,每一权重或偏置对应有一个掩码mask,其取值为1或0。mask取值为0时,对应的权重或偏置归0;取值为1时,对应的权重或偏置保持不变。在对待剪枝模型进行第一次剪枝时,所有掩码mask初始化为1;在后续的剪枝过程中,根据剪枝后模型网络参数的剪枝情况确定掩码信息,即,确定的待剪枝通道所对应的权重和偏置对应的mask取值为0,剩下的权重和偏置对应的mask取值为1。
在获得掩码信息之后,根据掩码mask的取值与对应的权重或偏置之间的乘积确定第二参数信息,也即剪枝后的模型中每一网络层权重和偏置取值情况。
根据剪枝后的网络参数(即第一参数信息)以及剪枝前的网络参数(即第二参数信息)计算网络层中各个输出通道的梯度值,该梯度值能够反映通道的剪枝灵敏度。
本发明实施例提供的模型剪枝方法,通过计算输出通道的梯度值确定通道的剪枝灵敏度,相较于现有的根据权重特征来确定剪枝灵敏度而言,更具有通用性。
在本发明的一些实施例中,所述第一参数信息包括第一权重weight以及第一偏置bias,所述第二参数信息包括第二权重weight'以及第二偏置bias。
相应地,所述根据所述掩码信息以及所述第一参数信息获取第二参数信息,包括:
计算第一权重与所述掩码信息中掩码值之间的乘积,以获得第二权重,即weight'=weight*mask。
计算第一偏置与所述掩码信息中掩码值之间的乘积,以获得第二偏置,即bias'=bias*mask。
所述根据第二参数信息以及所述第一参数信息进行梯度计算,获得梯度值,包括:
对第二权重进行梯度计算获得权重梯度,并对第二偏置进行梯度计算获得偏置梯度。
计算权重梯度与第一权重的乘积,以及偏置梯度与第一偏置的乘积,并对所述权重梯度与第一权重的乘积与所述偏置梯度与第一偏置之间的乘积进行求和,将求和结果作为梯度值。即,其中,的维度信息为(co),weight的维度信息为(co,ci,k,k),co为输出通道数,ci为输入通道数,k*k为卷积核大小。为权重梯度,为偏置梯度,为mask的梯度。
本发明实施例提供的模型剪枝方法,通过对输出通道进行梯度计算来分析剪枝灵敏度,以提升剪枝方法的通用性。
在本发明的一些实施例中,所述样本图像信息包括样本图像数量n、样本图像的宽度w以及高度h,所述第一参数信息包括网络层的输入通道数ci以及卷积核的大小k*k。此处样本图像数量是指训练过程训练数据的批量大小,即batch-size。
所述根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值,包括:
根据样本图像数量n、样本图像的宽度w以及高度h、网络层的输入通道数ci以及卷积核的大小k*k进行乘积计算,获得计算量下降值,即,ΔFLOPs=n*h*w*ci*k*k。上述计算量下降值表征网络层中剪枝一个通道之后待剪枝模型的计算量下降值。由于最后确定的是待剪枝通道,而每一网络层任意一个通道剪枝后计算量的下降值均一致,因此,设定每一网络层的任意一个输出通道被剪枝,则在此假设下计算所有网络层在输出通道剪枝后的计算量下降值。
本发明实施例提供的模型剪枝方法,通过获取通道剪枝后的计算量下降值,来确定剪枝成本,从而有助于提升剪枝效率。
在本发明的一些实施例中,所述根据所述梯度值以及所述计算量下降值确定待剪枝通道,包括:
对所有网络层对应的比值按照由小到大的顺序进行排序,从排序结果中确定前p个比值,并将确定的前p个比值对应的通道确定为待剪枝通道。
由上述可知,的维度为co,也即,每一网络层的各个输出通道均对应用一个值,在对所有值乘以ΔFLOPs-2,也即值除以ΔFLOPs2之后,获得整个待剪枝模型每一网络层中各个输出通道对应的值,进而进行由小到大的排序,选取前面较小的p(p根据经验设定)个比值,并根据选取到的p个比值确定其对应的网络层以及通道索引index,根据确定的网络层以及通道索引index对相关通道进行剪枝,也就是将待剪枝通道中各个权重以及偏置对应的mask置为0。
本发明实施例提供的模型剪枝方法,根据梯度值与所述计算量下降值之间的乘积获取p个待剪枝通道,以实现对敏感度更低、计算量更大的通道进行剪枝,提升了剪枝效率。
在本发明的一些实施例中,在获得梯度值以及计算量下降值之后,该方法还包括:
相应地,所述对所述梯度值与所述计算量下降值进行乘积计算,包括:
对归一化后的梯度值与归一化后的计算量下降值进行乘积计算。
在本发明的一些实施例中,所述根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型,包括:
根据所述待剪枝通道对所述待剪枝模型进行剪枝,获得剪枝后模型。
在剪枝后模型对应的计算量超过预设目标计算量的情况下,将所述剪枝后模型作为目标模型输出。
在本实施例中,由于进行一次的通道剪枝并不能获得直接能够移植到计算量有限的终端上的目标模型,因此,需要设定一个目标计算量来(该目标计算量根据需求设定)作为剪枝过程的截止条件。具体实现过程为:在确定待剪枝通道之后,对模型进行剪枝,进而计算剪枝后模型的计算量大小,若计算得到的结果超过目标计算量,则停止剪枝;若计算得到的结果不超过目标计算量,则重新根据通道梯度进行剪枝敏感度分析确定待剪枝通道,进而实现模型的又一轮剪枝。
本发明实施例提供的模型剪枝方法,通过设定目标计算量来获得目标模型,以达到模型的应用需求。
在本发明的一些实施例中,模型剪枝方法包括如下步骤:
S201,获取神经网络模型,并对每层的权重与偏置均乘以mask,此处,mask初始化为1。
S202,每隔预设的次数周期,对神经网络模型中各个通道的剪枝灵敏度进行分析,即计算得到各层网络的输出通道对应的梯度值并计算各层输出通道的剪枝后计算量下降值ΔFLOPs;融合与ΔFLOPs,从而确定待剪枝通道。需要说明的是,每隔预设的次数周期是指在原始神经网络模型的训练次数iter能够整除预设的次数周期iter_interval(即iter%iter_interval==0)的情况下。训练次数iter不能够整除预设的次数周期iter_interval时,利用神经网络模型训练过程中的样本图像数据对剪枝后的模型进行参数微调。
S203,计算剪枝后模型的计算量,若计算量超过目标计算量则停止剪枝,将剪枝后模型作为目标模型进行输出,若计算量未超过目标计算量则继续微调,再进行剪枝,循环至符合目标计算量,获得最终的目标模型。
本发明实施例提供的模型剪枝方法,综合了梯度值与计算量下降值,从而能够优先对敏感度低、计算量大的通道进行剪枝,加快了剪枝效率,还能提升模型剪枝的通用性。
下面对本发明提供的模型剪枝装置进行描述,下文描述的模型剪枝装置与上文描述的模型剪枝方法可相互对应参照。
图2为本发明实施例提供的模型剪枝装置结构示意图,如图2所示,该模型剪枝装置包括参数信息获取模块201、通道梯度获取模块202、计算量下降获取模块203以及剪枝通道确定模块204。
其中,参数信息获取模块201用于获取待剪枝模型中每一网络层的第一参数信息。其中,所述第一参数信息为原始参数信息。
在本模块中,先获取通过训练数据预先训练好的原始神经网络模型(该原始神经网络模型为常规的神经网络模型),将原始神经网络模型作为待剪枝模型,并获取该剪枝模型中所有网络参数(即为第一参数信息),网络参数包括:每一网络层中的权重与偏置,网络层的输入通道数、输出通道数、卷积核大小等信息。
通道梯度获取模块202用于根据所述第一参数信息获取每一网络层输出通道的梯度值。
在本模块中,根据第一参数信息对每一网络层的各个输出通道进行梯度计算,获得每一网络层中各个输出通道对应的梯度值,该梯度值越大说明敏感度越高,输出通道越重要;梯度值越小说明敏感度越低,输出通道越不重要,可以作为候选的待剪枝通道。
计算量下降获取模块203用于根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值。其中,所述计算量下降值为设定网络层进行通道剪枝之后的计算量下降值。
在本模块中,设定对网络层中某一个通道进行剪枝,则计算通道剪枝后待剪枝模型的计算量下降值。此处具体的剪枝通道并不限定,无论确定对同一网络层中的哪个通道进行剪枝,该网络层对应的计算量下降值均为同一数值。
剪枝通道确定模块204用于根据所述梯度值以及所述计算量下降值确定待剪枝通道,并根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型。
在本模块中,梯度值能够反映通道剪枝的敏感度,展示模型剪枝前后的变化,计算量下降值则能反映剪枝成本,综合上述两个维度信息确定出待剪枝通道,从而能够优先对敏感度更低、计算量更大的通道进行剪枝,从而获得剪枝效果更好的目标模型。
在获得目标模型之后,可以将该目标模型移植在对计算量大小有要求的终端中进行前向推理,比如,将剪枝后的点云3D检测模型应用在车端进行车外目标的实时检测。
本发明实施例提供的模型剪枝装置,根据所述梯度值以及所述计算量下降值确定待剪枝通道,利用通道数对应的梯度值来反映通道剪枝的敏感度,相较于启发式敏感度分析方法而言,本发明基于梯度的方法更具有通用性。另外,除了梯度值这一维度之外还综合了计算量下降值这一信息,从而能够优先对敏感度低、计算量大的通道进行剪枝,加快了剪枝效率。
图3为本发明实施例提供的一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行模型剪枝方法,该模型剪枝方法,包括:获取待剪枝模型中每一网络层的第一参数信息,所述第一参数信息为原始参数信息;根据所述第一参数信息获取每一网络层输出通道的梯度值;根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值,所述计算量下降值为设定网络层进行通道剪枝之后的计算量下降值;根据所述梯度值以及所述计算量下降值确定待剪枝通道,并根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行模型剪枝方法,该模型剪枝方法,包括:获取待剪枝模型中每一网络层的第一参数信息,所述第一参数信息为原始参数信息;根据所述第一参数信息获取每一网络层输出通道的梯度值;根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值,所述计算量下降值为设定网络层进行通道剪枝之后的计算量下降值;根据所述梯度值以及所述计算量下降值确定待剪枝通道,并根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种模型剪枝方法,其特征在于,包括:
获取待剪枝模型中每一网络层的第一参数信息,所述第一参数信息为原始参数信息;
根据所述第一参数信息获取每一网络层输出通道的梯度值;
根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值,所述计算量下降值为设定网络层进行通道剪枝之后的计算量下降值;
根据所述梯度值以及所述计算量下降值确定待剪枝通道,并根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型。
2.根据权利要求1所述的模型剪枝方法,其特征在于,在所述获取待剪枝模型中每一网络层的第一参数信息之后,该方法还包括:
获取第一参数信息对应的掩码信息;
相应地,所述根据所述第一参数信息获取每一网络层输出通道的梯度值,包括:
根据所述掩码信息以及所述第一参数信息获取第二参数信息,所述第二参数信息为根据掩码信息剪枝后的参数信息;
根据第二参数信息以及所述第一参数信息进行梯度计算,获得梯度值。
3.根据权利要求2所述的模型剪枝方法,其特征在于,所述第一参数信息包括第一权重以及第一偏置,所述第二参数信息包括第二权重以及第二偏置;
相应地,所述根据所述掩码信息以及所述第一参数信息获取第二参数信息,包括:
计算第一权重与所述掩码信息中掩码值之间的乘积,以获得第二权重;
计算第一偏置与所述掩码信息中掩码值之间的乘积,以获得第二偏置;
所述根据第二参数信息以及所述第一参数信息进行梯度计算,获得梯度值,包括:
对第二权重进行梯度计算获得权重梯度,并对第二偏置进行梯度计算获得偏置梯度;
计算权重梯度与第一权重的乘积,以及偏置梯度与第一偏置的乘积,并对所述权重梯度与第一权重的乘积与所述偏置梯度与第一偏置之间的乘积进行求和,将求和结果作为梯度值。
4.根据权利要求1所述的模型剪枝方法,其特征在于,所述样本图像信息包括样本图像数量、样本图像的宽度以及高度,所述第一参数信息包括网络层的输入通道数以及卷积核的大小;
所述根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值,包括:
根据样本图像数量、样本图像的宽度以及高度、网络层的输入通道数以及卷积核的大小进行乘积计算,获得计算量下降值,该计算量下降值表征网络层中剪枝一个通道之后待剪枝模型的计算量下降值。
5.根据权利要求1所述的模型剪枝方法,其特征在于,所述根据所述梯度值以及所述计算量下降值确定待剪枝通道,包括:
获取所述梯度值与所述计算量下降值的平方结果之间的比值;
对所有网络层对应的比值按照由小到大的顺序进行排序,从排序结果中确定前p个比值,并将确定的前p个比值对应的通道确定为待剪枝通道。
6.根据权利要求5所述的模型剪枝方法,其特征在于,在获得梯度值以及计算量下降值之后,该方法还包括:
对所述梯度值以及所述计算量下降值进行归一化处理,以获得归一化后的梯度值以及归一化后的计算量下降值;
相应地,所述对所述梯度值与所述计算量下降值进行乘积计算,包括:
对归一化后的梯度值与归一化后的计算量下降值进行乘积计算。
7.根据权利要求1-6任一所述的模型剪枝方法,其特征在于,所述根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型,包括:
根据所述待剪枝通道对所述待剪枝模型进行剪枝,获得剪枝后模型;
在剪枝后模型对应的计算量超过预设目标计算量的情况下,将所述剪枝后模型作为目标模型输出。
8.一种模型剪枝装置,其特征在于,包括:
参数信息获取模块,用于获取待剪枝模型中每一网络层的第一参数信息,所述第一参数信息为原始参数信息;
通道梯度获取模块,用于根据所述第一参数信息获取每一网络层输出通道的梯度值;
计算量下降获取模块,用于根据样本图像信息以及所述第一参数信息,获取每一网络层输出通道的计算量下降值,所述计算量下降值为设定网络层进行通道剪枝之后的计算量下降值;
剪枝通道确定模块,用于根据所述梯度值以及所述计算量下降值确定待剪枝通道,并根据所述待剪枝通道对所述待剪枝模型进行剪枝,以获得目标模型。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述模型剪枝方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述模型剪枝方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436440.2A CN115688911A (zh) | 2022-11-16 | 2022-11-16 | 一种模型剪枝方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436440.2A CN115688911A (zh) | 2022-11-16 | 2022-11-16 | 一种模型剪枝方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115688911A true CN115688911A (zh) | 2023-02-03 |
Family
ID=85054507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211436440.2A Pending CN115688911A (zh) | 2022-11-16 | 2022-11-16 | 一种模型剪枝方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115688911A (zh) |
-
2022
- 2022-11-16 CN CN202211436440.2A patent/CN115688911A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3619652B1 (en) | Adaptive bit-width reduction for neural networks | |
CN111488985B (zh) | 深度神经网络模型压缩训练方法、装置、设备、介质 | |
CN109242092B (zh) | 图像处理方法和装置、电子设备、存储介质 | |
CN110929836B (zh) | 神经网络训练及图像处理方法和装置、电子设备、介质 | |
CN115409755B (zh) | 贴图处理方法和装置、存储介质及电子设备 | |
US20220383479A1 (en) | Method for detecting defects in images, computer device, and storage medium | |
CN113095333B (zh) | 无监督特征点检测方法及装置 | |
CN109583586B (zh) | 一种语音识别或图像识别中的卷积核处理方法及装置 | |
CN115344805A (zh) | 素材审核方法、计算设备及存储介质 | |
CN114742237A (zh) | 联邦学习模型聚合方法、装置、电子设备及可读存储介质 | |
CN113420792A (zh) | 图像模型的训练方法、电子设备、路侧设备及云控平台 | |
CN116992946A (zh) | 模型压缩方法、装置、存储介质和程序产品 | |
CN113011532A (zh) | 分类模型训练方法、装置、计算设备及存储介质 | |
CN113128664A (zh) | 神经网络压缩方法、装置、电子设备及存储介质 | |
CN115688911A (zh) | 一种模型剪枝方法及装置 | |
CN116580251A (zh) | 一种图像分类方法、装置、设备和计算机可读存储介质 | |
CN112598663B (zh) | 基于视觉显著性的粮食害虫检测方法和装置 | |
CN115996173A (zh) | 面向分布式深度学习算子并行训练的通信优化方法与系统 | |
CN115546157A (zh) | 卫星影像辐射质量评价的方法、装置、存储介质 | |
CN114998649A (zh) | 图像分类模型的训练方法、图像分类方法及装置 | |
CN112036461A (zh) | 手写数字图像识别方法、装置、设备及计算机存储介质 | |
CN112598020A (zh) | 目标识别方法及系统 | |
CN110083517A (zh) | 一种用户画像置信度的优化方法及装置 | |
CN111858869B (zh) | 一种数据匹配方法、装置、电子设备和存储介质 | |
CN113486596A (zh) | 一种数据预处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |