网络剪枝

整理网络剪枝(network pruning)相关的文章、论文和实现

概念

  • 网络剪枝(network pruning):通过裁剪神经元或者滤波器的方式来实现加速卷积神经网络运行速度以及减少网络占用开销的目的;
  • 典型的剪枝算法可分为三阶段流水线,即训练(大模型)、剪枝和微调(小模型);
  • 剪枝算法的本质是网络架构搜索(人工版本NAS(Neural Architecture Search)),而不是继承大模型的重要权重。

文章

论文

实现

  • 实现
    • DingXiaoH/ResRep
    • 2020年论文Lossless CNN Channel Pruning via Decoupling Remembering and Forgetting的官方实现,基于Pytorch训练框架
    • apxlwl/MobileNet-v2-pruning
    • 2019年发布的网络剪枝仓库,尝试了不少剪枝算法(L1-Norm/Slimming/AutoSlim
    • foolwood/pytorch-slimming
    • 2017年发布的网络剪枝仓库,复现了论文Learning Efficient Convolutional Networks through Network Slimming
    • Eric-mingjie/network-slimming
    • 2017年论文Learning Efficient Convolutional Networks through Network Slimming的官方实现,基于Pytorch训练框架
    • wenwei202/caffe
    • 2016年论文Learning Structured Sparsity in Deep Neural Networks的官方实现,基于CAFFE训练框架
  • 自定义
    • ZJCV/NetworkSlimming
    • 复现了论文Learning Efficient Convolutional Networks through Network Slimming
    • ZJCV/SSL
    • 复现了论文Learning Structured Sparsity in Deep Neural Networks