剪枝 Pruning | 剪枝系统性的介绍(持续更新)

本文详细介绍了如何在Yolov7模型中实施剪枝技术,包括不同类型的剪枝策略(如基于权重大小、批量归一化缩放因子和二阶导数),选择剪枝颗粒度,确定剪枝比例的方法,以及微调训练以优化性能。重点讨论了如何在资源有限的情况下提高模型效率和压缩率。

yolov7示例 | 如何写一个剪枝代码?

yolov7示例 | 如何写一个剪枝代码?

1. 剪枝的介绍 (Introduction to Pruning)

什么是剪枝 (What is pruning)?

在这里插入图片描述
在这里插入图片描述

如何用公式定义剪枝 (How should we formulate pruning)?

在这里插入图片描述

2. 选择剪枝的颗粒度 (Determine the Pruning Granularity)

  • 确定剪枝的标准。常见的标准包括基于权重大小的剪枝、基于重要性得分的剪枝(如梯度或二阶导数),或结构化剪枝(去除整个神经元或通道)。
  • 考虑剪枝的具体目标,例如模型压缩、推理加速或内存减少。

Pruning can be performed at different granularities, from structured to non-structured

  • 剪枝 权重 的记住这张图
    在这里插入图片描述
  • 剪枝特征图的记住这张图
    在这里插入图片描述

3. 选择在哪里剪枝 (Determine the Pruning Criterion)

  • 应该剪枝哪个神经元或者突触呢? What synapses/neurons should we prune?
    选择与标准相符的剪枝方法或算法。例如,可以使用L1或L2正则化进行基于权重大小的剪枝,也可以使用通道剪枝等技术进行结构化剪枝。
    在这里插入图片描述

3.1 应该剪哪个突触呢? What sysnapses should we prune? (适合CNN)(权重剪枝)

3.1.1 基于权重大小的剪枝 (Magnitude-based pruning)

“Magnitude-based pruning” 它基于神经网络中的参数(通常是权重)的大小来确定哪些参数应该被剪枝,以减小模型的大小和复杂性。该技术的主要思想是去除那些绝对值较小的权重,因为它们对模型的贡献相对较小,而保留那些较大的权重,以维持模

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值