050、YOLOv11轻量化稀疏——BN层γ系数稀疏训练的Slimming剪枝方法即插即用实现与模型压缩一个让我失眠的部署问题去年有个项目,客户要求目标检测模型在Jetson Nano上跑到30FPS。YOLOv11n跑起来勉强25FPS,差那么一口气。试了TensorRT、INT8量化,精度掉得我头皮发麻。后来翻到一篇2017年的老文章——Network Slimming,思路简单粗暴:对BN层的γ系数加L1正则,训练完把γ接近0的通道直接砍掉。试了一把,模型体积砍了40%,推理速度提升35%,精度只掉了0.3个点。那晚睡得特别香。BN层γ系数到底在干什么Batch Normalization的公式大家都会背:y = γ * (x - μ)/σ + β。γ和β是可学习参数,每个通道对应一个γ。γ的大小直接反映了这个通道对输出的贡献程度——γ接近0的通道,输出基本就是β,相当于这个通道在“摸鱼”。Slimming的核心思想:训练时对γ施加L1稀疏约束,让不重要的通道γ自动趋近于0。剪枝时设定一个阈值,把γ小于阈值的通道连同对应的卷积核一起干掉。模型变小了,但结构还是完整的,不需要特殊硬件支持。代码实现:从训练到剪枝的完整链路第一步:在YOLOv11中注入稀疏训练YOLOv11的BN层藏在Conv模块里。我们需要在训练时对γ系数施加额外的L1惩罚。这里踩过坑——不能直接改BN层的forward,那样会