1.一种基于概率的MobileNetV1网络通道剪枝方法,其特征在于,所述方法包括以下步骤:步骤S1、给定训练集和测试集,在MobileNetV1的训练过程中,除了计算预测标签和真实标签的交叉损失函数lossds,还另外计算BN缩放因子的L1损失函数lossnorm;利用这两个损失函数进行梯度的计算,并更新MobileNetV1的参数;得到预训练模型;
步骤S2、给定参数z∈[2,4],定义Z=β‑z×|γ|;其中β·γ分别是BN层的可训练参数:偏移因子和缩放因子;并计算步骤S1的预训练模型中所有BN层每个通道的Z;
步骤S3、对于步骤S2输出的Z,如果Z小于0,则剪枝,否则不剪枝;在MobileNetV1中,其基本模块为深度可分离卷积;深度可分离卷积包括深度卷积和逐点卷积;其中,深度卷积的特性是输入通道和输出通道一一对应,某个输入通道和输出通道需要同时剪枝或者不剪枝,否则会破坏卷积的方式;对于某对输入通道和输出通道,存在4种情况:1)输入通道不剪枝,输出通道不剪枝;2)输入通道不剪枝,输出通道剪枝;3)输入通道剪枝,输出通道不剪枝;4)输入通道剪枝,输出通道剪枝;对符合第2),3),4)种情况的深度卷积进行通道剪枝,得到初步剪枝MobileNetV1模型;
步骤S4、对于步骤S3中的第3)种情况,输出通道会输出一个常数,且这个常数不受网络输入的影响;将其涉及的计算结果融合到下一层BN的偏移因子中,以减少剪枝网络准确率的下降,且融合过程不会增加额外的参数;
步骤S5、输出并保存最终的剪枝MobileNetV1模型;
在所述步骤S1中,给定训练集包括图像和对应的类别标签;损失函数的计算包括两类:
‑5
1)交叉熵损失lossds;2)L1损失lossnorm;总损失Loss为两者加权和losscb+10 ×lossnorm;基于总损失计算反向传播需要的梯度,并进行MobileNetV1模型的参数的更新,得到预训练MobileNetV1模型。