CN115222037A - 模型压缩策略的确定方法、装置、存储介质及电子设备 - Google Patents
模型压缩策略的确定方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115222037A CN115222037A CN202110412892.6A CN202110412892A CN115222037A CN 115222037 A CN115222037 A CN 115222037A CN 202110412892 A CN202110412892 A CN 202110412892A CN 115222037 A CN115222037 A CN 115222037A
- Authority
- CN
- China
- Prior art keywords
- compression
- strategy
- model
- policy
- determining
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种模型压缩策略的确定方法、装置、存储介质及电子设备。该方法包括:从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将第一压缩策略从第一策略集合中剔除;将第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略;对第一压缩策略和第二压缩策略进行向量对比处理,以比较第一压缩策略对应的计算量和第二压缩策略对应的计算量的大小;当第二压缩策略对应的计算量大于第一压缩策略对应的计算量时,将第二压缩策略从第一策略集合中剔除;根据第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。
Description
技术领域
本申请属于电子技术领域,尤其涉及一种模型压缩策略的确定方法、装置、存储介质及电子设备。
背景技术
近年来,在诸如智能手机或平板电脑等电子设备上部署模型以实现相机优化、智能语音助手以及其他各种各样的人工智能应用已经成为业界标配。受限于诸如智能手机或平板电脑等电子设备有限的算力和电力,为了提高部署的模型的响应速度以及减少模型占用的存储空间,模型压缩是一项必备的技术。
对于任意模型,均存在用于压缩该模型的多个压缩策略。然而,用于压缩某模型的多个压缩策略并不均是合适的用于压缩该模型的压缩策略,因此,有必要提供一种模型压缩策略的确定方法,以从用于压缩该模型的多个压缩策略中确定出不合适的用于压缩该模型的压缩策略,避免采用不合适的用于压缩该模型的压缩策略压缩该模型。
发明内容
本申请实施例提供一种模型压缩策略的确定方法、装置、存储介质及电子设备,可以避免采用不合适地用于压缩待压缩模型的压缩策略压缩待压缩模型。
第一方面,本申请实施例提供一种模型压缩策略的确定方法,包括:
从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将所述第一压缩策略从第一策略集合中剔除;
将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略;
对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小;
当所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量时,将所述第二压缩策略从第一策略集合中剔除;
根据所述第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。
第二方面,本申请实施例提供一种模型压缩策略的确定装置,包括:
选取模块,用于从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将所述第一压缩策略从第一策略集合中剔除;
第一确定模块,用于将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略;
处理模块,用于对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小;
剔除模块,用于当所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量时,将所述第二压缩策略从第一策略集合中剔除;
第二确定模块,用于根据所述第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。
第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的模型压缩策略的确定方法中的流程。
第四方面,本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请实施例提供的模型压缩策略的确定方法中的流程。
本申请实施例中,可通过从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将所述第一压缩策略从第一策略集合中剔除;将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略;对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小;当所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量时,将所述第二压缩策略从第一策略集合中剔除;根据所述第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。以此,通过向量对比的方式可将不合适(计算量大于预设计算量)的压缩策略从第一策略集合中剔除,可避免采用不合适的压缩策略压缩待压缩模型。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本申请实施例提供的模型压缩策略的确定方法的第一种流程示意图。
图2是本申请实施例提供的模型压缩策略的确定方法的第二种流程示意图。
图3是本申请实施例提供的模型压缩策略的确定装置的结构示意图。
图4是本申请实施例提供的电子设备的第一种结构示意图。
图5是本申请实施例提供的电子设备的第二种结构示意图。
具体实施方式
请参照图示,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等电子设备。
请参阅图1,图1是本申请实施例提供的模型压缩策略的确定方法的第一种流程示意图,流程可以包括:
101、从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将第一压缩策略从第一策略集合中剔除。
其中,第一策略集合包括多个可用于压缩待压缩模型的压缩策略。根据压缩策略对待压缩模型进行压缩处理,可得到压缩后模型。待压缩模型可包括多个卷积层,每个卷积层均包括一个或多个卷积核(通道)。压缩策略可包括待压缩模型的每个卷积层剩余卷积核的数量,也即是剩余通道数。
比如,假设待压缩模型包括4个卷积层,压缩策略S1包括:待压缩模型第1个卷积层剩余通道数为10,第2个卷积层剩余通道数为8,第3个卷积层剩余通道数为9,第4个卷积层剩余通道数为6,则根据该压缩策略S1对待压缩模型进行压缩处理,所得到的压缩后模型M1可包括4个卷积层,其中,第1个卷积层可包括10个通道,第2个卷积层可包括8个通道,第3个卷积层可包括9个通道,第4个卷积层可包括6个通道。
比如,假设待压缩模型包括2个卷积层,每个卷积层均包括3个通道,那么,用于压缩该待压缩模型的压缩策略有9个,分别为压缩策略S2至压缩策略S10,其中,压缩策略S2可包括:待压缩模型第1个卷积层剩余通道数为3,第2个卷积层剩余通道数为3,压缩策略S3可包括:待压缩模型第1个卷积层剩余通道数为3,第2个卷积层剩余通道数为2,压缩策略S4可包括待压缩模型第1个卷积层剩余通道数为3,第2个卷积层剩余通道数为1,压缩策略S5可包括待压缩模型第1个卷积层剩余通道数为2,第2个卷积层剩余通道数为3,压缩策略S6可包括待压缩模型第1个卷积层剩余通道数为2,第2个卷积层剩余通道数为2,压缩策略S7可包括待压缩模型第1个卷积层剩余通道数为2,第2个卷积层剩余通道数为1,压缩策略S8可包括待压缩模型第1个卷积层剩余通道数为1,第2个卷积层剩余通道数为3,压缩策略S9可包括待压缩模型第1个卷积层剩余通道数为1,第2个卷积层剩余通道数为2,压缩策略S10可包括待压缩模型第1个卷积层剩余通道数为1,第2个卷积层剩余通道数为1。第一策略集合可包括该压缩策略S2至压缩策略S10。
电子设备可从该第一策略集合中随机选取出一压缩策略,比如,假设选取出压缩策略S6。
电子设备可根据压缩策略S6对待压缩模型进行压缩处理,得到压缩后模型M2。压缩后模型M2可包括2个卷积层,其中,第1个卷积层包括2个通道,第2个卷积层包括3个通道。
当得到压缩后模型M2之后,电子设备可计算该压缩后模型M2的计算量。其中,该压缩后模型M2的计算量也可作为压缩策略S6对应的计算量。
例如,电子设备可计算该压缩后模型M2的浮点计算量,作为该压缩后模型M2的计算量。具体计算过程可以为:
定义以下变量:
(1)卷积算子的输入的高H、宽W,输入通道数C和输出通道数N;
(2)卷积核的高Kh、宽Kw;
(3)卷积核的步长S、填充P;
可得到:
(a)卷积算子的输出的高H′、宽W′:
(b)所有的乘法和加法次数的总和:
FLOPs=2*Kh*Kw*C*H′*W′*N
对模型中的每一个卷积层应用以上公式可得到模型的浮点计算量。
又例如,电子设备可计算该压缩后模型M2的模型参数量,作为该压缩后模型M2的计算量。具体计算过程可以为:
定义以下变量:
(1)卷积算子的输入的通道数C、输出的通道数N;
(2)卷积核的高Kh、宽Kw;
可得到:
卷积操作的参数量Params=Kh*Kw*C*N
对模型中的每一个卷积层应用以上公式得到模型参数量。
比如,当压缩后模型M2的计算量大于预设计算量时,电子设备可将该压缩后模型M2对应的压缩策略S6确定为第一压缩策略。并且,电子设备可确定该压缩后模型M2对应的压缩策略S6不是合适的用于压缩待压缩模型的压缩策略,那么,电子设备可将该压缩策略S6从第一策略集合中剔除。
在一些实施例中,当压缩后模型M2的计算量小于或等于预设计算量时,电子设备可确定该压缩后模型M2对应的压缩策略S6是合适的用于压缩待压缩模型的压缩策略,那么,电子设备可将该压缩策略S6从该第一策略集合转出,并保存在相应的位置,并且,电子设备可从第一策略集合剩余的压缩策略中继续随机选取出一压缩策略,比如,假设继续选取出压缩策略S5,电子设备可按照与处理压缩策略S6相同的流程对压缩策略S5进行处理,以判断该压缩策略S5对应的压缩后模型的计算量是否大于预设计算量;当该压缩策略S5对应的压缩后模型的计算量大于预设计算量时,可将该压缩策略S5确定为第一压缩策略,并将该压缩策略S5从第一策略集合中剔除;当该压缩策略S5对应的压缩后模型的计算量小于或等于预设计算量时,电子设备可将该压缩策略S5从第一策略集合中转出,并保存在相应的位置,并可从第一策略集合剩余的压缩策略中继续随机选取出一压缩策略,直至从第一策略集合中选取出计算量大于预设计算量的第一压缩策略。
其中,预设计算量可根据实际需求设置,此处不作具体限制。
102、将第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略。
比如,第一策略集合包括压缩策略S2至压缩策略S10,且电子设备从第一策略集合中首次随机选取的一压缩策略,即压缩策略S6对应的计算量大于预设计算量,电子设备可将第一策略集合剩余的压缩策略中,即压缩策略S2至压缩策略S5,以及压缩策略S7至压缩策略S10中任一压缩策略确定为第二压缩策略。例如,电子设备可将压缩策略S5确定为第二压缩策略。
103、对第一压缩策略和第二压缩策略进行向量对比处理,以比较第一压缩策略对应的计算量和第二压缩策略对应的计算量大小。
比如,假设第一压缩策略为压缩策略S6,第二压缩策略为压缩策略S5,电子设备可对压缩策略S6和压缩策略S5进行向量对比处理,以比较压缩策略S6对应的计算量和压缩策略S5对应的计算量的大小。也即是说,通过对压缩策略S6和压缩策略S5进行向量对比处理,可以比较出根据压缩策略S6对待压缩模型进行压缩处理所得到的压缩后的模型的计算量和根据压缩策略S5对待压缩模型进行压缩处理所得到的压缩后模型的计算量的大小,也即,压缩策略S6对应的计算量和压缩策略S5对应的计算量的大小。
需要说明的是,通过对两个压缩策略进行向量对比处理仅能做到比较该两个压缩策略分别对应的压缩后模型的计算量的大小,并不能计算出该两个压缩策略分别对应的压缩后模型的具体的计算量数值,但是通过向量对比的方式比较计算量的大小相比于通过计算出具体的计算量数值来比较计算量的大小的方式,对计算资源的占用较少。
还需要说明的是,对两个压缩策略,比如压缩策略S5和压缩策略S6进行向量对比处理,可以得到三种结果。第一种结果为:压缩策略S5对应的计算量大于压缩策略S6对应的计算量。第二种结果为:压缩策略S5对应的计算量小于压缩策略S6对应的计算量。第三种结果为:无法比较出压缩策略S5对应的计算量和压缩策略S6对应的计算量大小。
104、当第二压缩策略对应的计算量大于第一压缩策略对应的计算量时,将第二压缩策略从第一策略集合中剔除。
105、根据第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。
比如,假设第一压缩策略为压缩策略S6,第二压缩策略为压缩策略S5,压缩策略S6对应的计算量大于预设计算量。由于压缩策略S6对应的计算量大于预设计算量,因此,当压缩策略S5对应的计算量大于压缩策略S6对应的计算量时,电子设备可以确定压缩策略S5对应的计算量也大于预设计算量,电子设备可确定该压缩策略S5也不是合适的用于压缩待压缩模型的压缩策略,那么,电子设备可将该压缩策略S5从第一策略集合中剔除。
之后,电子设备可根据第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。比如,电子设备可从第一策略集合剩余的压缩策略中选取出一计算量小于或等于预设计算量的压缩策略,将该压缩策略确定为用于压缩待压缩模型的压缩策略。
本申请实施例中,可通过从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将所述第一压缩策略从第一策略集合中剔除;将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略;对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小;当所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量时,将所述第二压缩策略从第一策略集合中剔除;根据所述第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。以此,通过向量对比的方式可将不合适(计算量大于预设计算量)的压缩策略从第一策略集合中剔除,可避免采用不合适的压缩策略压缩待压缩模型。而利用合适(计算量小于或等于预设计算量)的压缩策略对待压缩模型进行压缩处理可以得到计算量相对较小的压缩后模型,从而可适用于诸如智能手机或平板电脑等算力和电力有限的电子设备。
在一些实施例中,流程105,可以包括:
将第一策略集合剩余的压缩策略中任一压缩策略更新为第二压缩策略,并返回执行对第一压缩策略和第二压缩策略进行向量对比处理,以比较第一压缩策略对应的计算量和第二压缩策略对应的计算量的大小,直至得到第一策略集合中所有计算量小于或等于预设计算量的第三压缩策略;
根据第三压缩策略,确定用于压缩待压缩模型的压缩策略。
比如,当将压缩策略S5也从第一策略集合中剔除之后,电子设备可将第一策略集合剩余的压缩策略中任一压缩策略更新为第二压缩策略,并返回执行流程103,以继续判断第一策略集合中是否还存在计算量大于第一压缩策略对应的计算量的压缩策略,直至得到第一策略集合中所有计算量小于或等于预设计算量的第三压缩策略。随后,电子设备可根据第三压缩策略,确定用于压缩待压缩模型的压缩策略。
例如,假设从第一策略集合中确定出压缩策略S1、S2、S3和S4是计算量小于或等于预设计算量的压缩策略,即第三压缩策略,电子设备可将压缩策略S1、S2、S3和S4中任一压缩策略确定为用于压缩待压缩模型的压缩策略。
在一些实施例中,电子设备可将压缩策略S1、S2、S3和S4中计算量最小的压缩策略确定为用于压缩待压缩模型的压缩策略。
在一些实施例中,流程103之后,还可以包括:
当第二压缩策略对应的计算量小于第一压缩策略对应的计算量,或无法比较出第一压缩策略对应的计算量和第二压缩策略对应的计算量大小时,根据第二压缩策略对待压缩模型进行压缩处理,得到压缩后模型,并计算压缩后模型的计算量;
当压缩后模型的计算量大于预设计算量时,将第二压缩策略从第一策略集合中剔除,将第一压缩策略和第二压缩策略中计算量较小的压缩策略确定为第一压缩策略,并返回执行流程102,直至得到第一策略集合中所有计算量小于或等于预设计算量的第四压缩策略;
根据第四压缩策略,确定用于压缩待压缩模型的压缩策略。
比如,假设第一压缩策略为压缩策略S3,第二压缩策略为压缩策略S4,压缩策略S3对应的计算量大于预设计算量。由于压缩策略S3对应的计算量大于预设计算量,因此,当压缩策略S3对应的计算量也大于压缩策略S4对应的计算量时,电子设备无法比较出该压缩策略S4对应的计算量与预设计算量大小,那么,电子设备可通过计算该压缩策略S4对应的压缩后模型的计算量的方式来判断该压缩策略S4对应的计算量是否大于该预设计算量。
当该压缩策略S4对应的计算量大于该预设计算量时,电子设备可确认该压缩策略S4不是合适的用于压缩待压缩模型的压缩策略,那么,电子设备可将压缩策略S4从第一策略集合中剔除。并且,电子设备可将压缩策略S3和压缩策略S4中计算量较小的压缩策略确定为第一压缩策略。显然,由于通过向量对比的方式确定出压缩策略S3对应的计算量大于压缩策略S4对应的计算量,那么,电子设备可将压缩策略S4确定为第一压缩策略。在后续需要进行向量对比处理时,利用该压缩策略S4与需要进行向量对比处理的压缩策略进行向量对比。也即,电子设备可将该压缩策略S4确定为第一压缩策略,并返回执行流程102,直至得到第一策略集合中所有计算量小于或等于预设计算量的第四压缩策略。随后,电子设备可根据第四压缩策略,确定用于压缩待压缩模型的压缩策略。
又比如,假设第一压缩策略为压缩策略S4,第二压缩策略为压缩策略S5,压缩策略S4对应的计算量大于预设计算量。当通过向量对比的方式无法比较出压缩策略S4对应的计算量和压缩策略S5对应的计算量的大小时,电子设备可通过计算该压缩策略S5对应的压缩后模型的计算量的方式来确定该压缩策略S5对应的计算量。
当该压缩策略S5对应的计算量大于该预设计算量时,电子设备可确认该压缩策略S5不是合适的用于压缩待压缩模型的压缩策略,那么,电子设备可将压缩策略S5从第一策略集合中剔除。并且,电子设备可将压缩策略S4和压缩策略S5中计算量较小的压缩策略确定为第一压缩策略。例如,假设压缩策略S4的计算量更小,那么,电子设备可将压缩策略S4确定为第一压缩策略,在后续需要进行向量对比处理时,利用该压缩策略S4与需要进行向量对比处理的压缩策略进行向量对比。也即,电子设备可将该压缩策略S4确定为第一压缩策略,并返回执行流程102,直至得到第一策略集合中所有计算量小于或等于预设计算量的第四压缩策略。随后,电子设备可根据第四压缩策略,确定用于压缩待压缩模型的压缩策略。
其中,“电子设备根据第四压缩策略,确定用于压缩待压缩模型的压缩策略”的详细说明可参见“根据第三压缩策略,确定用于压缩待压缩模型的压缩策略”的流程,此处不再具体赘述。
在一些实施例中,根据第二压缩策略对待压缩模型进行压缩处理,得到压缩后模型,并计算压缩后模型的计算量之后,还可以包括:
当压缩后模型的计算量小于或等于预设计算量时,将第二压缩策略从第一策略集合中转出,并返回执行流程102,直至得到第一策略集合中所有计算量小于或等于预设计算量的第五压缩策略;
根据第五压缩策略,确定用于压缩待压缩模型的压缩策略。
比如,假设第一压缩策略为压缩策略S3,第二压缩策略为压缩策略S4,压缩策略S3对应的计算量大于预设计算量。由于压缩策略S3对应的计算量大于预设计算量,因此,当压缩策略S3对应的计算量也大于压缩策略S4对应的计算量时,电子设备无法比较出该压缩策略S4对应的计算量与预设计算量大小,那么,电子设备可通过计算该压缩策略S4对应的压缩后模型的计算量的方式来判断该压缩策略S4对应的计算量是否大于该预设计算量。
当该压缩策略S4对应的计算量小于或等于该预设计算量时,电子设备可确认该压缩策略S4是合适的用于压缩待压缩模型的压缩策略,那么,电子设备可将压缩策略S4从第一策略集合中转出,并保存在相应的位置,并返回执行流程102,直至得到第一策略集合中所有计算量小于或等于预设计算量的第五压缩策略。随后,电子设备可根据第五压缩策略,确定用于压缩待压缩模型的压缩策略。
又比如,假设第一压缩策略为压缩策略S4,第二压缩策略为压缩策略S5,压缩策略S4对应的计算量大于预设计算量。当通过向量对比的方式无法比较出压缩策略S4对应的计算量和压缩策略S5对应的计算量的大小时,电子设备可通过计算该压缩策略S5对应的压缩后模型的计算量的方式来确定该压缩策略S5对应的计算量。
当该压缩策略S5对应的计算量小于或等于该预设计算量时,电子设备可确认该压缩策略S5是合适的用于压缩待压缩模型的压缩策略,那么,电子设备可将压缩策略S5从第一策略集合中转出,并保存在相应的位置,并返回执行流程102,直至得到第一策略集合中所有计算量小于或等于预设计算量的第五压缩策略。随后,电子设备可根据第五压缩策略,确定用于压缩待压缩模型的压缩策略。
其中,“电子设备根据第五压缩策略,确定用于压缩待压缩模型的压缩策略”的详细说明可参见“根据第三压缩策略,确定用于压缩待压缩模型的压缩策略”的流程,此处不再具体赘述。
在一些实施例中,根据第三压缩策略,确定用于压缩待压缩模型的压缩策略,可以包括:
按照计算量从大到小的顺序对第三压缩策略进行排序;
将排序后的第三压缩策略划分为多个第二策略集合,其中,属于同一第二策略集合的第三压缩策略的序号是连续的;
从计算量最大的第二策略集合开始遍历第二策略集合,并判断遍历到的第二策略集合中是否存在至少一个精度小于预设精度的第六压缩策略;
若是,则将遍历到的存在至少一个第六压缩策略的第二策略集合确定为第三策略集合,并根据第三策略集合,确定用于压缩待压缩模型的压缩策略。
由于模型的精度与其计算量成正相关,即模型的计算量越大,精度越高,反之,模型的计算量越小,精度越低,因此,电子设备可按照计算量从大到小的顺序将得到的第三压缩策略划分为多个压缩策略集合,优先评估计算量最大的第二策略集合中是否存在满足要求的压缩策略。
比如,假设存在第三压缩策略S11至S26,上述第三压缩策略按照计算量从大到小的顺序排列依次为:S11、S12、S13、S14、S15、S16、S17、S18、S19、S20、S21、S22、S23、S24、S25、S26,假设将上述排序后的第三压缩策略分为4个第二策略集合,则第1个第二策略集合可以为(S11、S12、S13、S14),第2个第二策略集合可以为(S15、S16、S17、S18),第3个第二策略集合可以为(S19、S20、S21、S22),第4个第二策略集合可以为(S23、S24、S25、S26)。
电子设备可从第1个第二策略集合开始遍历上述4个第二策略集合,当遍历到某个第二策略集合,比如遍历到第1个第二策略集合时,电子设备可根据第1个第二策略集合中的每个第三压缩策略对待压缩模型进行压缩处理,得到多个压缩后模型;随后,电子设备可对每个压缩后模型进行训练,得到多个训练后模型;接着,电子设备可确定每个训练后模型的精度,得到多个精度;之后,电子设备可判断多个精度中是否存在至少一个小于预设精度的精度;若存在,则电子设备可将该第1个第二策略集合确定为第三策略集合,并不再往后遍历其他第二策略集合。
当该1个第二策略集合中不存在至少一个精度小于预设精度的第六压缩策略时,电子设备可继续遍历剩下的3个第二策略集合,并通过上述流程判断当前遍历的第二策略集合中是否存在至少一个精度小于预设精度的第六压缩策略,直至遍历到存在至少一个精度小于预设精度的第六压缩策略的第二策略集合为止。随后,电子设备可将该存在至少一个精度小于预设精度的第六压缩策略的第二策略集合确定为第三策略集合。
当得到第三策略集合之后,电子设备可根据第三策略集合,确定用于压缩待压缩模型的压缩策略。
比如,电子设备可将第三策略集合中任一压缩策略确定为用于压缩待压缩模型的压缩策略。
又比如,电子设备可将第三策略集合中精度最高或计算量最小的压缩策略确定为用于压缩待压缩模型的压缩策略。
其中,预设精度可根据实际需求设置,此处不作具体限制。
在一些实施例中,压缩策略包括待压缩模型的每个卷积层剩余通道数,对第一压缩策略和第二压缩策略进行向量对比处理,可以包括:
将第一压缩策略每个卷积层剩余通道数与第二压缩策略对应卷积层剩余通道数进行比较,得到比较结果;
当比较结果为第一比较结果时,判定第二压缩策略对应的计算量大于第一压缩策略对应的计算量,第一比较结果为第二压缩策略包括的至少一个卷积层剩余通道数大于第一压缩策略包括的相应卷积层剩余通道数,第二压缩策略包括的其他卷积层剩余通道数等于第一压缩策略包括的相应卷积层剩余通道数;
当比较结果为第二比较结果时,判定第二压缩策略对应的计算量小于第一压缩策略对应的计算量,第二比较结果为第二压缩策略包括的至少一个卷积层剩余通道数小于第一压缩策略包括的相应卷积层剩余通道数,第二压缩策略包括的其他卷积层剩余通道数等于第一压缩策略包括的相应卷积层剩余通道数;
当比较结果为除第一比较结果和第二比较结果之外的结果时,判定无法比较出第一压缩策略和第二压缩策略的计算量大小。
比如,假设第一压缩策略为压缩策略S4,第二压缩策略为压缩策略S3,由于压缩策略S4包括的第1个卷积层剩余通道数等于压缩策略S3包括的第1个卷积层剩余通道数,压缩策略S4包括的第2个卷积层剩余通道数大于压缩策略S3包括的第2个卷积层剩余通道数,因此,可判定压缩策略S4对应的计算量大于压缩策略S3对应的计算量。
又比如,假设第一压缩策略为压缩策略S3,第二压缩策略为压缩策略S4,由于压缩策略S3包括的第1个卷积层剩余通道数等于压缩策略S4包括的第1个卷积层剩余通道数,压缩策略S3包括的第2个卷积层剩余通道数小于压缩策略S4包括的第2个卷积层剩余通道数,因此,可判定压缩策略S3对应的计算量小于压缩策略S4对应的计算量。
又比如,假设第一压缩策略为压缩策略S4,第二压缩策略为压缩策略S5,由于压缩策略S4包括的第1个卷积层剩余通道数大于压缩策略S5包括的第1个卷积层剩余通道数,压缩策略S4包括的第2个卷积层剩余通道数小于压缩策略S5包括的第2个卷积层剩余通道数,因此,可判定无法比较出压缩策略S4和第二压缩策略S5的计算量大小。
在一些实施例中,根据第三策略集合,确定用于压缩待压缩模型的压缩策略,可以包括:
从第三策略集合中确定出精度大于或等于预设精度的第七压缩策略;
根据第七压缩策略确定用于压缩待压缩模型的压缩策略。
比如,假设第三策略集合包括压缩策略S27至S37,其中,压缩策略S27至S34对应的精度大于或等于预设精度,那么,电子设备可根据该压缩策略S27至S34确定用于压缩待压缩模型的压缩策略。
例如,电子设备可将该压缩策略S27至S34中任一压缩策略确定为用于压缩待压缩模型的压缩策略。
可以理解的是,若第三策略集合中不存在精度大于或等于预设精度的第九压缩策略或仅存在一个精度大于或等于预设精度的第七压缩策略,电子设备可直接将第三策略集合中精度最高的压缩策略确定为用于压缩待压缩模型的压缩策略。
在一些实施例中,根据第七压缩策略确定用于压缩待压缩模型的压缩策略,可以包括:
将第七压缩策略中计算量最小的第七压缩策略确定为用于压缩待压缩模型的压缩策略。
比如,假设第七压缩策略包括压缩策略S27至S34,其中,压缩策略S34的计算量最小,那么,电子设备可将压缩策略S34确定为用于压缩待压缩模型的压缩策略。
在一些实施例中,当第七压缩策略中存在至少两个计算量最小的第七压缩策略时,电子设备可将至少两个计算量最小的第七压缩策略中精度最高的第七压缩策略确定为用于压缩待压缩模型的压缩策略。
比如,假设第七压缩策略包括压缩策略S27至S34,其中,压缩策略S31至S34的计算量相同,且属于压缩策略S27至S34中计算量最小的压缩策略,压缩策略S31的精度最高,那么,电子设备可将压缩策略S31确定为用于压缩待压缩模型的压缩策略。
在一些实施例中,根据第七压缩策略确定用于压缩待压缩模型的压缩策略,可以包括:
从第七压缩策略中确定出计算量小于或等于计算量阈值的第八压缩策略,计算量阈值小于预设计算量;
将第八压缩策略中精度最高的第八压缩策略确定为用于压缩待压缩模型的压缩策略。
比如,假设第七压缩策略包括压缩策略S27至S34,其中,压缩策略S29至S34对应的计算量小于或等于计算量阈值,压缩策略S34的精度最高,那么,电子设备可将压缩策略S34确定为用于压缩待压缩模型的压缩策略。
其中,计算量阈值可根据实际需求设置,此处不作具体限制。
在一些实施例中,当第八压缩策略中存在至少两个精度最高的第第八压缩策略时,电子设备可将至少两个精度最高的第第八压缩策略中计算量最小的第第八压缩策略确定为用于压缩待压缩模型的压缩策略。
比如,假设第第八压缩策略包括压缩策略S29至S34,其中,压缩策略S32至S34的精度相同,且属于压缩策略S29至S34中精度最高的压缩策略,压缩策略S34的计算量最小,那么,电子设备可将压缩策略S34确定为用于压缩待压缩模型的压缩策略。
在一些实施例中,判断遍历到的第二策略集合中是否存在至少一个精度小于预设精度的第六压缩策略之前,还可以包括:
根据遍历到的第二策略集合中每个第六压缩策略对待压缩模型进行压缩处理,得到每个第六压缩策略对应的压缩后模型;
利用训练数据集对每个第六压缩策略对应的压缩后模型进行预设次数的训练,得到每个第六压缩策略对应的训练后模型;
利用验证数据集对每个第六压缩策略对应的训练后模型进行验证,得到每个第六压缩策略对应的训练后模型的精度;
将每个第六压缩策略对应的训练后模型的精度确定为每个第六压缩策略的精度。
比如,电子设备可根据遍历到的第二策略集合中每个第六压缩策略对待压缩模型进行压缩处理,得到每个第六压缩策略对应的压缩后模型;随后,电子设备可获取用于训练待压缩模型的训练数据集,并利用该训练数据集对每个第六压缩策略对应的压缩后模型进行20次训练,得到每个第五压缩策略对应的训练后模型;接着,电子设备可获取用于验证待压缩模型的验证数据集,并利用该验证数据集对每个第六压缩策略对应的训练后模型进行验证,得到每个第六压缩策略对应的训练后模型的精度;最后,电子设备可将每个第六压缩策略对应的训练后模型的精度确定为每个第六压缩策略的精度。
其中,预设次数可根据实际需求设置,此处不作具体限制。
在一些实施例中,利用训练数据集对每个第六压缩策略对应的压缩后模型进行预设次数的训练,得到每个第六压缩策略对应的训练后模型,可以包括:
确定每个第六压缩策略对应的压缩后模型对应的权重;
利用训练数据集对每个第六压缩策略对应的压缩后模型进行预设次数的训练,以调整每个第六压缩策略对应的压缩后模型对应的权重,得到每个第五压缩策略对应的训练后模型。
在一些实施例中,为了减少训练过程中的迭代次数,可采取迁移学习的方法训练压缩后模型,也即,确定每个第六压缩策略对应的压缩后模型对应的权重,可以包括:
获取待压缩模型对应的权重;
利用预设的转移矩阵将所述待压缩模型对应的权重转换为每个第六压缩策略对应的压缩后模型对应的权重。
由于压缩后模型相对于待压缩模型进行了压缩,模型结构变得更小,被压缩的卷积层的输出通道数变少了,使得参数量变少。例如假设待压缩模型的某个卷积层有M个参数,而压缩后只剩下N个参数,N小于M,则需要引入一个M*N大小的转移矩阵Mtrans,该转移矩阵Mtrans即可为预设的转移矩阵。假设待压缩模型中该卷积层的权重为W,压缩后模型中该卷积层的权重为W’,则有W’=W*Mtrans。
在压缩后模型的训练过程中,通过不断更新Mtrans中的数值,进而更新W’。这里W是待压缩模型的权重,是固定的,不再改变的。如果待压缩模型中一共有N个卷积层,则一共有N个这样的权重。在训练过程中,转移矩阵Mtrans会被更新,进而使得W’同时也被更新。
其中,对于转移矩阵的更通俗的理解是,它是一个映射,将待压缩模型的某个卷积层的M个参数重新运算之后得到N个参数,从而可以填充到压缩后模型的该卷积层中。转移矩阵的权重是随机初始化的,在训练过程中被调整到一组最优的数值。
在一些实施例中,为了减少训练过程中的迭代次数,可采取元学习的策略训练压缩后模型,也即,确定每个第六压缩策略对应的压缩后模型对应的权重,可以包括:
基于待压缩模型、多个第六压缩策略和训练数据集,利用元学习的策略,确定初始化权重;
将初始化权重确定为每个第六压缩策略对应的压缩后模型对应的权重。
可以理解的是,面对不同的学习任务时,需要重新训练模型,以获得一组最优的权重,使得其达到收敛的状态。由于训练过程一般会消耗很多的训练资源,所以期望可以缩短训练的过程,使得模型尽快地达到收敛的状态。而元学习的策略可以为模型提供一组最优的初始化权重,使得该模型面对不同的任务时,从这组初始化权重出发,仅需少数的几次更新迭代就可以达到收敛的状态。其中,基于该模型、该模型对应的不同任务和该模型对应的训练数据集,利用元学习的策略,可以得到该模型对应的初始化权重。
在本申请实施例中,电子设备可基于待压缩模型、多个第六压缩策略和训练数据集,利用元学习的策略,通过相应的算法确定初始化权重。
比如,假设θ代表了元学习的策略提供的一组最优的初始化权重,分别代表了在三种新的任务上,这组权重θ对应的梯度。以任务1为例,对于任务1,需要更新θ,使得其更适合本任务。假设更新迭代一次后的权重为θ’,则有其中,η为学习率,也就是更新的步长,步长越大,更新的幅度也就越大,但是容易使得更新的结果的精度下降,这个参数一般是工程师根据经验选择,或者是采用算法自动计算得出。如此更新多次后,任务1得到最终的最优的权重为θ1。对于任务2和任务3以此类推。
其中,任务1、任务2和任务3可以为本申请实施例中的压缩后模型。本申请实施例中,由于只需对各压缩后模型训练预设次数,得到训练后模型,即可确定该训练后模型的精度用于后续从多个策略集合中选取用于压缩待压缩模型的压缩策略的策略集合。因此,在更新各压缩后模型的权重时,只需更新预设次数,比如5次即可,无需得到最终的最优的权重。
在一些实施例中,由于只对各压缩后模型训练预设次数,得到训练后模型,便直接确定该训练后模型的精度用于后续从多个策略集合中选取用于压缩待压缩模型的压缩策略的策略集合,那么,可以确定,在确定出用于压缩待压缩模型的压缩策略时,该压缩策略对应的训练后模型还不是处于收敛状态的训练后模型,那么,电子设备可对该压缩策略对应的训练后模型继续进行训练,直至该训练后模型达到收敛状态。其中,对该压缩策略对应的训练后模型继续进行训练时,可以采取迁移学习的方式或元学习的策略进行训练。
在一些实施例中,待压缩模型可以为深度学习模型,当确定出用于压缩待压缩模型的压缩策略之后,电子设备可根据该压缩策略对深度学习模型进行压缩处理,以得到压缩后的深度学习模型。
比如,可以在电子设备中部署相应的压缩后的深度学习模型,以应用于相机优化场景、语音识别(如智能语音助手)场景、人脸识别场景或手势识别场景等。其中,当部署了应用于相机优化场景的压缩后的深度学习模型后,可以实现如图片美化、人像美颜、图像降噪、着色处理(调整饱和度、对比度等)等功能。当部署了应用于语音识别场景的压缩后的深度学习模型后,可以实现如语音控制电子设备阅读短信、语音控制电子设备介绍餐厅、语音询问天气、语音设置闹钟等功能。当部署了应用于人脸识别场景的压缩后的深度学习模型之后,可实现人脸解锁、人脸支付等功能。当部署了应用于手势识别场景的压缩后的深度学习模型之后,可实现手势控制电子设备执行相应操作,如播放音乐、拍照等。
请参阅图2,图2是本申请实施例提供的模型压缩策略的确定方法的第一种流程示意图,流程可以包括:
201、电子设备从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将第一压缩策略从第一策略集合中剔除。
202、电子设备将第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略。
203、电子设备对第一压缩策略和第二压缩策略进行向量对比处理,以判断第二压缩策略对应的计算量是否小于第一压缩策略对应的计算量或是否无法比较出第一压缩策略对应的计算量和第二压缩策略对应的计算量大小。若第二压缩策略对应的计算量小于第一压缩策略对应的计算量或无法比较出第一压缩策略对应的计算量和第二压缩策略对应的计算量大小,则进入流程206;若第二压缩策略对应的计算量大于第一压缩策略对应的计算量,则进入流程204。
204、电子设备将第二压缩策略从第一策略集合中剔除。
205、电子设备将第一策略集合剩余的压缩策略中任一压缩策略更新为第二压缩策略,并返回执行流程203,直至得到第一策略集合中所有计算量小于或等于预设计算量的第三压缩策略。
206、电子设备根据第二压缩策略对待压缩模型进行压缩处理,得到压缩后模型,并计算压缩后模型的计算量。
207、电子设备判断压缩后模型的计算量是否大于预设计算量。若压缩后模型的计算量大于预设计算量,则进入流程208;若压缩后模型的计算量小于或等于预设计算量,则进入流程209。
208、当压缩后模型的计算量大于预设计算量时,电子设备将第二压缩策略从第一策略集合中剔除,将第一压缩策略和第二压缩策略中计算量较小的压缩策略确定为第一压缩策略,并返回执行202,直至得到第一策略集合中所有计算量小于或等于预设计算量的第四压缩策略。
209、当压缩后模型的计算量小于或等于预设计算量时,电子设备将第二压缩策略从第一策略集合中转出,并返回执行202,直至得到第一策略集合中所有计算量小于或等于预设计算量的第五压缩策略。
210、电子设备得到第一策略集合中所有计算量小于或等于预设计算量的第三压缩策略、第四压缩策略或第五压缩策略。
211、电子设备按照计算量从大到小的顺序对第三压缩策略、第四压缩策略或第五压缩策略进行排序。
212、电子设备将排序后的第三压缩策略、第四压缩策略或第五压缩策略划分为多个第二策略集合,其中,属于同一第二策略集合的第三压缩策略、第四压缩策略或第五压缩策略的序号是连续的。
213、电子设备从计算量最大的第二策略集合开始遍历第二策略集合,并判断遍历到的第二策略集合中是否存在至少一个精度小于预设精度的第六压缩策略。若是,则电子设备进入流程214。
214、电子设备将存在至少一个第六压缩策略的第二策略集合确定为第三策略集合,并根据第三策略集合,确定用于压缩待压缩模型的压缩策略。
其中,流程201至214的详细说明可参见上述实施例,此处不再赘述。
请参阅图3,图3为本申请实施例提供的模型压缩策略的确定装置的结构示意图。模型压缩策略的确定装置300包括:选取模块301、第一确定模块302、处理模块303、剔除模块304和第二确定模块305。
选取模块301,用于从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将所述第一压缩策略从第一策略集合中剔除;
第一确定模块302,用于将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略;
处理模块303,用于对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小;
剔除模块304,用于当所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量时,将所述第二压缩策略从第一策略集合中剔除;
第二确定模块305,用于根据所述第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。
在一些实施例中,第二确定模块305,可以用于:将所述第一策略集合剩余的压缩策略中任一压缩策略更新为第二压缩策略,并返回执行对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小,直至得到所述第一策略集合中所有计算量小于或等于预设计算量的第三压缩策略;根据所述第三压缩策略,确定用于压缩所述待压缩模型的压缩策略。
在一些实施例中,剔除模块304,可以用于:当所述第二压缩策略对应的计算量小于所述第一压缩策略对应的计算量,或无法比较出所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量大小时,根据所述第二压缩策略对所述待压缩模型进行压缩处理,得到压缩后模型,并计算所述压缩后模型的计算量;当所述压缩后模型的计算量大于预设计算量时,将所述第二压缩策略从所述第一策略集合中剔除,将所述第一压缩策略和第二压缩策略中计算量较小的压缩策略确定为第一压缩策略,并返回执行将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略的步骤,直至得到所述第一策略集合中所有计算量小于或等于预设计算量的第四压缩策略;根据所述第四压缩策略,确定用于压缩待压缩模型的压缩策略。
在一些实施例中,剔除模块304,可以用于:当所述压缩后模型的计算量小于或等于预设计算量时,将所述第二压缩策略从所述第一策略集合中转出,并返回执行将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略的步骤,直至得到所述第一策略集合中所有计算量小于或等于预设计算量的第五压缩策略;根据所述第五压缩策略,确定用于压缩待压缩模型的压缩策略。
在一些实施例中,第二确定模块305,可以用于:按照计算量从大到小的顺序对所述第三压缩策略进行排序;将排序后的第三压缩策略划分为多个第二策略集合,其中,属于同一第二策略集合的第三压缩策略的序号是连续的;从计算量最大的第二策略集合开始遍历所述第二策略集合,并判断遍历到的第二策略集合中是否存在至少一个精度小于预设精度的第六压缩策略;若是,则将遍历到的存在至少一个所述第六压缩策略的第二策略集合确定为第三策略集合,并根据所述第三策略集合,确定用于压缩所述待压缩模型的压缩策略。
在一些实施例中,第二确定模块305,可以用于:从所述第三策略集合中确定出精度大于或等于预设精度的第七压缩策略;根据所述第七压缩策略确定用于压缩所述待压缩模型的压缩策略。
在一些实施例中,压缩策略包括待压缩模型的每个卷积层剩余通道数,处理模块303,可以用于:将第一压缩策略每个卷积层剩余通道数与所述第二压缩策略对应卷积层剩余通道数进行比较,得到比较结果;当比较结果为第一比较结果时,判定所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量,所述第一比较结果为所述第二压缩策略包括的至少一个卷积层剩余通道数大于所述第一压缩策略包括的相应卷积层剩余通道数,所述第二压缩策略包括的其他卷积层剩余通道数等于所述第一压缩策略包括的相应卷积层剩余通道数;当比较结果为第二比较结果时,判定所述第二压缩策略对应的计算量小于所述第一压缩策略对应的计算量,所述第二比较结果为所述第二压缩策略包括的至少一个卷积层剩余通道数小于所述第一压缩策略包括的相应卷积层剩余通道数,所述第二压缩策略包括的其他卷积层剩余通道数等于所述第一压缩策略包括的相应卷积层剩余通道数;当比较结果为除所述第一比较结果和所述第二比较结果之外的结果时,判定无法比较出所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量大小。
本申请实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的模型压缩策略的确定方法中的流程。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的模型压缩策略的确定方法中的流程。
例如,上述电子设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图4,图4为本申请实施例提供的电子设备的结构示意图。
该电子设备400可以包括存储器401和处理器402等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器401可用于存储应用程序和数据。存储器401存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器402通过运行存储在存储器401的应用程序,从而执行各种功能应用以及数据处理。
处理器402是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器401内的应用程序,以及调用存储在存储器401内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
在本实施例中,电子设备中的处理器402会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器401中,并由处理器402来运行存储在存储器401中的应用程序,可以实现流程:
从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将所述第一压缩策略从第一策略集合中剔除;
将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略;
对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小;
当所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量时,将所述第二压缩策略从第一策略集合中剔除;
根据所述第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。
请参阅图5,电子设备400可以包括存储器401、处理器402、输入单元403和输出单元404等部件。
存储器401可用于存储应用程序和数据。存储器401存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器402通过运行存储在存储器401的应用程序,从而执行各种功能应用以及数据处理。
处理器402是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器401内的应用程序,以及调用存储在存储器401内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
输入单元403可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
输出单元404可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。输出单元可包括显示面板。
在本实施例中,电子设备中的处理器402会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器401中,并由处理器402来运行存储在存储器401中的应用程序,可以实现流程:
从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将所述第一压缩策略从第一策略集合中剔除;
将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略;
对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小;
当所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量时,将所述第二压缩策略从第一策略集合中剔除;
根据所述第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。
在一些实施方式中,处理器402执行所述根据所述第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略时,可以执行:将所述第一策略集合剩余的压缩策略中任一压缩策略更新为第二压缩策略,并返回执行对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小,直至得到所述第一策略集合中所有计算量小于或等于预设计算量的第三压缩策略;根据所述第三压缩策略,确定用于压缩所述待压缩模型的压缩策略。
在一些实施方式中,处理器402执行所述对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量大小之后,还可以执行:当所述第二压缩策略对应的计算量小于所述第一压缩策略对应的计算量,或无法比较出所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量大小时,根据所述第二压缩策略对所述待压缩模型进行压缩处理,得到压缩后模型,并计算所述压缩后模型的计算量;当所述压缩后模型的计算量大于预设计算量时,将所述第二压缩策略从所述第一策略集合中剔除,将所述第一压缩策略和第二压缩策略中计算量较小的压缩策略确定为第一压缩策略,并返回执行将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略的步骤,直至得到所述第一策略集合中所有计算量小于或等于预设计算量的第四压缩策略;根据所述第四压缩策略,确定用于压缩待压缩模型的压缩策略。
在一些实施方式中,处理器402执行所述根据所述第二压缩策略对所述待压缩模型进行压缩处理,得到压缩后模型,并计算所述压缩后模型的计算量之后,还可以执行:当所述压缩后模型的计算量小于或等于预设计算量时,将所述第二压缩策略从所述第一策略集合中转出,并返回执行将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略的步骤,直至得到所述第一策略集合中所有计算量小于或等于预设计算量的第五压缩策略;根据所述第五压缩策略,确定用于压缩待压缩模型的压缩策略。
在一些实施方式中,处理器402执行所述根据所述第三压缩策略,确定用于压缩待压缩模型的压缩策略时,可以执行:按照计算量从大到小的顺序对所述第三压缩策略进行排序;将排序后的第三压缩策略划分为多个第二策略集合,其中,属于同一第二策略集合的第三压缩策略的序号是连续的;从计算量最大的第二策略集合开始遍历所述第二策略集合,并判断遍历到的第二策略集合中是否存在至少一个精度小于预设精度的第六压缩策略;若是,则将遍历到的存在至少一个所述第六压缩策略的第二策略集合确定为第三策略集合,并根据所述第三策略集合,确定用于压缩所述待压缩模型的压缩策略。
在一些实施方式中,处理器402执行所述根据所述第三策略集合,确定用于压缩所述待压缩模型的压缩策略时,可以执行:从所述第三策略集合中确定出精度大于或等于预设精度的第七压缩策略;根据所述第七压缩策略确定用于压缩所述待压缩模型的压缩策略。
在一些实施方式中,压缩策略包括待压缩模型的每个卷积层剩余通道数,处理器402执行所述对所述第一压缩策略和所述第二压缩策略进行向量对比处理时,可以执行:将第一压缩策略每个卷积层剩余通道数与所述第二压缩策略对应卷积层剩余通道数进行比较,得到比较结果;当比较结果为第一比较结果时,判定所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量,所述第一比较结果为所述第二压缩策略包括的至少一个卷积层剩余通道数大于所述第一压缩策略包括的相应卷积层剩余通道数,所述第二压缩策略包括的其他卷积层剩余通道数等于所述第一压缩策略包括的相应卷积层剩余通道数;当比较结果为第二比较结果时,判定所述第二压缩策略对应的计算量小于所述第一压缩策略对应的计算量,所述第二比较结果为所述第二压缩策略包括的至少一个卷积层剩余通道数小于所述第一压缩策略包括的相应卷积层剩余通道数,所述第二压缩策略包括的其他卷积层剩余通道数等于所述第一压缩策略包括的相应卷积层剩余通道数;当比较结果为除所述第一比较结果和所述第二比较结果之外的结果时,判定无法比较出所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量大小。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对模型压缩策略的确定方法的详细描述,此处不再赘述。
本申请实施例提供的所述模型压缩策略的确定装置与上文实施例中的模型压缩策略的确定方法属于同一构思,在所述模型压缩策略的确定装置上可以运行所述模型压缩策略的确定方法实施例中提供的任一方法,其具体实现过程详见所述模型压缩策略的确定方法实施例,此处不再赘述。
需要说明的是,对本申请实施例所述模型压缩策略的确定方法而言,本领域普通技术人员可以理解实现本申请实施例所述模型压缩策略的确定方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述模型压缩策略的确定方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
对本申请实施例的所述模型压缩策略的确定装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
以上对本申请实施例所提供的一种模型压缩策略的确定方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种模型压缩策略的确定方法,其特征在于,包括:
从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将所述第一压缩策略从第一策略集合中剔除;
将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略;
对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小;
当所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量时,将所述第二压缩策略从第一策略集合中剔除;
根据所述第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。
2.根据权利要求1所述的模型压缩策略的确定方法,其特征在于,所述根据所述第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略,包括:
将所述第一策略集合剩余的压缩策略中任一压缩策略更新为第二压缩策略,并返回执行对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小,直至得到所述第一策略集合中所有计算量小于或等于预设计算量的第三压缩策略;
根据所述第三压缩策略,确定用于压缩所述待压缩模型的压缩策略。
3.根据权利要求2所述的模型压缩策略的确定方法,其特征在于,所述对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量大小之后,还包括:
当所述第二压缩策略对应的计算量小于所述第一压缩策略对应的计算量,或无法比较出所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量大小时,根据所述第二压缩策略对所述待压缩模型进行压缩处理,得到压缩后模型,并计算所述压缩后模型的计算量;
当所述压缩后模型的计算量大于预设计算量时,将所述第二压缩策略从所述第一策略集合中剔除,将所述第一压缩策略和第二压缩策略中计算量较小的压缩策略确定为第一压缩策略,并返回执行将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略的步骤,直至得到所述第一策略集合中所有计算量小于或等于预设计算量的第四压缩策略;
根据所述第四压缩策略,确定用于压缩待压缩模型的压缩策略。
4.根据权利要求3所述的模型压缩策略的确定方法,其特征在于,所述根据所述第二压缩策略对所述待压缩模型进行压缩处理,得到压缩后模型,并计算所述压缩后模型的计算量之后,还包括:
当所述压缩后模型的计算量小于或等于预设计算量时,将所述第二压缩策略从所述第一策略集合中转出,并返回执行将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略的步骤,直至得到所述第一策略集合中所有计算量小于或等于预设计算量的第五压缩策略;
根据所述第五压缩策略,确定用于压缩待压缩模型的压缩策略。
5.根据权利要求4所述的模型压缩策略的确定方法,其特征在于,所述根据所述第三压缩策略,确定用于压缩待压缩模型的压缩策略,包括:
按照计算量从大到小的顺序对所述第三压缩策略进行排序;
将排序后的第三压缩策略划分为多个第二策略集合,其中,属于同一第二策略集合的第三压缩策略的序号是连续的;
从计算量最大的第二策略集合开始遍历所述第二策略集合,并判断遍历到的第二策略集合中是否存在至少一个精度小于预设精度的第六压缩策略;
若是,则将遍历到的存在至少一个所述第六压缩策略的第二策略集合确定为第三策略集合,并根据所述第三策略集合,确定用于压缩所述待压缩模型的压缩策略。
6.根据权利要求5所述的模型压缩策略的确定方法,其特征在于,所述根据所述第三策略集合,确定用于压缩所述待压缩模型的压缩策略,包括:
从所述第三策略集合中确定出精度大于或等于预设精度的第七压缩策略;
根据所述第七压缩策略确定用于压缩所述待压缩模型的压缩策略。
7.根据权利要求1至6任一项所述的模型压缩策略的确定方法,其特征在于,压缩策略包括待压缩模型的每个卷积层剩余通道数,所述对所述第一压缩策略和所述第二压缩策略进行向量对比处理,包括:
将所述第一压缩策略每个卷积层剩余通道数与所述第二压缩策略对应卷积层剩余通道数进行比较,得到比较结果;
当所述比较结果为第一比较结果时,判定所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量,所述第一比较结果为所述第二压缩策略包括的至少一个卷积层剩余通道数大于所述第一压缩策略包括的相应卷积层剩余通道数,所述第二压缩策略包括的其他卷积层剩余通道数等于所述第一压缩策略包括的相应卷积层剩余通道数;
当所述比较结果为第二比较结果时,判定所述第二压缩策略对应的计算量小于所述第一压缩策略对应的计算量,所述第二比较结果为所述第二压缩策略包括的至少一个卷积层剩余通道数小于所述第一压缩策略包括的相应卷积层剩余通道数,所述第二压缩策略包括的其他卷积层剩余通道数等于所述第一压缩策略包括的相应卷积层剩余通道数;
当所述比较结果为除所述第一比较结果和所述第二比较结果之外的结果时,判定无法比较出所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量大小。
8.一种模型压缩策略的确定装置,其特征在于,包括:
选取模块,用于从第一策略集合中选取出计算量大于预设计算量的第一压缩策略,并将所述第一压缩策略从第一策略集合中剔除;
第一确定模块,用于将所述第一策略集合剩余的压缩策略中任一压缩策略确定为第二压缩策略;
处理模块,用于对所述第一压缩策略和所述第二压缩策略进行向量对比处理,以比较所述第一压缩策略对应的计算量和所述第二压缩策略对应的计算量的大小;
剔除模块,用于当所述第二压缩策略对应的计算量大于所述第一压缩策略对应的计算量时,将所述第二压缩策略从第一策略集合中剔除;
第二确定模块,用于根据所述第一策略集合剩余的压缩策略,确定用于压缩待压缩模型的压缩策略。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行权利要求1至7任一项所述的模型压缩策略的确定方法。
10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行权利要求1至7任一项所述的模型压缩策略的确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110412892.6A CN115222037A (zh) | 2021-04-16 | 2021-04-16 | 模型压缩策略的确定方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110412892.6A CN115222037A (zh) | 2021-04-16 | 2021-04-16 | 模型压缩策略的确定方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115222037A true CN115222037A (zh) | 2022-10-21 |
Family
ID=83604186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110412892.6A Pending CN115222037A (zh) | 2021-04-16 | 2021-04-16 | 模型压缩策略的确定方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115222037A (zh) |
-
2021
- 2021-04-16 CN CN202110412892.6A patent/CN115222037A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109376615B (zh) | 用于提升深度学习网络预测性能的方法、装置及存储介质 | |
CN110473141B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN111428645A (zh) | 人体关键点的检测方法、装置、电子设备及存储介质 | |
US11822900B2 (en) | Filter processing device and method of performing convolution operation at filter processing device | |
WO2019006541A1 (en) | SYSTEM AND METHOD FOR AUTOMATIC CONSTRUCTION OF LEARNING MACHINES USING LEARNING MACHINES | |
CN111105017A (zh) | 神经网络量化方法、装置及电子设备 | |
KR20220045424A (ko) | 인공 신경망을 압축하는 방법 및 장치 | |
US20240233358A9 (en) | Image classification method, model training method, device, storage medium, and computer program | |
CN111008631A (zh) | 图像的关联方法及装置、存储介质和电子装置 | |
CN111985597A (zh) | 模型压缩方法及装置 | |
CN114168318A (zh) | 存储释放模型的训练方法、存储释放方法及设备 | |
CN111523642A (zh) | 用于卷积运算的数据重用方法、运算方法及装置、芯片 | |
CN109978058B (zh) | 确定图像分类的方法、装置、终端及存储介质 | |
CN110610140A (zh) | 人脸识别模型的训练方法、装置、设备及可读存储介质 | |
CN108520532B (zh) | 识别视频中物体运动方向的方法及装置 | |
CN111344719A (zh) | 基于深度神经网络的数据处理方法、装置及移动设备 | |
CN110135428A (zh) | 图像分割处理方法和装置 | |
CN109359727A (zh) | 神经网络的结构确定方法、装置、设备及可读介质 | |
CN115222037A (zh) | 模型压缩策略的确定方法、装置、存储介质及电子设备 | |
CN108681480B (zh) | 后台应用程序管控方法、装置、存储介质及电子设备 | |
CN113887535B (zh) | 模型训练方法、文本识别方法、装置、设备和介质 | |
CN113961765B (zh) | 基于神经网络模型的搜索方法、装置、设备和介质 | |
CN115700845A (zh) | 人脸识别模型训练方法、人脸识别方法、装置及相关设备 | |
CN113157453B (zh) | 一种基于任务复杂度的高能效目标检测任务动态调度方法 | |
CN115409159A (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 |