CN113240085B - 模型剪枝方法、装置、设备及存储介质 - Google Patents
模型剪枝方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113240085B CN113240085B CN202110519036.0A CN202110519036A CN113240085B CN 113240085 B CN113240085 B CN 113240085B CN 202110519036 A CN202110519036 A CN 202110519036A CN 113240085 B CN113240085 B CN 113240085B
- Authority
- CN
- China
- Prior art keywords
- pruning
- filters
- model
- convolution layer
- filter
- 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.)
- Active
Links
- 238000013138 pruning Methods 0.000 title claims abstract description 205
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 239000011159 matrix material Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000001228 spectrum Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及模型托管和人工智能领域,具体公开了一种模型剪枝方法、装置、设备及存储介质,所述方法包括:获取待剪枝模型中每个卷积层中多个滤波器的滤波器参数;根据所述滤波器参数确定每个所述卷积层中各个所述滤波器两两之间的相似度;根据各个所述滤波器两两之间的相似度计算每个所述卷积层中各个所述滤波器的价值分数;根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝,得到剪枝后的模型。本方案提供的模型剪枝方法能够提高对于不重要的滤波器的识别准确度,从而提高了剪枝后模型的模型性能。此外,本申请还涉及区块链技术,待剪枝模型和剪枝后的模型均可存储于区块链中。
Description
技术领域
本申请涉及模型压缩领域,尤其涉及一种模型剪枝方法、装置、设备及存储介质。
背景技术
随着互联网技术和人工智能的发展,基于卷积神经网络的模型在很多任务中都表现出了很好的性能,但这些模型在使用时都需要巨大的计算开销和内存占用,由于这些模型中通常会含有大量的冗余信息,因此,对模型进行压缩以减少使用过程中的计算开销和内存占用成为必不可少的一步。
常用的模型压缩方法有模型剪枝、量化和蒸馏。现有的剪枝方法大多是以滤波器范数进行排序,利用剪枝率确定冗余的滤波器数量,从而将冗余的滤波器进行剪枝。但这种方法仅仅值依赖于数值的大小,这可能会导致一些范数小的滤波器被误剪枝掉,影响剪枝后模型的精度。
发明内容
本申请提供了一种模型剪枝方法、装置、设备及存储介质,以提高剪枝后模型的精度。
第一方面,本申请提供了一种模型剪枝方法,所述方法包括:
获取待剪枝模型中每个卷积层中多个滤波器的滤波器参数;
根据所述滤波器参数确定每个所述卷积层中各个所述滤波器两两之间的相似度;
根据各个所述滤波器两两之间的相似度计算每个所述卷积层中各个所述滤波器的价值分数;
根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝,得到剪枝后的模型。
第二方面,本申请还提供了一种模型剪枝装置,所述装置包括:
获取待剪枝模型中每个卷积层中多个滤波器的滤波器参数;
根据所述滤波器参数确定每个所述卷积层中各个所述滤波器两两之间的相似度;
根据各个所述滤波器两两之间的相似度计算每个所述卷积层中各个所述滤波器的价值分数;
根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝,得到剪枝后的模型。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的模型剪枝方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的模型剪枝方法。
本申请公开了一种模型剪枝方法、装置、设备及存储介质,通过获取待剪枝模型中卷积层中多个滤波器的滤波器参数,然后根据滤波器参数确定滤波器两两之间的相似度,并根据滤波器两两之间的相似度计算滤波器的价值分数,最终根据价值分数确定剪枝滤波器,并对剪枝滤波器进行剪枝,得到剪枝后的模型。通过计算滤波器两两之间的相似度,然后来计算滤波器的价值分数,考虑到滤波器之间的相似度,提高找到的不重要的剪枝滤波器的准确度,从而提高剪枝后模型的精度和模型性能。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的模型剪枝方法的步骤示意流程图;
图2是本申请实施例提供的计算滤波器两两之间的相似度的步骤示意流程图;
图3是本申请实施例提供的对滤波器进行剪枝的步骤示意流程图;
图4是本申请的实施例还提供一种模型剪枝装置的示意性框图;
图5是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
当同一卷积层中的两个滤波器(filter)输出的特征图谱(feature map)具有相似的特征时,信息就会存在冗余,也即其中一个特征图谱所包括的信息也会同时存在于另一个特征图谱中,这说明有一个特征图谱并没有为模型的最终输出提供大量的贡献,是可以被删除的。由于一个卷积层输出的特征图谱是由本层中的所有滤波器基于前一层输出的特征图谱计算得到的,因此,可以通过确定同一卷积层中相似的滤波器来确定相似的特征图谱,从而进行模型剪枝,减少信息冗余。
为此,本申请的实施例提供了一种模型剪枝方法、装置、计算机设备及存储介质。模型剪枝方法通过从滤波器中选择出不重要的滤波器,并对这些不重要的滤波器进行剪枝,达到对待剪枝模型进行剪枝压缩的目的。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请实施例提供的一种模型剪枝方法的示意流程图。该模型剪枝方法通过计算滤波器之间的相似度来确定不重要的剪枝滤波器,从而提高确定出的不重要的剪枝滤波器的准确度,以及剪枝后模型的精度和模型性能。
如图1所示,该模型剪枝方法,具体包括:步骤S101至步骤S104。
S101、获取待剪枝模型中每个卷积层中多个滤波器的滤波器参数。
由于待剪枝模型中可能包括多个卷积层,对于其中一个卷积层而言,获取该卷积层中所有滤波器对应的滤波器参数。在具体实施过程中,滤波器的滤波器参数可以根据卷积层的参数来确定。
例如,若某一层的卷积参数为N×c×k×k的矩阵,其中,N为滤波器的个数,c为每个滤波器中通道的个数。那么,第一个滤波器的滤波器参数为1×c×k×k的矩阵,第二个滤波器的滤波器参数为2×c×k×k的矩阵。
对于具有多个卷积层的待剪枝模型,可以分别获取待剪枝模型中每个卷积层中所有滤波器的滤波器参数。
S102、根据所述滤波器参数确定每个所述卷积层中各个所述滤波器两两之间的相似度。
对于待剪枝模型中的一个卷积层,在得到该卷积层中所有滤波器对应的滤波器参数后,根据各个滤波器的滤波器参数,来确定该卷积层中各滤波器两两之间的相似度。
其中,两个滤波器之间的差异越大,由这两个滤波器计算得到的特征图谱就越能够含有不同的信息,那么可以认为得到的特征图谱的信息冗余度很小,在进行模型剪枝时不能够将这种滤波器去掉。反之,若两个滤波器之间的差异很小,则由这两个滤波器得到的特征图谱就越相似,此时认为得到的特征图谱中包含有较多的冗余信息,在进行模型剪枝时需要去除其中一个。
例如,若某一卷积层中有三个滤波器,分别为filter1、filter2和filter3,则对于filter1,需要计算filter1与filter2的相似度、filter1与filter3的相似度;对于filter2,需要计算filter2与filter1的相似度、filter2与filter3的相似度;对于filter3,需要计算filter3与filter1的相似度、filter3与filter2的相似度。
对于待剪枝模型中每一个卷积层,分别计算同卷积层中各个滤波器两两之间的相似度。
在一实施例中,请参阅图2,步骤S102包括:S1021、根据两个所述滤波器的所述滤波器参数确定两个所述滤波器之间的参数差;S1022、计算所述参数差的范数得到两个所述滤波器之间的相似度。
对于待剪枝模型中的一个卷积层,在计算两个滤波器之间的相似度时,首先根据两个滤波器的滤波器参数来确定两个滤波器之间的参数差,再计算参数差的范数,并将计算得到的范数值作为两个滤波器之间的相似度。
在具体实施过程中,由于滤波器参数为一个矩阵,因此在计算参数差时,可以将两个滤波器的滤波器参数的矩阵中的对应元素直接相减做差,最终得到的矩阵即为两个滤波器之间的参数差。
在对参数差计算范数时,既可以是计算L1范数,也可以是计算L2范数。在计算L1范数时,对参数差中的元素取绝对值,也即对做差得到的矩阵中的元素取绝对值;在计算L2范数时,对参数差中的元素进行平方,也即对做差得到的矩阵中的元素取平方值。
对于同一卷积层中的多个滤波器,多次执行该步骤,以计算出该卷积层中所有滤波器两两之间的相似度。同样的,对于待剪枝模型中的所有卷积层,都执行该步骤以计算出每一个卷积层中所有滤波器两两之间的相似度。
S103、根据各个所述滤波器两两之间的相似度计算每个所述卷积层中各个所述滤波器的价值分数。
对于待剪枝模型中的一个卷积层,在得到该层中所有滤波器两两之间的相似度后,即可根据滤波器两两之间的相似度来计算卷积层中各个滤波器的价值分数。其中,价值分数是指滤波器对于待剪枝模型最终的输出所作出贡献的评分。价值分数越高,则认为该滤波器对待剪枝模型所作出的贡献越多;价值分数越低,则认为滤波器对待剪枝模型所作出的贡献越少。
在一实施例中,所述根据各个所述滤波器两两之间的相似度计算每个所述卷积层中各个所述滤波器的价值分数,包括:根据所述滤波器与所述卷积层中其他多个滤波器两两之间的相似度,计算所述滤波器与所述卷积层中其他多个滤波器之间的相似度的数量和,并将计算得到的相似度的数量和作为所述滤波器的价值分数。
对于待剪枝模型中的一个卷积层,在计算其中一个滤波器的价值分数时,获取该滤波器与同卷积层的其他所有滤波器两两之间的相似度。也即,若卷积层中有三个滤波器,那么获得的相似度数量至少有两个。将获得到的所有相似度进行求和,得到的数量和即为该滤波器的价值分数。
在具体实施过程中,还可以根据同一卷积层中所有滤波器两两之间的相似度来构造相似度表格。
例如一个卷积层中有六个滤波器,分别为filter1、filter2、filter3、filter4、filter5、filter6。相似度表格中的行表示滤波器编号,行与列的填充位表示行所代表的滤波器与列所代表的滤波器之间的相似度,具体如表1所示。
filter1 | filter2 | filter3 | filter4 | filter5 | filter6 | |
filter1 | 0 | 0.1 | 0.2 | 0.5 | 0.8 | 0.4 |
filter2 | 0.1 | 0 | 0.5 | 0.8 | 0.6 | 0.9 |
filter3 | 0.2 | 0.5 | 0 | 0.3 | 0.2 | 0.5 |
filter4 | 0.5 | 0.8 | 0.3 | 0 | 0.2 | 0.5 |
filter5 | 0.8 | 0.6 | 0.2 | 0.2 | 0 | 0.4 |
filter6 | 0.4 | 0.9 | 0.5 | 0.5 | 0.4 | 0 |
在计算filter1的价值分数时,将表格中filter1所在行的数值相加,得到filter1的分数;在计算filter2的价值分数时,将表格中filter2所在行的数值相加,得到filter2的分数;在计算filter3的价值分数时,将表格中filter3所在行的数值相加,得到filter3的分数;在计算filter4的价值分数时,将表格中filter4所在行的数值相加,得到filter4的分数;在计算filter5的价值分数时,将表格中filter5所在行的数值相加,得到filter5的分数;在计算filter6的价值分数时,将表格中filter6所在行的数值相加,得到filter6的分数。
将得到的价值分数也汇总为一个价值分数表,具体如表2所示。
filter | filter1 | filter2 | filter3 | filter4 | filter5 | filter6 |
价值分数 | 2 | 2.9 | 1.7 | 2.3 | 2.2 | 2.7 |
对于待剪枝模型中的每一个卷积层中的滤波器,分别按照上述方法计算价值分数。
S104、根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝,得到剪枝后的模型。
在得到各个滤波器的价值分数后,根据价值分数来确定每个卷积层中需要进行剪枝的剪枝滤波器。其中,剪枝滤波器为在进行模型剪枝时需要被剪掉的不重要的滤波器。
在一实施例中,请参阅图3,步骤S104包括:S1041、根据所述价值分数和预先设置的剪枝率确定所述卷积层中的剪枝滤波器,并对所述剪枝滤波器进行剪枝,得到部分剪枝的模型;S1042、对所述部分剪枝的模型进行重训练,并在重训练完成后再次迭代对其他所述卷积层进行剪枝。
其中,由于待剪枝模型中包括多个卷积层,每个卷积层的剪枝率可以是相同的,也可以是不同的。根据价值分数和对应卷积层预先设置的剪枝率来确定卷积层中需要剪掉的剪枝滤波器,然后根据剪枝滤波器进行剪枝。
由于待剪枝模型中包括多个卷积层,可以先对其中一个卷积层进行剪枝,剪枝完成后得到部分剪枝的模型,然后对部分剪枝的模型进行重训练,也即使用训练待剪枝模型时的数据来对部分剪枝的模型进行重训练,在部分剪枝的模型再次收敛后,对其他的卷积层再进行剪枝,如此迭代剪枝和重训练的过程,直至所有的卷积层的完成剪枝,避免出现一次剪掉过多滤波器导致模型结构不完整,精度降低的情况。
在一实施例中,步骤S104包括:根据所述价值分数和预先设置的剪枝率确定每个所述卷积层中的剪枝滤波器,并对每个所述卷积层中的所述剪枝滤波器进行单次全部剪枝。
根据价值分数和对应卷积层预先设置的剪枝率来确定每个卷积层中需要剪掉的剪枝滤波器,然后根据剪枝滤波器进行剪枝。在进行剪枝时,将待剪枝模型中确定出的剪枝滤波器一次全部剪掉,也即单次全部剪枝,从而完成剪枝,得到剪枝后的模型。单次剪枝能够提高剪枝的效率。
在剪枝完成后,使用训练待剪枝模型时的数据来对剪枝后的模型进行重训练,直至剪枝后的模型再次收敛,保证剪枝后模型的精度。
在一实施例中,所述根据所述价值分数和预先设置的剪枝率确定每个所述卷积层中的剪枝滤波器,包括:根据预先设置的剪枝率确定每个所述卷积层中剪枝滤波器的个数;根据所述价值分数和所述剪枝滤波器的个数从每个所述卷积层的多个滤波器中确定剪枝滤波器并进行剪枝。
根据预先设置的剪枝率和卷积层中滤波器的数量确定该卷积层中的剪枝滤波器的个数,然后按照价值分数和确定的剪枝滤波器的个数,从该卷积层中确定出需要剪掉的滤波器,也即确定出剪枝滤波器。
在确定剪枝滤波器时,可以按照价值分数对滤波器进行排序,得到排序结果,在具体实施过程中,进行排序时,可以按照价值分数的高低从高到低进行排序。然后根据确定出的剪枝滤波器的个数,按照排序结果,从价值分数最低的开始选择,直至选择出剪枝滤波器的数量个滤波器,将选出的这部分滤波器作为剪枝滤波器,进行剪枝。
上述实施例提供的模型剪枝方法,通过获取待剪枝模型中卷积层中多个滤波器的滤波器参数,然后根据滤波器参数确定滤波器两两之间的相似度,并根据滤波器两两之间的相似度计算滤波器的价值分数,最终根据价值分数确定剪枝滤波器,并对剪枝滤波器进行剪枝,得到剪枝后的模型。通过计算滤波器两两之间的相似度,然后来计算滤波器的价值分数,考虑到滤波器之间的相似度,提高找到的不重要的剪枝滤波器的准确度,从而提高剪枝后模型的精度和模型性能。
请参阅图4,图4是本申请的实施例还提供一种模型剪枝装置的示意性框图,该模型剪枝装置用于执行前述的模型剪枝方法。其中,该模型剪枝装置可以配置于服务器或终端中。
其中,服务器可以为独立的服务器,也可以为服务器集群。该终端可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
如图4所示,模型剪枝装置200包括:参数获取模块201、相似度获取模块202、分数计算模块203和模型剪枝模块204。
参数获取模块201,用于获取待剪枝模型中每个卷积层中多个滤波器的滤波器参数。
相似度获取模块202,用于根据所述滤波器参数确定每个所述卷积层中各个所述滤波器两两之间的相似度。
其中,相似度获取模块202包括差值计算子模块2021和相似计算子模块2022。
差值计算子模块2021,用于根据两个所述滤波器的所述滤波器参数确定两个所述滤波器之间的参数差;相似计算子模块2022,用于计算所述参数差的范数得到两个所述滤波器之间的相似度。
分数计算模块203,用于根据各个所述滤波器两两之间的相似度计算每个所述卷积层中各个所述滤波器的价值分数。
模型剪枝模块204,用于根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝,得到剪枝后的模型。
其中,模型剪枝模块204包括部分剪枝子模块2041和迭代剪枝子模块2042。
部分剪枝子模块2041,用于根据所述价值分数和预先设置的剪枝率确定所述卷积层中的剪枝滤波器,并对所述剪枝滤波器进行剪枝,得到部分剪枝的模型;迭代剪枝子模块2042,用于对所述部分剪枝的模型进行重训练,并在重训练完成后再次迭代对其他所述卷积层进行剪枝。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的模型剪枝装置和各模块的具体工作过程,可以参考前述模型剪枝方法实施例中的对应过程,在此不再赘述。
上述的模型剪枝装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器或终端。
参阅图5,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种模型剪枝方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种模型剪枝方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取待剪枝模型中每个卷积层中多个滤波器的滤波器参数;
根据所述滤波器参数确定每个所述卷积层中各个所述滤波器两两之间的相似度;
根据各个所述滤波器两两之间的相似度计算每个所述卷积层中各个所述滤波器的价值分数;
根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝,得到剪枝后的模型。
在一个实施例中,所述处理器在实现所述根据所述滤波器参数确定各个所述滤波器两两之间的相似度时,用于实现:
根据两个所述滤波器的所述滤波器参数确定两个所述滤波器之间的参数差;
计算所述参数差的范数得到两个所述滤波器之间的相似度。
在一个实施例中,所述处理器在实现所述根据各个所述滤波器两两之间的相似度计算每个所述卷积层中各个所述滤波器的价值分数时,用于实现:
根据所述滤波器与所述卷积层中其他多个滤波器两两之间的相似度,计算所述滤波器与所述卷积层中其他多个滤波器之间的相似度的数量和,并将计算得到的相似度的数量和作为所述滤波器的价值分数。
在一个实施例中,所述处理器在实现所述根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝时,用于实现:
根据所述价值分数和预先设置的剪枝率确定所述卷积层中的剪枝滤波器,并对所述剪枝滤波器进行剪枝,得到部分剪枝的模型;
对所述部分剪枝的模型进行重训练,并在重训练完成后再次迭代对其他所述卷积层进行剪枝。
在一个实施例中,所述处理器在实现所述根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝时,用于实现:
根据所述价值分数和预先设置的剪枝率确定每个所述卷积层中的剪枝滤波器,并对每个所述卷积层中的所述剪枝滤波器进行单次全部剪枝。
在一个实施例中,所述处理器在实现所述根据所述价值分数和预先设置的剪枝率确定每个所述卷积层中的剪枝滤波器时,用于实现:
根据预先设置的剪枝率确定每个所述卷积层中剪枝滤波器的个数;
根据所述价值分数和所述剪枝滤波器的个数从每个所述卷积层的多个滤波器中确定剪枝滤波器并进行剪枝。
在一个实施例中,所述处理器在实现所述根据所述价值分数和所述剪枝滤波器的个数从每个所述卷积层的多个滤波器中确定剪枝滤波器并进行剪枝时,用于实现:
根据所述价值分数对所述滤波器进行排序,得到排序结果;
根据所述剪枝滤波器的个数按照排序结果选择滤波器作为剪枝滤波器进行剪枝。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项模型剪枝方法。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种模型剪枝方法,其特征在于,应用于服务器或终端以减少剪枝模型使用过程中的计算开销和内存占用,所述方法包括:
获取待剪枝模型中每个卷积层中多个滤波器的滤波器参数;
根据所述滤波器参数确定每个所述卷积层中各个所述滤波器两两之间的相似度;
根据各个所述滤波器两两之间的相似度计算每个所述卷积层中各个所述滤波器的价值分数;
根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝,得到剪枝后的模型;
所述根据所述滤波器参数确定各个所述滤波器两两之间的相似度,包括:
根据两个所述滤波器的所述滤波器参数确定两个所述滤波器之间的参数差;计算所述参数差的范数得到两个所述滤波器之间的相似度;
所述根据各个所述滤波器两两之间的相似度计算每个所述卷积层中各个所述滤波器的价值分数,包括:
根据所述滤波器与所述卷积层中其他多个滤波器两两之间的相似度,计算所述滤波器与所述卷积层中其他多个滤波器之间的相似度的数量和,并将计算得到的相似度的数量和作为所述滤波器的价值分数;
所述根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝,包括:
根据所述价值分数和预先设置的剪枝率确定所述卷积层中的剪枝滤波器,并对所述剪枝滤波器进行剪枝,得到部分剪枝的模型;对所述部分剪枝的模型进行重训练,并在重训练完成后再次迭代对其他所述卷积层进行剪枝。
2.根据权利要求1所述的模型剪枝方法,其特征在于,所述根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝,包括:
根据所述价值分数和预先设置的剪枝率确定每个所述卷积层中的剪枝滤波器,并对每个所述卷积层中的所述剪枝滤波器进行单次全部剪枝。
3.根据权利要求2所述的模型剪枝方法,其特征在于,所述根据所述价值分数和预先设置的剪枝率确定每个所述卷积层中的剪枝滤波器,包括:
根据预先设置的剪枝率确定每个所述卷积层中剪枝滤波器的个数;
根据所述价值分数和所述剪枝滤波器的个数从每个所述卷积层的多个滤波器中确定剪枝滤波器并进行剪枝。
4.根据权利要求3所述的模型剪枝方法,其特征在于,所述根据所述价值分数和所述剪枝滤波器的个数从每个所述卷积层的多个滤波器中确定剪枝滤波器并进行剪枝,包括:
根据所述价值分数对所述滤波器进行排序,得到排序结果;
根据所述剪枝滤波器的个数按照排序结果选择滤波器作为剪枝滤波器进行剪枝。
5.一种模型剪枝装置,其特征在于,所述模型剪枝装置配置于服务器或终端以减少剪枝模型使用过程中的计算开销和内存占用,所述模型剪枝装置用于执行权利要求1-4中任意一项所述的模型剪枝方法,所述模型剪枝装置包括:
参数获取模块,用于获取待剪枝模型中每个卷积层中多个滤波器的滤波器参数;
相似度获取模块,用于根据所述滤波器参数确定每个所述卷积层中各个所述滤波器两两之间的相似度;
分数计算模块,用于根据各个所述滤波器两两之间的相似度计算每个所述卷积层中各个所述滤波器的价值分数;
模型剪枝模块,用于根据所述价值分数确定每个所述卷积层中的剪枝滤波器并对所述剪枝滤波器进行剪枝,得到剪枝后的模型。
6.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至4中任一项所述的模型剪枝方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至4中任一项所述的模型剪枝方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110519036.0A CN113240085B (zh) | 2021-05-12 | 2021-05-12 | 模型剪枝方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110519036.0A CN113240085B (zh) | 2021-05-12 | 2021-05-12 | 模型剪枝方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113240085A CN113240085A (zh) | 2021-08-10 |
CN113240085B true CN113240085B (zh) | 2023-12-22 |
Family
ID=77133723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110519036.0A Active CN113240085B (zh) | 2021-05-12 | 2021-05-12 | 模型剪枝方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113240085B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113762506B (zh) * | 2021-08-13 | 2023-11-24 | 中国电子科技集团公司第三十八研究所 | 一种计算机视觉深度学习模型剪枝方法及系统 |
CN113673697A (zh) * | 2021-08-24 | 2021-11-19 | 平安科技(深圳)有限公司 | 基于相邻卷积的模型剪枝方法、装置及存储介质 |
CN114154589B (zh) * | 2021-12-13 | 2023-09-29 | 成都索贝数码科技股份有限公司 | 一种基于相似性的模块减枝方法 |
CN114492799A (zh) * | 2022-02-22 | 2022-05-13 | 平安科技(深圳)有限公司 | 卷积神经网络模型剪枝方法和装置、电子设备、存储介质 |
CN117829241B (zh) * | 2024-03-04 | 2024-06-07 | 西北工业大学 | 一种卷积神经网络的剪枝方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229679A (zh) * | 2017-11-23 | 2018-06-29 | 北京市商汤科技开发有限公司 | 卷积神经网络去冗余方法及装置、电子设备和存储介质 |
WO2019107900A1 (ko) * | 2017-11-28 | 2019-06-06 | 주식회사 날비컴퍼니 | 컨볼루션 신경망 내 필터 프루닝 장치 및 방법 |
CN111079899A (zh) * | 2019-12-05 | 2020-04-28 | 中国电子科技集团公司信息科学研究院 | 神经网络模型压缩方法、系统、设备及介质 |
CN112488304A (zh) * | 2020-12-21 | 2021-03-12 | 湖南大学 | 一种卷积神经网络中的启发式滤波器剪枝方法和系统 |
CN112686382A (zh) * | 2020-12-30 | 2021-04-20 | 中山大学 | 一种卷积模型轻量化方法及系统 |
-
2021
- 2021-05-12 CN CN202110519036.0A patent/CN113240085B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108229679A (zh) * | 2017-11-23 | 2018-06-29 | 北京市商汤科技开发有限公司 | 卷积神经网络去冗余方法及装置、电子设备和存储介质 |
WO2019107900A1 (ko) * | 2017-11-28 | 2019-06-06 | 주식회사 날비컴퍼니 | 컨볼루션 신경망 내 필터 프루닝 장치 및 방법 |
CN111079899A (zh) * | 2019-12-05 | 2020-04-28 | 中国电子科技集团公司信息科学研究院 | 神经网络模型压缩方法、系统、设备及介质 |
CN112488304A (zh) * | 2020-12-21 | 2021-03-12 | 湖南大学 | 一种卷积神经网络中的启发式滤波器剪枝方法和系统 |
CN112686382A (zh) * | 2020-12-30 | 2021-04-20 | 中山大学 | 一种卷积模型轻量化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113240085A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113240085B (zh) | 模型剪枝方法、装置、设备及存储介质 | |
US11645529B2 (en) | Sparsifying neural network models | |
CN109840589B (zh) | 一种在fpga上运行卷积神经网络的方法和装置 | |
CN110175168B (zh) | 一种基于生成对抗网络的时间序列数据填补方法及系统 | |
CN113673697A (zh) | 基于相邻卷积的模型剪枝方法、装置及存储介质 | |
CN111652330B (zh) | 图像处理方法、装置、系统、电子设备及可读存储介质 | |
CN109543029B (zh) | 基于卷积神经网络的文本分类方法、装置、介质和设备 | |
CN112288087A (zh) | 一种神经网络剪枝方法、装置、电子设备及存储介质 | |
CN112488297B (zh) | 一种神经网络剪枝方法、模型生成方法及装置 | |
CN112328715A (zh) | 视觉定位方法及相关模型的训练方法及相关装置、设备 | |
CN109145107B (zh) | 基于卷积神经网络的主题提取方法、装置、介质和设备 | |
CN112529767B (zh) | 图像数据处理方法、装置、计算机设备和存储介质 | |
CN114205690A (zh) | 流量预测、模型训练方法及装置、电子设备、存储介质 | |
CN111783830A (zh) | 基于oct的视网膜分类方法、装置、计算机设备及存储介质 | |
CN113298931B (zh) | 一种物体模型的重建方法、装置、终端设备和存储介质 | |
CN112163929B (zh) | 业务推荐方法、装置、计算机设备和存储介质 | |
CN111178513B (zh) | 神经网络的卷积实现方法、卷积实现装置及终端设备 | |
CN111738356A (zh) | 特异化数据的对象特征生成方法、装置、设备及存储介质 | |
CN112131274A (zh) | 时间序列异常点的检测方法、装置、设备及可读存储介质 | |
CN115862653A (zh) | 音频去噪方法、装置、计算机设备和存储介质 | |
CN114912627A (zh) | 推荐模型训练方法、系统、计算机设备及存储介质 | |
CN114168581A (zh) | 数据清洗方法、装置、计算机设备及存储介质 | |
CN113868291A (zh) | 一种最近邻搜索方法、装置、终端和存储介质 | |
CN115982634A (zh) | 应用程序分类方法、装置、电子设备及计算机程序产品 | |
CN116094952B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |