环境
- python 3.9
- numpy 1.24.1
- pytorch 2.0.0+cu117
一、填0与remove剪枝的差异
直接填0的剪枝:
优点:
- 保留了原始网络结构,便于实现和微调。
- 部分减少模型的计算量。
缺点:
- 零权重仍然需要存储,因此不会减少内存使用。
- 一些硬件和软件无法利用稀疏计算,从而无法提高计算效率。
直接remove的剪枝:
优点:
- 可以减少模型的计算量和内存使用。
- 可以通过减少网络容量来防止过拟合。
缺点:
- 可能会降低网络的表示能力,导致性能下降。
- 需要对网络结构进行改变,这可能会增加实现和微调的复杂性。
二、remove剪枝目的
ONNX 线上预览:地址
三、基础准备
示例代码
# -*- coding: utf-8 -