神经网络模型的压缩方法、装置、计算机设备和存储介质与流程

文档序号:33625315发布日期:2023-03-28 20:16阅读:45来源:国知局
神经网络模型的压缩方法、装置、计算机设备和存储介质与流程

1.本技术涉及神经网络技术领域,特别是涉及一种神经网络模型的压缩方法、装置、计算机设备和存储介质。


背景技术:

2.模型剪枝作为神经网络模型压缩和优化的一项技术,在神经网络模型的轻量化部署中发挥着重要作用。
3.传统技术中,已经出现了多种剪枝算法,不同的剪枝算法对于不同神经网络模型的剪枝处理效果各不相同,通常,可以从多种剪枝算法中任意选择一种剪枝算法对神经网络模型进行剪枝处理,但是,传统技术中往往存在选择的剪枝算法不适合待处理的神经网络模型的情况。


技术实现要素:

4.本技术实施例提供了一种神经网络模型的压缩方法、装置、计算机设备和存储介质,可以从多种剪枝算法对应的剪枝模型中选择出神经网络模型对应的最优的剪枝模型。
5.第一方面,本技术实施例提供了一种神经网络模型的压缩方法,包括:
6.根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从所述初始剪枝模型集合中确定出候选剪枝模型集合;所述初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的;
7.对所述候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合;
8.根据所述扩充后的剪枝模型集合中各剪枝模型的处理性能,从所述扩充后的剪枝模型集合中确定目标剪枝模型。
9.第二方面,本技术实施例提供了一种神经网络模型的压缩装置,包括:
10.第一确定模块,用于根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从所述初始剪枝模型集合中确定出候选剪枝模型集合;所述初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的;
11.第一处理模块,用于对所述候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合;
12.第二确定模块,用于根据所述扩充后的剪枝模型集合中各剪枝模型的处理性能,从所述扩充后的剪枝模型集合中确定目标剪枝模型。
13.第三方面,本技术实施例提供了一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如第一方面所述的神经网络模型的压缩方法的步骤。
14.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
15.第五方面,本技术实施例提供了一种计算机程序产品,包括计算机程序,该计算机
程序被处理器执行时实现第一方面所述的方法的步骤。
16.上述神经网络模型的压缩方法、装置、计算机设备和存储介质,通过不同的剪枝算法对预设的神经网络模型进行压缩处理能够得到该神经网络模型对应的初始剪枝模型集合,从而可以根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型集合中确定出候选剪枝模型集合,进而通过对候选剪枝模型集合进行扩充处理,能够使得到的扩充后的剪枝模型集合中剪枝模型的类型更加地丰富,使扩充后的剪枝模型集合中有更多不同类型的剪枝模型,进一步地能够根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出神经网络模型对应的最优的目标剪枝模型,使得确定的目标剪枝模型为适合神经网络模型的最优的剪枝模型。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为一个实施例中神经网络模型的压缩方法方法的流程图;
19.图2为一个实施例中神经网络模型的卷积层示例图;
20.图3为一个实施例中变异处理的示意图;
21.图4为一个实施例中杂交处理的示意图;
22.图5为另一个实施例中神经网络模型的压缩方法方法的流程图;
23.图6为另一个实施例中神经网络模型的压缩方法方法的流程图;
24.图7为一个实施例中神经网络模型的压缩装置的结构框图;
25.图8为另一个实施例中神经网络模型的压缩装置的结构框图;
26.图9为另一个实施例中神经网络模型的压缩装置的结构框图;
27.图10为另一个实施例中神经网络模型的压缩装置的结构框图;
28.图11为另一个实施例中神经网络模型的压缩装置的结构框图;
29.图12为另一个实施例中神经网络模型的压缩装置的结构框图;
30.图13为一个实施例中计算机设备的内部结构示意图。
具体实施方式
31.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
32.在一个实施例中,如图1所示,提供了一种神经网络模型的压缩方法,本实施例以该方法应用于计算机设备进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
33.s201,根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型集合中确定出候选剪枝模型集合;初始剪枝模型为对预设的神经网络模型进行压缩处理后
得到的。
34.其中,初始剪枝模型集合中的各个初始剪枝模型可以为对预设的神经网络模型进行压缩处理后得到的,例如,可以采用多种不同的剪枝算法分别对预设的神经网络模型进行剪枝处理,将得到的多个初始剪枝模型组成的集合确定为初始剪枝模型集合。可选的,本实施例中预设的神经网络模型可以为分类模型,也可以为分割模型,或者,也可以为识别模型等等,本实施例在此不对预设的神经网络模型加以限制。
35.需要说明的是,神经网络模型的剪枝是基于已经训练好的神经网络模型存在一定冗余的前提,按照神经网络模型压缩任务的压缩比要求,根据一定的分配算法为神经网络模型中需要剪枝的所有权重层(如卷积层conv、全连接层dense等)分配压缩比,再根据一定的度量标准(metrics)衡量每个权重层中不同维度的权重的重要性,删除重要性较低的权重,保留重要性较高的权重,从而使原神经网络模型成为一个参数量更少的新神经网络模型,之后对新神经网络模型的权重进行重新训练微调,使其性能表现逼近甚至优于原神经网络模型。示例性地,现有的神经网络模型的剪枝算法有基于网络权重层的不同范数(l1-norm,l2-norm等)选取重要通道的剪枝算法、基于几何中心数(fpgm)选取重要通道的剪枝算法、基于bn层的训练参数选取对应权重层的通道的剪枝算法、基于权重层输出特征张量中的均值或统计零值等选取通道的剪枝算法、根据权重层反向传导梯度的泰勒展开估算值选取重要的通道的剪枝算法等,本实施例中对使用的剪枝算法的类型不加以限制。示例性地,通过某剪枝算法对预设的神经网络模型进行剪枝,得到的剪枝模型的各权重层可以表示为:p={'conv_01':[0,1,1,0,

],'conv_02':[0,0,0,1,

],

'dense_01:[0,0,0,1],

},其中,key值为神经网络模型中需要做剪枝的层的名字,value值是长度为该层权重张量的输出通道数的向量(例如conv2d卷积核维度为[h,w,c
in
,c
out
]),向量中的每个值的取值为[0,1],0表示对应卷积层的卷积核的当前维度被剪除,1则表示保留,另外,如图2所示,图2中给出了剪枝模型的两个卷积层的示例,图中空心表示0,即被剪枝通道;实心表示1,即被保留通道。
[0036]
可选的,在本实施例中,可以根据初始剪枝模型集合中各个初始剪枝模型的处理性能,将初始剪枝模型集合中处理性能靠前的初始剪枝模型确定为候选剪枝模型集合,例如,可以将初始剪枝模型集合中处理性能靠前的前7个初始剪枝模型确定为候选剪枝模型集合。可选的,本实施例中,初始剪枝模型的处理性能可以通过稀疏度(sparsity)和算力限制进行衡量,即可以根据各初始模型的稀疏度和算力限制,从初始剪枝模型集合中确定出候选剪枝模型集合。
[0037]
s202,对候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合。
[0038]
可选的,在本实施例中,扩充处理可以是对候选剪枝模型集合中的候选剪枝模型的权重层(如卷积层conv、全连接层dense)进行删除、替换、修改等处理。在本实施例中,可以对候选剪枝模型集合中的所有候选剪枝模型进行扩充处理,也可以是从候选剪枝模型集合中选择部分候选剪枝模型进行扩充处理,得到扩充后的剪枝模型集合。可选的,作为一种可选的实施方式,在对候选剪枝模型集合进行扩充处理后,还可以利用剪枝算法对新产生的剪枝模型进行剪枝处理,将新的剪枝模型和扩充处理后的剪枝模型共同作为扩充后的剪枝模型集合中的剪枝模型。
[0039]
s203,根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模
型集合中确定目标剪枝模型。
[0040]
可选的,在本实施例中,可以通过预设的训练集和测试集对扩充后的剪枝模型集合中的各剪枝模型进行测试,得到各剪枝模型的处理性能,进而根据各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出目标剪枝模型。可选的,在本实施例中,可以根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从中选择处理性能靠前的几个剪枝模型,再将处理性能靠前的剪枝模型中的任一剪枝模型确定为目标剪枝模型,例如,可以将扩充后的剪枝模型集合中处理性能靠前的前三个剪枝模型中的任意一剪枝模型确定为目标剪枝模型。
[0041]
上述神经网络模型的压缩方法中,通过不同的剪枝算法对预设的神经网络模型进行压缩处理能够得到该神经网络模型对应的初始剪枝模型集合,从而可以根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型集合中确定出候选剪枝模型集合,进而通过对候选剪枝模型集合进行扩充处理,能够使得到的扩充后的剪枝模型集合中剪枝模型的类型更加地丰富,使扩充后的剪枝模型集合中有更多不同类型的剪枝模型,进一步地能够根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出神经网络模型对应的最优的目标剪枝模型,使得确定的目标剪枝模型为适合神经网络模型的最优的剪枝模型。
[0042]
在上述对候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合的场景中,在一个实施例中,上述s202,包括:对候选剪枝模型集合中的候选剪枝模型进行变异处理和/或杂交处理,得到扩充后的剪枝模型集合。
[0043]
其中,如图3所示,变异处理是指对候选剪枝模型集合中的某个候选剪枝模型的微调,变异处理的本质是对候选剪枝模型的剪枝通道随机产生改变的过程,针对每个通道的属性,以预设的单个权重层的变异概率随机决定是否产生变异,对候选剪枝模型的剪枝通道进行随机变异。可选的,在本实施例中,当对候选剪枝模型进行变异处理时,可以是根据预设的变异数,对候选剪枝模型集合中的候选剪枝模型的权重层进行变异处理,得到扩充后的剪枝模块集合,例如,预设的变异数可以为k/3,其中,k为候选剪枝模型集合中候选剪枝模型的数量,则可以从候选剪枝模型集合中选取k/3个候选剪枝模型,并对这k/3个候选剪枝模型的权重层进行变异处理,得到扩充后的剪枝模型集合。
[0044]
如图4所示,杂交处理是指通过对候选剪枝模型集合中某两个候选剪枝模型相结合,以产生可能存在的性能更优的新的模型,杂交处理本质上是将候选剪枝模型集合中任意两个候选剪枝模型的剪枝通道随机融合的过程,针对每个通道的属性随机选取两者之一,作为新模型中该通道的属性。可选的,在本实施例中,当对候选剪枝模型进行杂交处理时,可以根据预设的杂交数,对候选剪枝模型集合中的任意两个候选剪枝模型的剪枝通道进行融合处理,得到扩充后的剪枝模型集合,示例性地,假设预设的杂交数仍为k/3,则可以从候选剪枝模型集合中选择k/3*2个候选剪枝模型,并对这k/3*2个候选剪枝模型中的任意两个候选剪枝模型的剪枝通道进行融合处理,得到扩充后的剪枝模型集合。
[0045]
本实施例中,通过对候选剪枝模型集合中的候选剪枝模型进行变异处理和/或杂交处理,使得得到的扩充后的剪枝模型集合中剪枝模型的类型更加的丰富,丰富了得到扩充后的剪枝模型集合中剪枝模型的类型,从而可以根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出预设神经网络模型对应的最优的目标剪
枝模型,确保了得到的神经网络模型对应的目标剪枝模型的性能。
[0046]
在上述根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定目标剪枝模型的场景中,可以直接将扩充后的剪枝模型集合中处理性能最优的剪枝模型作为目标剪枝模块,也可以从扩充后的剪枝模型集合中确定出多个剪枝模型,从这多个剪枝模型中确定出目标剪枝模型。下边将分别对这两种确定目标剪枝模型的方法加以详细说明。
[0047]
第一种:上述s203,包括:将扩充后的剪枝模型集合中处理性能最优的剪枝模型,确定为目标剪枝模型。
[0048]
在本实施例中,可以按照处理性能由高到低的顺序,对扩充后的剪枝模型集合中各剪枝模型的处理性能进行排序,进而将排序后的处理性能最优的剪枝模型,确定为神经网络模型对应的目标剪枝模型。
[0049]
本实施例中,通过将扩充后的剪枝模型集合中处理性能最优的剪枝模型,确定为目标剪枝模型的过程较为简单,能够快速地从扩充后的剪枝模型集合中确定出目标剪枝模型,提高了确定目标剪枝模型的效率。
[0050]
第二种:如图5所示,上述s203,包括:s301,根据各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出多个第一剪枝模型。
[0051]
在本实施例中,可以根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从处理性能靠前的剪枝模型中确定出多个第一剪枝模型。例如,可以将扩充后的剪枝模型集合中处理性能靠前的前三个剪枝模型确定为第一剪枝模型。
[0052]
s302,对各第一剪枝模型进行训练,得到对应的第二剪枝模型。
[0053]
可选的,在本实施例中,可以利用预设的训练样本对各第一剪枝模型进行训练,对各第一剪枝模型中的参数进行优化,得到各第一剪枝模型对应的第二剪枝模型。示例性地,以预设的神经网络模型为分割模型为例,在本实施例中,可以利用大量的样本图像和样本图像对应的金标准分割图像,对各第一剪枝模型进行训练,调整各第一剪枝模型的参数,得到对应的第二剪枝模型。
[0054]
s303,根据各第二剪枝模型的处理性能,从各第二剪枝模型中确定出目标剪枝模型。
[0055]
可选的,在本实施例中,可以继续利用上述训练集和测试集得到各第二剪枝模型的处理性能,进而根据各第二剪枝模型的处理性能,从各第二剪枝模型中确定出目标剪枝模型,作为一种可选的实施方式,可以将各第二剪枝模型中处理性能最高的第二剪枝模型,确定为目标剪枝模型,或者,作为另一种可选的实施方式,可以根据各第二剪枝模型的处理性能,将处理性能为前三的第二剪枝模型中的任意一第二剪枝模型确定为目标剪枝模型。
[0056]
本实施例中,根据扩充后的剪枝模型集合中的各剪枝模型的处理性能,能够从扩充后的剪枝模型集合中确定出多个第一剪枝模型,从而可以通过对各第一剪枝模型进行训练,得到对应的第二剪枝模型,由于第二剪枝模型是通过对第一剪枝模型进行训练得到的,这样得到的第二剪枝模型的性能更优,进而再根据各第二剪枝模型的处理性能,能够从各第二剪枝模型中确定出性能更优的目标剪枝模型,确保了最终得到的目标剪枝模型的性能。
[0057]
在上述根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型
集合中确定候选剪枝模型集合的场景中,需要先获取到初始剪枝模型集合中各个初始剪枝模型的处理性能,在一个实施例中,上述方法还包括:根据预设的训练集和测试集对初始剪枝模型集合中各个初始剪枝模型进行测试,获取各初始剪枝模型的处理性能。
[0058]
在本实施例中,可以根据预设的训练集和测试集对初始剪枝模型集合中各个初始剪枝模型进行快速训练,得到各个初始剪枝模型的测试结果,从而根据各个初始剪枝模型的测试结果和对应的测试集,得到各初始剪枝模型的处理性能。示例性地,以pi表示各个初始剪枝模型,d
train
表示训练集为例,可以用mi=fast_train(pi,d
train
),i=1,2,

表示各个初始剪枝模型的测试结果,则可以得到各初始剪枝模型的处理性能为perfs[i]=inference(mi,d
val
)。
[0059]
本实施例中,根据预设的训练集和测试集能够对初始剪枝模型集合中各个初始剪枝模型进行快速地测试,并且根据预设的训练集和测试集对初始剪枝模型集合中各个初始剪枝模型进行测试的方法也比较简单,从而能够快速地获取到初始剪枝模型集合中各个初始剪枝模型的处理性能,提高了获取初始剪枝模型集合中各初始剪枝模型的处理性能的效率。
[0060]
在上述各场景中需要先获取到初始剪枝模型集合,本实施例将对获取初始剪枝模型集合的详细过程加以说明。在一个实施例中,如图6所示,上述方法还包括:
[0061]
s401,对神经网络模型进行通道扩充处理,得到处理后的神经网络模型。
[0062]
可选的,在本实施例中,可以对神经网络模型中第一层或前几层权重参数较少的权重层做通道扩充(即增加卷积核),得到处理后的神经网络模型。可以理解的是,本实施例中通过对神经网络模型中第一层或前几层权重参数较少的权重层做通道扩充(即增加卷积核),既提高了初始神经网络模型的起点性能,又适当增加了通道数,增加了神经网络模型的检索空间,而且前几层的权重占模型总体权重比重较少,一般不影响神经网络模型整体的压缩效果,即通过对神经网络模型进行通道扩充处理,使得得到的处理后的神经网络模型的性能更优。
[0063]
s402,利用预设的多个剪枝算法分别对处理后的神经网络模型进行剪枝处理,得到初始剪枝模型集合。
[0064]
在本实施例中,对预设的神经网络模型进行通道扩充处理,得到处理后的神经网络模型后,可以利用预设的多个剪枝算法分别对处理后的神经网络模型进行剪枝处理,得到初始剪枝模型集合。示例性地,本实施例中预设的多个剪枝算法可以是基于网络权重层的不同范数选取重要通道的剪枝算法、基于几何中心数选取重要通道的剪枝算法、基于bn层的训练参数选取对应权重层的通道的剪枝算法、基于权重层输出特征张量中的均值或统计零值等选取通道的剪枝算法、根据权重层反向传导梯度的泰勒展开估算值选取重要的通道的剪枝算法中的任意多种剪枝算法。
[0065]
本实施例中,通过对神经网络模型进行通道扩充处理,使得得到的处理后的神经网络模型提高了初始神经网络模型的起点性能,又适当增加了通道数,增加了神经网络模型的检索空间,而且前几层的权重占模型总体权重比重较少,一般不影响神经网络模型整体的压缩效果,使得得到的处理后的神经网络模型的性能更优,从而再利用预设的多个剪枝算法分别对处理后的神经网络模型进行剪枝处理,能够使得到的初始剪枝模型集合中各初始剪枝模型的性能更优,进而可以得到性能更优的初始剪枝模型集合。
[0066]
为了便于本领域技术人员的理解,以下对本公开提供的神经网络模型的压缩方法进行详细介绍,该方法可以包括:
[0067]
s1,对神经网络模型进行通道扩充处理,得到处理后的神经网络模型。
[0068]
s2,利用预设的多个剪枝算法分别对处理后的神经网络模型进行剪枝处理,得到初始剪枝模型集合。
[0069]
s3,根据预设的训练集和测试集对初始剪枝模型集合中各个初始剪枝模型进行测试,获取各初始剪枝模型的处理性能。
[0070]
s4,根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型集合中确定出候选剪枝模型集合;初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的。
[0071]
s5,根据预设的变异数,对候选剪枝模型集合中的候选剪枝模型的权重层进行变异处理,和/或,根据预设的杂交数,对候选剪枝模型集合中的任意两个候选剪枝模型的剪枝通道进行融合处理,得到扩充后的剪枝模型集合。
[0072]
s6,将扩充后的剪枝模型集合中处理性能最优的剪枝模型,确定为目标剪枝模型;或者,根据各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出多个第一剪枝模型,对各第一剪枝模型进行训练,得到对应的第二剪枝模型,将各第二剪枝模型中处理性能最高的第二剪枝模型,确定为目标剪枝模型。
[0073]
需要说明的是,针对上述步骤中的描述可以参见上述实施例中相关的描述,且其效果类似,本实施例在此不再赘述。
[0074]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0075]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的神经网络模型的压缩方法的神经网络模型的压缩装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个神经网络模型的压缩装置实施例中的具体限定可以参见上文中对于神经网络模型的压缩方法的限定,在此不再赘述。
[0076]
在一个实施例中,如图7所示,提供了一种神经网络模型的压缩装置,包括:第一确定模块10、第一处理模块11和第二确定模块12,其中:
[0077]
第一确定模块10,用于根据初始剪枝模型集合中各个初始剪枝模型的处理性能,从初始剪枝模型集合中确定出候选剪枝模型集合;初始剪枝模型为对预设的神经网络模型进行压缩处理后得到的。
[0078]
第一处理模块11,用于对候选剪枝模型集合进行扩充处理,得到扩充后的剪枝模型集合。
[0079]
第二确定模块12,用于根据扩充后的剪枝模型集合中各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定目标剪枝模型。
[0080]
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0081]
在上述实施例的基础上,如图8所示,可选的,上述第一处理模块11,包括:处理单元111,其中:
[0082]
处理单元111,用于对候选剪枝模型集合中的候选剪枝模型进行变异处理和/或杂交处理,得到扩充后的剪枝模型集合。
[0083]
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0084]
在上述实施例的基础上,可选的,上述处理单元111,用于根据预设的变异数,对候选剪枝模型集合中的候选剪枝模型的权重层进行变异处理,得到扩充后的剪枝模型集合。
[0085]
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0086]
在上述实施例的基础上,可选的,上述处理单元111,用于根据预设的杂交数,对候选剪枝模型集合中的任意两个候选剪枝模型的剪枝通道进行融合处理,得到扩充后的剪枝模型集合。
[0087]
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0088]
在上述实施例的基础上,如图9所示,可选的,上述第二确定模块12,包括:第一确定单元121,其中:
[0089]
第一确定单元121,用于将扩充后的剪枝模型集合中处理性能最优的剪枝模型,确定为目标剪枝模型。
[0090]
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0091]
在上述实施例的基础上,如图10所示,可选的,上述第二确定模块12,包括:第二确定单元122、训练单元123和第三确定单元124,其中:
[0092]
第二确定单元122,用于根据各剪枝模型的处理性能,从扩充后的剪枝模型集合中确定出多个第一剪枝模型。
[0093]
训练单元123,用于对各第一剪枝模型进行训练,得到对应的第二剪枝模型。
[0094]
第三确定单元124,用于根据各第二剪枝模型的处理性能,从各第二剪枝模型中确定出目标剪枝模型。
[0095]
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0096]
在上述实施例的基础上,可选的,上述第三确定单元124,用于将各第二剪枝模型中处理性能最高的第二剪枝模型,确定为目标剪枝模型。
[0097]
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0098]
在上述实施例的基础上,如图11所示,可选的,上述装置还包括:测试模块13,其中:
[0099]
测试模块13,用于根据预设的训练集和测试集对初始剪枝模型集合中各个初始剪
枝模型进行测试,获取各初始剪枝模型的处理性能。
[0100]
需要说明的是,本实施例可以是在图10所示的实施例的基础上,也可以是在图9所示的实施例的基础上,图11是以在图9所示的实施例的基础上进行说明,当然,图11也可以是在图10所示的实施例的基础上实现。
[0101]
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0102]
在上述实施例的基础上,如图12所示,可选的,上述装置还包括:第二处理模块14和第三处理模块15,其中:
[0103]
第二处理模块14,用于对神经网络模型进行通道扩充处理,得到处理后的神经网络模型。
[0104]
第三处理模块15,用于利用预设的多个剪枝算法分别对处理后的神经网络模型进行剪枝处理,得到初始剪枝模型集合。
[0105]
本实施例提供的神经网络模型的压缩装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0106]
上述神经网络模型的压缩装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0107]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储初始剪枝模型集合。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种神经网络模型的压缩方法。
[0108]
本领域技术人员可以理解,图13中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0109]
本技术实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行神经网络模型的压缩方法的步骤。
[0110]
本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行神经网络模型的压缩方法。
[0111]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,
本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0112]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0113]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1