掌桥专利:专业的专利平台
掌桥专利
首页

一种基于设备参数的模型处理方法及电子设备

文献发布时间:2023-06-19 11:35:49


一种基于设备参数的模型处理方法及电子设备

技术领域

本申请涉及人工智能领域,特别涉及一种基于设备参数的模型处理方法及电子设备。

背景技术

“边缘智能”是指将人工智能应用在边缘设备,以使人工智能能够普及到普通用户的真实生活中,但边缘设备(如移动手机的Face ID、无人机、去中心化自动驾驶系统等)的计算和存储等资源有限,且随着人工智能领域对机器智能化需求的提高,神经网络的结构设计得愈加复杂,所需的计算量和存储空间也随之大大增加,这使得深度神经网络难以在边缘设备上部署,因此,目前的神经网络依然没有深度应用在普通用户层面,如何将深度学习模型部署在资源受限的边缘设备,是亟需解决的技术问题。

发明内容

本申请提供了一种基于设备参数的模型处理方法,包括:

解析目标设备的空间容量和待安装的目标模型所需的空间容量,所述目标模型包括至少一个卷积层;

在所述目标设备的空间容量不满足所述目标模型所需的空间容量的情况下,基于所述目标设备的空间容量确定所述目标模型的压缩比率;

基于所述压缩比率缩限所述目标模型中符合预设条件的卷积层的结构,以实现对所述目标模型的压缩;

将压缩后的模型安装到所述目标设备中。

在一个实施例中,基于所述压缩比率缩限所述目标模型中符合预设条件的卷积层的结构,包括:

提取所述目标模型中位于同一卷积层的卷积滤波器;

确定卷积滤波器的相似度参数;

根据所述相似度参数选取所述卷积层中符合预设条件的卷积滤波器;

对所述卷积层中符合预设条件的卷积滤波器进行删除操作,以实现对所述目标模型中卷积层的压缩。

在一个实施例中,所述确定卷积滤波器的相似度参数,包括:

确定同一卷积层的所有卷积滤波器对应的向量;

确定每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度;

将每个滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度进行加权求和;

确定进行所述加权求和所得到的和值为每个滤波器对应的相似度参数。

在一个实施例中,所述确定每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度,包括:

根据每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的夹角和向量长度计算每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度;

其中,向量之间的夹角大于预设角度时,相似度取负值;向量之间的夹角小于预设角度时,相似度取正值。

在一个实施例中,将每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度进行加权求和,包括:

确定位于同一卷积层的卷积滤波器所对应的相似度矩阵,其中,所述相似度矩阵中的每个元素用于表征相应卷积滤波器对应的向量与同一层所有卷积滤波器对应向量之间的相似度值;

从所述相似度矩阵提取所有相似度值,并为每一个相似度值赋予权重,其中,相似度值为正值则赋予第一权重,相似度值为负值则赋予第二权重,所述第一权重大于第二权重;

将赋予权重之后的相似度进行求和计算。

在一个实施例中,根据所述相似度参数选取所述卷积层中符合预设条件的卷积滤波器,包括:

根据相似度参数从大到小的顺序对所述同一卷积层的卷积滤波器进行排序,以形成排序后的卷积滤波器队列;

从排序后的卷积滤波器队列中选取排序位置符合预设位置的卷积滤波器作为符合预设条件的卷积滤波器。

在一个实施例中,根据所述相似度参数选取所述卷积层中符合预设条件的卷积滤波器,包括:

确定相似度参数位于预设区间的的卷积滤波器为符合预设条件的卷积滤波器。

在一个实施例中,所述目标设备的空间容量通过以下方式获取:

获取所述目标模型的属性参数;

根据所述属性参数确定所述目标模型所需的空间容量,其中,所述目标模型所需空间容量至少包括安装所述目标模型所需的存储空间容量和缓存空间容量;

所述目标设备的空间容量通过以下方式获取:

获取所述目标设备对应的配置参数表;

从所述配置参数表中获取所述目标设备的空间容量,所述目标设备的空间容量至少包括所述目标设备的存储空间容量和缓存空间容量。

在一个实施例中,所述基于所述目标设备的空间容量确定所述目标模型的压缩比率,包括:

根据所述目标模型所需的存储空间和所述目标设备的存储空间容量确定第一比率;

根据所述目标模型所需的缓存空间和所述目标设备的缓存空间容量确定第二比率;

确定所述第一比率和第二比率二者的最大值为所述目标模型的压缩比率。

本申请还提供一种电子设备,包括:

解析模块,用于解析目标设备的空间容量和待安装的目标模型所需的空间容量,所述目标模型包括至少一个卷积层;

确定模块,用于在所述目标设备的空间容量不满足所述目标模型所需的空间容量的情况下,基于所述目标设备的空间容量确定所述目标模型的压缩比率;

缩限模块,用于基于所述压缩比率缩限所述目标模型中符合预设条件的卷积层的结构,以实现对所述目标模型的压缩;

安装模块,用于将压缩后的模型安装到所述目标设备中。

本申请还提供一种电子设备,包括:

处理器;

用于存储所述处理器中可执行指令的存储器;

其中,所述处理器被配置为执行上述任一实施例所提供的基于设备参数的模型处理方法。

在安装目标模型的设备的空间容量不满足目标模型所需的空间容量的情况下,基于设备参数自动确定目标模型的压缩比率,并基于该压缩比率对目标模型进行压缩;使得压缩后的模型能够适配目标设备的空间容量,从而实现了将深度学习模型部署在资源受限的设备的目的。

附图说明

图1为本申请一实施例中一种基于设备参数的模型处理方法的流程图;

图2为本申请另一实施例中一种基于设备参数的模型处理方法的流程图;

图3为本申请一实施例中一种电子设备的框图;

图4为本申请另一实施例中一种电子设备的框图。

具体实施方式

此处参考附图描述本申请的各种方案以及特征。

应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。

包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。

通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。

还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式。

当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。

此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。

本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。

图1为本申请实施例的一种基于设备参数的模型处理方法的流程图,该方法包括以下步骤S11-S14:

在步骤S11中,解析目标设备的空间容量和待安装的目标模型所需的空间容量,目标模型包括至少一个卷积层;

在将一待安装的目标模型安装到目标设备之前,可以从待安装目标模型当前所在的设备中获得目标模型的属性参数,然后从该属性参数中获得目标模型所需的空间容量。而在解析目标设备的空间容量时,可以获取目标设备的配置参数表,根据该配置参数表即系目标设备的空间容量。

在步骤S12中,在目标设备的空间容量不满足目标模型所需的空间容量的情况下,基于目标设备的空间容量确定目标模型的压缩比率;

例如,目标设备为一嵌入式开发板,待安装的目标模型为一人脸检测模型,根据上述步骤S11解析后,确定该目标模型的文件大小为237M,所需的缓存空间大小为4045k,中央处理器存储空间为512K,显卡存储空间64K,缓存空间576K;外部存储空间9M;假设需要在该开发板运行一目标模型(例如,人脸检测模型);该目标模型的文件大小为237M,所需的缓存空间大小为4045K。

在基于目标设备的空间容量确定目标模型的压缩比率时,根据目标模型所需的存储空间和目标设备的存储空间容量确定第一比率;根据目标模型所需的缓存空间和目标设备的缓存空间容量确定第二比率;确定第一比率和第二比率二者的最大值为目标模型的压缩比率。具体的,计算得到第一比率为(237-9)/237=0.962025;第二比率为(4045-576)/4045=0.857602。确定第一比率和第二比率二者的最大值为目标模型的压缩比率,由于第一比率大于第二比率,因此,最终得到的目标模型的压缩比率为0.962025。

在步骤S13中,基于压缩比率缩限目标模型中符合预设条件的卷积层的结构,以实现对目标模型的压缩;

该步骤中,可以对卷积层中的卷积滤波器进行删除,在删除时提取目标模型中位于同一卷积层的卷积滤波器;确定卷积滤波器的相似度参数;根据相似度参数选取卷积层中符合预设条件的卷积滤波器;对卷积层中符合预设条件的卷积滤波器进行删除操作,以实现对目标模型中卷积层的压缩。

根据神经网络的特性,与其他滤波器差相似度大的滤波器能够有效代表其余滤波器,而与其他滤波器相似度小的滤波器能够保证在对输入量进行卷积时特征的差异性。因此,相似度较大或较小的滤波器需要保留,在这种基础上,可以将相似度位于某个区间内的滤波器所在的卷积层作为符合预设条件的卷积层。且将相似度位于某个区间内的滤波器作为需要剔除的滤波器。当然,也可以将相似度排名位于某个区间的滤波器作为需要剔除的滤波器,这种确定需要剔除的卷积滤波器的方式将在下文示例中着重介绍。

在步骤S14中,将压缩后的模型安装到目标设备中。

当然,需要说明的是,上述步骤S12中所涉及的目标设备的空间容量不满足目标模型所需的空间容量的情况不仅限于上述实例,还可以是目标设备预先配置安装的各类应用程序的大小不能超过设定值,当要安装的目标模型的大小超过该设定值,也可以看作标设备的空间容量不满足目标模型所需的空间容量的情况;又例如,通常情况下,当安装的应用所占用的存储空间超过目标设备总存储空间的十分之一时,该目标设备的其他配置也无法满足改应用所需的要求,因此,安装的应用所占用的存储空间超过目标设备总存储空间的十分之一的情况也可以看作标设备的空间容量不满足目标模型所需的空间容量的情况;再例如,目标设备中存储有很多应用,目标设备的剩余空间不满足目标模型所需的空间容量的情况可以看作标设备的空间容量不满足目标模型所需的空间容量的情况。

确定卷积滤波器的相似度参数时,确定同一卷积层的所有卷积滤波器对应的向量;根据每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的夹角和向量长度计算每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度;其中,向量之间的夹角大于预设角度时,相似度取负值;向量之间的夹角小于预设角度时,相似度取正值;确定位于同一卷积层的卷积滤波器所对应的相似度矩阵。

其中,相似度矩阵中的每个元素用于表征相应卷积滤波器对应的向量与同一层所有卷积滤波器对应向量之间的相似度值。

从相似度矩阵提取所有相似度值,并为每一个相似度值赋予权重,其中,相似度值为正值则赋予第一权重,相似度值为负值则赋予第二权重,第一权重大于第二权重;将赋予权重之后的相似度进行求和计算;确定进行加权求和所得到的和值为每个滤波器对应的相似度参数,具体的,可通过如下公式计算每个滤波器对应的相似度参数

其中,β为第一权重,α为第二权重。

举例来说,本申请可以采用Tonimoto系数来计算两个卷积滤波器的相似度,Tonimoto系数在计算向量时既考虑向量的夹角,也考虑向量的长度,根据Tonimoto系数计算出两个向量的相似度即为卷积滤波器的相似度参数,Tonimoto系数的具体计算公式如下:

其中w

假如第i层有100个卷积滤波器,一个卷积滤波器输出一张特征图,目标是裁剪50个卷积滤波器。

根据Tonimoto系数算出每个卷积滤波器与其他99个卷积滤波器的相似度,将得到100*100的相似度矩阵,如果两卷积滤波器向量的T相似度为负数,则它们之间的夹角为90-180°之间,相差较大,相似度低,在这里我们只考虑它们夹角的值,即将两个向量的长度都归一化到1,当Tonimoto系数绝对值越来越小时,两者之间的夹角越来越小,相似度越来越大,计算公式为:

其中,上述公式的意义在于:如果两向量的Tonimoto系数小于或等于0时,两向量的相似度为归一化之后向量的Tonimoto系数,如果两向量的Tonimoto系数大于0时,两向量的相似度为原始向量(未归一化之前)的Tonimoto系数。

根据相似度矩阵s和公式

例如,第一个卷积滤波器与其他99个卷积核的相似度为:

选择方式是首先挑选一个与其他滤波器相似度最大的一个滤波器(在排列Q中第一个值q1对应的滤波器),这样的一个滤波器最能有效代表其余滤波器的,然后挑选与其他滤波器差异性最大(在排列Q中最后一个值q100对应的滤波器)的滤波器,这样的一个滤波器是与其他滤波器差异性最大的滤波器,能保证提取的特征的差异性,依次选择与其他滤波器差异次小的滤波器和与其他滤波器差异性次大的滤波器,直到选择滤波器个数为50个,这样选择的结果是剔除了一些与其他滤波器相似度不高并且差异性小的滤波器。

也就是说,在压缩时,可以基于相似度参数对同一卷积层的卷积滤波器进行排序,以形成排序后的卷积滤波器队列,然后从中间选取50个滤波器作为符合预设条件的卷积滤波器。

在一个实施例中,如图2所示,上述步骤S13可被实施为以下步骤S131-S134:

在步骤S131中,提取目标模型中位于同一卷积层的卷积滤波器;

通常情况下,目标模型包含多个卷积层,而在确定压缩比率之后,因为要对同一层的卷积滤波器基于相似度进行压缩,所以需要对同一卷积层的卷积滤波器进行提取。

在步骤S132中,确定卷积滤波器的相似度参数;

该相似度参数可以为卷积滤波器的T相似度,假设卷积层中有100个滤波器。基于Tonimoto系数算出每个卷积滤波器与自身以及其他99个卷积滤波器的相似度之后,再对这些相似度根据公式

在步骤S133中,根据相似度参数选取卷积层中符合预设条件的卷积滤波器;

例如,压缩比率为50%,假设模型仅由三个卷积层构成,这三个卷积层的卷积滤波器个数分别为1000、600和100,通常情况下,同一卷积层的卷积滤波器大小相同,不同卷积层的滤波器大小不同,所以,可选择每个卷积层都按照压缩比例剔除相应个数的卷积滤波器,即三个卷积层对应需要剔除的卷积滤波器的个数分别为500、300和50。具体的,可以基于T相似度确定每个卷积滤波器的排名,然后确定第一个卷积层中排名在251-750的500个卷积滤波器为符合预设条件的卷积滤波器,确定第二个卷积层中排名在151-450的300个卷积滤波器为符合预设条件的卷积滤波器,确定第三个卷积层中排名在26-75的50个卷积滤波器为符合预设条件的卷积滤波器。

在步骤S134中,对卷积层中符合预设条件的卷积滤波器进行删除操作,以实现对目标模型中卷积层的压缩。

具体的,可以基于T相似度确定每个卷积滤波器的排名,然后将第一个卷积层中排名在251-750的500个卷积滤波器剔除,将第二个卷积层中排名在151-450的300个卷积滤波器剔除,将第三个卷积层中排名在26-75的50个卷积滤波器剔除。

举例而言,假如第i层有100个卷积滤波器,一个卷积滤波器输出一张特征图,目标是裁剪50个卷积滤波器。

根据Tonimoto系数算出每个卷积滤波器与其他99个卷积滤波器的相似度,将得到100*100的相似度矩阵s,

例如,第一个卷积滤波器与其他99个卷积核的相似度为:

选择方式是首先挑选一个与其他滤波器相似度最大的一个滤波器(在排列Q中第一个值q1对应的滤波器),这样的一个滤波器最能有效代表其余滤波器的,然后挑选与其他滤波器差异性最大(在排列Q中最后一个值q100对应的滤波器)的滤波器,这样的一个滤波器是与其他滤波器差异性最大的滤波器,能保证提取的特征的差异性,依次选择与其他滤波器差异次小的滤波器和与其他滤波器差异性次大的滤波器,直到选择滤波器个数为50个,这样选择的结果是剔除了一些与其他滤波器相似度不高并且差异性小的滤波器。

在一个实施例中,上述步骤S132可被实施为以下步骤A1-A4:

在步骤A1中,确定同一卷积层的所有卷积滤波器对应的向量;

在步骤A2中,确定每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度;

在步骤A3中,将每个滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度进行加权求和;

在步骤A4中,确定进行加权求和所得到的和值为每个滤波器对应的相似度参数。

本实施例中,仍然沿用上述实例,确定第i层的100个卷积滤波器对应的向量,确定每个卷积滤波器对应的向量与自身以及其他99个卷积滤波器的相似度,为:

在一个实施例中,上述步骤A2可被实施为以下步骤:

根据每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的夹角和向量长度计算每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度;其中,向量之间的夹角大于预设角度时,相似度取负值;向量之间的夹角小于预设角度时,相似度取正值。

具体的,该预设角度可以为90度,当向量之间的夹角大于90度时,向量之间的相似度为负,当向量之间的夹角小于90度时,向量之间的相似度为正,当向量之间的夹角等于90度时,向量之间的相似度为C。

在一个实施例中,上述步骤A3可被实施为以下步骤B1-B3:

在步骤B1中,确定位于同一卷积层的卷积滤波器所对应的相似度矩阵,其中,相似度矩阵中的每个元素用于表征相应卷积滤波器对应的向量与同一层所有卷积滤波器对应向量之间的相似度值;

在步骤B2中,从相似度矩阵提取所有相似度值,并为每一个相似度值赋予权重,其中,相似度值为正值则赋予第一权重,相似度值为负值则赋予第二权重,第一权重大于第二权重;

在步骤B3中,将赋予权重之后的相似度进行求和计算。

如果两卷积滤波器向量的T相似度为负数,则它们之间的夹角为90-180°之间,相差较大,相似度低,在这里我们只考虑它们夹角的值,即将两个向量的长度都归一化到1,当Tonimoto系数绝对值越来越小时,两者之间的夹角越来越小,相似度越来越大,计算公式为:

其中,上述公式的意义在于:如果两向量的Tonimoto系数小于或等于0时,两向量的相似度为归一化之后向量的Tonimoto系数,如果两向量的Tonimoto系数大于0时,两向量的相似度为原始向量(未归一化之前)的Tonimoto系数。

根据相似度矩阵s和公式

在一个实施例中,上述步骤S133可被实施为以下步骤C1-C2:

在步骤C1中,根据相似度参数从大到小的顺序对同一卷积层的卷积滤波器进行排序,以形成排序后的卷积滤波器队列;

仍然沿用上述实例,假设第i层滤波器有100个卷积滤波器,需要删除50个滤波器,那么,计算每个卷积滤波器的T相似度,然后得到100个卷积滤波器分别对应的T相似度,将这100滤波器根据T相似度大小进行排序。

在步骤C2中,从排序后的卷积滤波器队列中选取排序位置符合预设位置的卷积滤波器作为符合预设条件的卷积滤波器。

该步骤中,选取排序队列中排序位置为第26-75的卷积滤波器作为符合预设条件的卷积滤波器。

在一个实施例中,上述步骤S133可被实施为以下步骤:

确定相似度参数位于预设区间的的卷积滤波器为符合预设条件的卷积滤波器。

相似度参数大的滤波器,表明该滤波器与其他滤波器的相似度大,这样的滤波器可以有效代表其余滤波器,需要保留这样的滤波器;而相似度参数小的滤波器,表明该滤波器与其他滤波器的相似度小,这样的滤波器是与其他滤波器差异性大的滤波器,能保证提取的特征的差异性,这样的滤波器也需要保留,因此,可以选取一预设区间,将相似度参数位于该预设区间内的的卷积滤波器作为符合预设条件的卷积滤波器进行删除,从而保留相似度参数大的滤波器以及相似度参数小的滤波器。

在一个实施例中,目标设备的空间容量通过以下步骤D1-D2获取:

在步骤D1中,获取目标模型的属性参数;

在步骤D2中,根据属性参数确定目标模型所需的空间容量,其中,目标模型所需空间容量至少包括安装目标模型所需的存储空间容量和缓存空间容量;

目标设备的空间容量通过以下步骤D3-D4获取:

在步骤D3中,获取目标设备对应的配置参数表;

在步骤D4中,从配置参数表中获取目标设备的空间容量,目标设备的空间容量至少包括目标设备的存储空间容量和缓存空间容量。

在一个实施例中,上述步骤S12可被实施为以下步骤E1-E3:

在步骤E1中,根据目标模型所需的存储空间和目标设备的存储空间容量确定第一比率;

举例而言,假设目标设备为一嵌入式开发板,该嵌入式开发板的配置参数表如下:中央处理器存储空间为512K,显卡存储空间64K,缓存空间576K;外部存储空间9M;假设需要在该开发板运行一目标模型(例如,人脸检测模型);该目标模型的文件大小为237M,所需的缓存空间大小为4045K。

根据目标模型所需的存储空间和目标设备的存储空间容量确定第一比率为(237-9)/237=0.962025;

而在计算第一比率时,不仅限于单纯考虑二者存储空间的大小,还需要基于模型的类型考虑是否需要预留存储空间以及预留多大的存储空间来保证输入量的存放。例如,模型为一视频识别系统,那么,在安装模型之后,还需要考虑模型中需预留足够的空间存放要识别的视频,如预留500M的空间;又例如,模型为一图像识别系统,那么,输入量为图像,需要考虑预留足够存放要识别的图像的存储空间,如预留100M的空间,又例如,模型为一语音识别系统,那么,输入量为音频,需要考虑预留足够存放要识别的声音的存储空间,例如,预留50M的空间。即不同模型的输入量的类型是不同的,因此,可以基于模型的类型考虑在压缩之后还需要余力多大的空间用于存放模型的输入信息,因此,不同类型的模型也会导致第一比率的不同。

人脸识别系统,图像识别系统,语音识别系统等,那么,

在步骤E2中,根据目标模型所需的缓存空间和目标设备的缓存空间容量确定第二比率;

根据目标模型所需的缓存空间和目标设备的缓存空间容量确定第二比率为(4045-576)/4045=0.857602;

在步骤E3中,确定第一比率和第二比率二者的最大值为目标模型的压缩比率。

由于第一比率大于第二比率,因此,最终得到的目标模型的压缩比率为0.962025。

需要说明的是,如果只保留小数点后三位有效数字,此时为了给目标模型预留足够的空间容量,压缩比率需取0.963。即max[(237-9)/237,(4045-576)/4045]=0.963。还需要说明的是,通常情况下,缓存空间是用于提供模型用于为模型提供运行所需的资源,而对于很多设备而言,缓存空间资源也有可能会被多个进程所占用和分配,所以,需要考虑其分配给模型的缓存空间是会动态发生变化的,因此,需要预留足够的缓存空间。具体的,可以基于设备内的各类应用计算假设所有应用都运行时能够为目标模型预留的缓存空间的最小值,基于该最小值确定缓存空间对应的压缩比率。

图3为本申请实施例的一种电子设备的框图,该电子设备包括以下模块:

解析模块31,用于解析目标设备的空间容量和待安装的目标模型所需的空间容量,目标模型包括至少一个卷积层;

确定模块32,用于在目标设备的空间容量不满足目标模型所需的空间容量的情况下,基于目标设备的空间容量确定目标模型的压缩比率;

缩限模块33,用于基于压缩比率缩限目标模型中符合预设条件的卷积层的结构,以实现对目标模型的压缩;

安装模块34,用于将压缩后的模型安装到目标设备中。

在一个实施例中,如图4所示,缩限模块33,包括:

提取子模块41,用于提取目标模型中位于同一卷积层的卷积滤波器;

确定子模块42,用于确定卷积滤波器的相似度参数;

选取子模块43,用于根据相似度参数选取卷积层中符合预设条件的卷积滤波器;

删除子模块44,用于对卷积层中符合预设条件的卷积滤波器进行删除操作,以实现对目标模型中卷积层的压缩。

在一个实施例中,确定子模块,包括:

确定同一卷积层的所有卷积滤波器对应的向量;

确定每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度;

将每个滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度进行加权求和;

确定进行加权求和所得到的和值为每个滤波器对应的相似度参数。

在一个实施例中,确定每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度,包括:

根据每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的夹角和向量长度计算每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度;

其中,向量之间的夹角大于预设角度时,相似度取负值;向量之间的夹角小于预设角度时,相似度取正值。

在一个实施例中,将每个卷积滤波器对应的向量与同一层的所有卷积滤波器对应的向量之间的相似度进行加权求和,包括:

确定位于同一卷积层的卷积滤波器所对应的相似度矩阵,其中,相似度矩阵中的每个元素用于表征相应卷积滤波器对应的向量与同一层所有卷积滤波器对应向量之间的相似度值;

从相似度矩阵提取所有相似度值,并为每一个相似度值赋予权重,其中,相似度值为正值则赋予第一权重,相似度值为负值则赋予第二权重,第一权重大于第二权重;

将赋予权重之后的相似度进行求和计算。

在一个实施例中,根据相似度参数选取卷积层中符合预设条件的卷积滤波器,包括:

根据相似度参数从大到小的顺序对同一卷积层的卷积滤波器进行排序,以形成排序后的卷积滤波器队列;

从排序后的卷积滤波器队列中选取排序位置符合预设位置的卷积滤波器作为符合预设条件的卷积滤波器。

在一个实施例中,根据相似度参数选取卷积层中符合预设条件的卷积滤波器,包括:

确定相似度参数位于预设区间的的卷积滤波器为符合预设条件的卷积滤波器。

在一个实施例中,目标设备的空间容量通过以下方式获取:

获取目标模型的属性参数;

根据属性参数确定目标模型所需的空间容量,其中,目标模型所需空间容量至少包括安装目标模型所需的存储空间容量和缓存空间容量;

目标设备的空间容量通过以下方式获取:

获取目标设备对应的配置参数表;

从配置参数表中获取目标设备的空间容量,目标设备的空间容量至少包括目标设备的存储空间容量和缓存空间容量。

在一个实施例中,基于目标设备的空间容量确定目标模型的压缩比率,包括:

根据目标模型所需的存储空间和目标设备的存储空间容量确定第一比率;

根据目标模型所需的缓存空间和目标设备的缓存空间容量确定第二比率;

确定第一比率和第二比率二者的最大值为目标模型的压缩比率。

本申请还提供一种电子设备,包括:

处理器;

用于存储处理器中可执行指令的存储器;

其中,处理器被配置为:

执行上述任一实施例所提供的基于设备参数的模型处理方法。

在安装目标模型的设备的空间容量不满足目标模型所需的空间容量的情况下,基于设备参数自动确定目标模型的压缩比率,并基于该压缩比率对目标模型进行压缩;使得压缩后的模型能够适配目标设备的空间容量,从而实现了将深度学习模型部署在资源受限的设备的目的。

以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。

相关技术
  • 一种基于设备参数的模型处理方法及电子设备
  • 模型参数处理方法、装置、电子设备及存储介质
技术分类

06120112984950