本申请涉及数据处理,更具体地,涉及一种模型压缩方法、装置、电子设备以及存储介质。
背景技术:
1、随着人工智能技术的不断发展,基于卷积神经网络的深度学习技术在视觉、语言的相关领域任务上取得了较好的成果,然而,这些成果很大程度上依赖于网络结构的复杂程度和庞大的参数量,对计算机的算力和内存有着较高的要求,对于一些边缘设备(例如手机、摄像头等),其算力和内存是严重受限的,这就限制了深度卷积神经网络在这些设备上的部署和应用。
技术实现思路
1、鉴于上述问题,本申请提出了一种模型压缩方法、装置、电子设备以及存储介质,以改善上述问题。
2、第一方面,本申请实施例提供了一种模型压缩方法,应用于电子设备,所述电子设备配置有卷积神经网络模型,所述方法包括:将所述卷积神经网络模型分别输入多个剪枝算法,得到与多个剪枝算法分别对应的掩膜集合,所述卷积神经网络模型包括多个网络层,每个掩膜集合包括与所述多个网络层分别对应的掩膜;选取与所述多个网络层各自对应的目标掩膜,得到多个目标掩膜;根据所述多个目标掩膜得到融合掩膜;基于所述融合掩膜对所述卷积神经网络模型进行剪枝,得到目标卷积神经网络模型。
3、第二方面,本申请实施例提供了一种模型压缩装置,运行于电子设备,所述电子设备配置有卷积神经网络模型,所述装置包括:掩膜集合获取模块,用于将所述卷积神经网络模型分别输入多个剪枝算法,得到与多个剪枝算法分别对应的掩膜集合,所述卷积神经网络模型包括多个网络层,每个掩膜集合包括与所述多个网络层分别对应的掩膜;掩膜选取模块,用于选取与所述多个网络层各自对应的目标掩膜,得到多个目标掩膜;融合掩膜获取模块,用于根据所述多个目标掩膜得到融合掩膜;模型压缩模块,用于基于所述融合掩膜对所述卷积神经网络模型进行剪枝,得到目标卷积神经网络模型。
4、第三方面,本申请提供了一种电子设备,包括一个或多个处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面所述的方法。
5、第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述第一方面所述的方法。
6、本申请提供的一种模型压缩方法、装置、电子设备以及存储介质,本方法通过将所述卷积神经网络模型分别输入多个剪枝算法,得到与多个剪枝算法分别对应的掩膜集合,所述卷积神经网络模型包括多个网络层,每个掩膜集合包括与所述多个网络层分别对应的掩膜;选取与所述多个网络层各自对应的目标掩膜,得到多个目标掩膜;根据所述多个目标掩膜得到融合掩膜;基于所述融合掩膜对所述卷积神经网络模型进行剪枝,得到目标卷积神经网络模型。从而通过上述方式实现了根据多个剪枝算法各自的测度判断得到的掩膜获取融合掩膜,使得能够更精准地判断通道的冗余程度,实现更高的压缩率,从而提升将卷积神经网络模型部署和应用到算力和内存受限的边缘设备的可能性。
1.一种模型压缩方法,其特征在于,应用于电子设备,所述电子设备配置有卷积神经网络模型,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述选取与所述多个网络层各自对应的目标掩膜,得到多个目标掩膜,包括:
3.根据权利要求2所述的方法,其特征在于,所述分别将与所述多个网络层各自对应的掩膜中满足目标条件的掩膜选取作为目标掩膜,得到多个目标掩膜,包括:
4.根据权利要求2所述的方法,其特征在于,所述分别将与所述多个网络层各自对应的掩膜中满足目标条件的掩膜选取作为目标掩膜,得到多个目标掩膜,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述多个目标掩膜得到融合掩膜,包括:
6.根据权利要求1所述的方法,其特征在于,所述基于所述融合掩膜对所述卷积神经网络模型进行剪枝,得到目标卷积神经网络模型,包括:
7.根据权利要求1-6任一所述的方法,其特征在于,所述多个剪枝算法中每个剪枝算法的测度不同,所述将所述卷积神经网络模型分别输入多个剪枝算法,得到与多个剪枝算法分别对应的掩膜集合,包括:
8.一种模型压缩装置,其特征在于,运行于电子设备,所述电子设备配置有卷积神经网络模型,所述装置包括:
9.一种电子设备,其特征在于,包括一个或多个处理器以及存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-7任一所述的方法。