1.一种基于进化算法+darts的模型剪枝方法,其特征在于,以resnet34进行剪枝来缩小模型,在resnet34中网络是以“basic block”组成,basic block由2个3×3卷积层构成;包括以下步骤:
2.根据权利要求1所述的一种基于进化算法+darts的模型剪枝方法,其特征在于,所述的步骤(1)具体包括:若basicblock中以3x3,通道数为64的卷积组成,则引入的参数则为其中n=64,如图2中的(b)所示;假设特征图x的大小为(56,56,64,其中通道数为64),经过一次(3,3,64,64)的卷积操作后得到的特征图大小x'依然为(56,56,64),将特征图中的第n个通道表示为cn,则x'可表示为(c1,c2,…,cn),引入通道重要性因子后,根据可微分架构搜索算法(darts),x'的每个通道会与通道重要性因子相乘,为保证通道重要性因子大于0,引入了sigmoid函数来进行激活,最后的特征图x”如等式1所示;
3.根据权利要求1所述的一种基于进化算法+darts的模型剪枝方法,其特征在于,所述的步骤(2)具体包括:通道的重要性衡量需要以训练收敛的模型权重来进行衡量;因此在每次更新时,需假设当前的模型权重已达到了最优;根据darts方法,在调整模型权重因子和通道重要性因子时,满足以下关系式;
4.根据权利要求1所述的一种基于进化算法+darts的模型剪枝方法,其特征在于,所述的步骤(3)具体包括:在常用的通道剪枝方法中,当采用l1范数和l2范数计算出通道的重要性后,将会对每层的通道重要性进行排序,算法工程师依据裁剪后的模型在验证集上的性能不断的调整每层的裁剪比例,这在一定程度上会耗费算法工程师大量的时间,并且这种手工调整也很容易错过最优解;为解决此问题,本发明提出采用改进的和声搜索算法来对每层的裁剪比例进行搜索: